Documentation
¶
Index ¶
- func NewDatabase(tdb *triedb.Database, snap *corethsnap.Tree) state.Database
- func NewDatabaseWithConfig(db ethdb.Database, config *triedb.Config) state.Database
- func NewDatabaseWithNodeDB(db ethdb.Database, tdb *triedb.Database) state.Database
- type StateDB
- func (s *StateDB) AddBalance(addr common.Address, amount *uint256.Int, reason tracing.BalanceChangeReason) uint256.Int
- func (s *StateDB) AddBalanceMultiCoin(addr common.Address, coinID common.Hash, amount *big.Int)
- func (s *StateDB) AddBalanceSimple(addr common.Address, amount *uint256.Int)
- func (s *StateDB) GetBalanceMultiCoin(addr common.Address, coinID common.Hash) *big.Int
- func (s *StateDB) GetPredicateStorageSlots(address common.Address, index int) ([]byte, bool)
- func (s *StateDB) GetStateWithOptions(addr common.Address, hash common.Hash, _ ...stateconf.StateDBStateOption) common.Hash
- func (s *StateDB) Prepare(rules params.Rules, sender, coinbase common.Address, dst *common.Address, ...)
- func (s *StateDB) SetCode(addr common.Address, code []byte, reason tracing.CodeChangeReason) []byte
- func (s *StateDB) SetNonce(addr common.Address, nonce uint64, reason tracing.NonceChangeReason)
- func (s *StateDB) SetNonceSimple(addr common.Address, nonce uint64)
- func (s *StateDB) SetState(addr common.Address, key, value common.Hash) common.Hash
- func (s *StateDB) SetStateWithOptions(addr common.Address, key, value common.Hash, _ ...stateconf.StateDBStateOption)
- func (s *StateDB) SubBalance(addr common.Address, amount *uint256.Int, reason tracing.BalanceChangeReason) uint256.Int
- func (s *StateDB) SubBalanceMultiCoin(addr common.Address, coinID common.Hash, amount *big.Int)
- func (s *StateDB) TxHash() common.Hash
- type WorkerPool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewDatabase ¶
NewDatabase creates a new state database using the standard geth API. The coreth snapshot.Tree is not directly compatible with geth's snapshot.Tree, so we pass nil and let the state package handle it.
func NewDatabaseWithConfig ¶
NewDatabaseWithConfig creates a new state database with the given triedb config.
Types ¶
type StateDB ¶
func New ¶
New creates a new StateDB with the given state.StateDB, wrapping it with additional functionality.
func (*StateDB) AddBalance ¶
func (s *StateDB) AddBalance(addr common.Address, amount *uint256.Int, reason tracing.BalanceChangeReason) uint256.Int
AddBalance wraps the underlying StateDB's AddBalance.
func (*StateDB) AddBalanceMultiCoin ¶
AddBalanceMultiCoin adds amount to the account associated with addr.
func (*StateDB) AddBalanceSimple ¶
AddBalanceSimple adds balance without returning the result.
func (*StateDB) GetBalanceMultiCoin ¶
Retrieve the balance from the given address or 0 if object not found
func (*StateDB) GetPredicateStorageSlots ¶
GetPredicateStorageSlots returns the storage slots associated with the address, index pair. A list of access tuples can be included within transaction types post EIP-2930. The address is declared directly on the access tuple and the index is the i'th occurrence of an access tuple with the specified address.
Ex. AccessList[[AddrA, Predicate1], [AddrB, Predicate2], [AddrA, Predicate3]] In this case, the caller could retrieve predicates 1-3 with the following calls: GetPredicateStorageSlots(AddrA, 0) -> Predicate1 GetPredicateStorageSlots(AddrB, 0) -> Predicate2 GetPredicateStorageSlots(AddrA, 1) -> Predicate3
func (*StateDB) GetStateWithOptions ¶
func (s *StateDB) GetStateWithOptions(addr common.Address, hash common.Hash, _ ...stateconf.StateDBStateOption) common.Hash
GetStateWithOptions wraps GetState accepting optional stateconf options for compatibility with the contract.StateDB interface.
func (*StateDB) SetNonceSimple ¶
SetNonceSimple sets nonce without specifying a reason.
func (*StateDB) SetStateWithOptions ¶
func (s *StateDB) SetStateWithOptions(addr common.Address, key, value common.Hash, _ ...stateconf.StateDBStateOption)
SetStateWithOptions wraps SetState accepting optional stateconf options for compatibility with the contract.StateDB interface.
func (*StateDB) SubBalance ¶
func (s *StateDB) SubBalance(addr common.Address, amount *uint256.Int, reason tracing.BalanceChangeReason) uint256.Int
SubBalance wraps the underlying StateDB's SubBalance.
func (*StateDB) SubBalanceMultiCoin ¶
SubBalance subtracts amount from the account associated with addr.
type WorkerPool ¶
type WorkerPool struct {
*utils.BoundedWorkers
}
WorkerPool is a bounded worker pool for concurrent operations.
func NewWorkerPool ¶
func NewWorkerPool(workers int) *WorkerPool
NewWorkerPool creates a new worker pool with the specified number of workers.