Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Apply ¶
func Apply(prevRoot common.Hash, postRoot common.Hash, accounts map[common.Address][]byte, storages map[common.Address]map[common.Hash][]byte, loader TrieLoader) (map[common.Hash]map[string]*trienode.Node, error)
Apply traverses the provided state diffs, apply them in the associated post-state and return the generated dirty trie nodes. The state can be loaded via the provided trie loader.
Types ¶
type Set ¶
type Set struct {
	Accounts   map[common.Address][]byte                 // Mutated account set, nil means the account was not present
	Storages   map[common.Address]map[common.Hash][]byte // Mutated storage set, nil means the slot was not present
	Incomplete map[common.Address]struct{}               // Indicator whether the storage is incomplete due to large deletion
	// contains filtered or unexported fields
}
    Set represents a collection of mutated states during a state transition. The value refers to the original content of state before the transition is made. Nil means that the state was not present previously.
func New ¶
func New(accounts map[common.Address][]byte, storages map[common.Address]map[common.Hash][]byte, incomplete map[common.Address]struct{}) *Set
New constructs the state set with provided data.
func (*Set) Size ¶
func (s *Set) Size() common.StorageSize
Size returns the approximate memory size occupied by the set.
type Trie ¶
type Trie interface {
	// Get returns the value for key stored in the trie.
	Get(key []byte) ([]byte, error)
	// Update associates key with value in the trie.
	Update(key, value []byte) error
	// Delete removes any existing value for key from the trie.
	Delete(key []byte) error
	// Commit the trie and returns a set of dirty nodes generated along with
	// the new root hash.
	Commit(collectLeaf bool) (common.Hash, *trienode.NodeSet, error)
}
    Trie is an Ethereum state trie, can be implemented by Ethereum Merkle Patricia tree or Verkle tree.
type TrieLoader ¶
type TrieLoader interface {
	// OpenTrie opens the main account trie.
	OpenTrie(root common.Hash) (Trie, error)
	// OpenStorageTrie opens the storage trie of an account.
	OpenStorageTrie(stateRoot common.Hash, addrHash, root common.Hash) (Trie, error)
}
    TrieLoader wraps functions to load tries.
 Click to show internal directories. 
   Click to hide internal directories.