Storage Rules
Access to contract storage is restricted in some instances.
STO-010 Account storage
Permanent storage access to "account" storage with SLOAD
and SSTORE
instructions is always allowed.
STO-021 Account already exists
Access to the associated storage of an account in an external contract is allowed if the account already exists.
STO-022 Staked Factory
Access to associated storage of an account in an external contract is allowed if there is an initCode
and the factory
contract is staked.
STO-031 Paymaster and factory storage
Paymaster and factory entities are allowed to access their own storage if they are staked.
STO-032 write to storage associated with paymasters and factories
Read/write access to storage slots in non-entity contracts is allowed if that storage slot is associated with the entity.
STO-033 Read-only storage access
Staked paymasters and factories are allowed ready-only access to non-entity contracts.
STO-040 Storage access with multiple user operations
UserOperations
may not use an entity address (factory
/paymaster
/aggregator
) that is used as an "account" in another UserOperation
in the mempool.
This means that paymaster and factory contracts cannot practically be an "account" contract.
STO-041 Storage access to senders in mempool
A contract whose associated storage slot is accessed during a UserOperation
may not be an address of a sender
in another UserOperation
in the mempool.
Updated 10 months ago