Labels: medium-difficulty, solidity, storage, gasguard
Difficulty: Medium
Module: contracts/storage/
🧠 Concept
Create a utility function that packs reads from multiple contiguous storage slots into a single dynamic bytes32[] output buffer via Yul loops.
⚠️ Problem
Querying multiple non-contiguous state variables across client applications requires multiple RPC requests or standard abi.encode bloat.
📁 Implementation Scope
contracts/storage/StorageSlotFetcher.sol
test/storage/StorageSlotFetcher.test.ts
🛠️ Requirements
- Accept array of slot keys (
bytes32[] slots).
- Iterate through slots using low-level
sload in Yul and construct returned buffer directly in memory.
🎯 Acceptance Criteria
Labels:
medium-difficulty,solidity,storage,gasguardDifficulty: Medium
Module:
contracts/storage/🧠 Concept
Create a utility function that packs reads from multiple contiguous storage slots into a single dynamic
bytes32[]output buffer via Yul loops.Querying multiple non-contiguous state variables across client applications requires multiple RPC requests or standard
abi.encodebloat.📁 Implementation Scope
contracts/storage/StorageSlotFetcher.soltest/storage/StorageSlotFetcher.test.ts🛠️ Requirements
bytes32[] slots).sloadin Yul and construct returned buffer directly in memory.🎯 Acceptance Criteria