module greed.memory.partial_concrete_storage
class PartialConcreteStorage
This class represents a partial concrete storage. When using the partial concrete storage, reads from the contract storage (SLOADs) are initialized with the concrete value on-chain (at the given block number).
To use this, we need a web3 connection to the blockchain, the address of the contract and the block number.
method __init__
Initialize the partial concrete storage.
Args:
tag
: The unique identifier of the storagevalue_sort
: The sort of the values stored in the storagestate
: The SimState associated with this storagepartial_init
: If true, the storage is partially initialized (used for copy)
Raises:
GreedException
: If the partial concrete storage is not initialized with the contract address and block numberAssertionError
: If the partial concrete storage is not initialized with the tag and value sortAssertionError
: If w3 is not connected
property constraints
property layer_level
method add_constraint
Add a constraint to the storage.
Args:
formula
: The constraint to add
method add_constraints
Add a list of constraints to the storage.
Args:
formulas
: The list of constraints to add
method copy
Copy the partial concrete storage.
Args:
new_state
: The new SimState associated with the new storage
This file was automatically generated via lazydocs.