Documentation ¶
Index ¶
- type MergedNodeSet
- type Node
- type NodeSet
- func (set *NodeSet) AddLeaf(parent common.Hash, blob []byte)
- func (set *NodeSet) AddNode(path []byte, n *Node)
- func (set *NodeSet) ForEachWithOrder(callback func(path string, n *Node))
- func (set *NodeSet) Hashes() []common.Hash
- func (set *NodeSet) Merge(owner common.Hash, nodes map[string]*Node) error
- func (set *NodeSet) Size() (int, int)
- func (set *NodeSet) Summary() string
- type ProofList
- type ProofSet
- func (db *ProofSet) DataSize() int
- func (db *ProofSet) Delete(key []byte) error
- func (db *ProofSet) Get(key []byte) ([]byte, error)
- func (db *ProofSet) Has(key []byte) (bool, error)
- func (db *ProofSet) KeyCount() int
- func (db *ProofSet) List() ProofList
- func (db *ProofSet) Put(key []byte, value []byte) error
- func (db *ProofSet) Store(target ethdb.KeyValueWriter)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MergedNodeSet ¶
MergedNodeSet represents a merged node set for a group of tries.
func NewMergedNodeSet ¶
func NewMergedNodeSet() *MergedNodeSet
NewMergedNodeSet initializes an empty merged set.
func NewWithNodeSet ¶
func NewWithNodeSet(set *NodeSet) *MergedNodeSet
NewWithNodeSet constructs a merged nodeset with the provided single set.
func (*MergedNodeSet) Flatten ¶ added in v1.12.1
func (set *MergedNodeSet) Flatten() map[common.Hash]map[string]*Node
Flatten returns a two-dimensional map for internal nodes.
func (*MergedNodeSet) Merge ¶
func (set *MergedNodeSet) Merge(other *NodeSet) error
Merge merges the provided dirty nodes of a trie into the set. The assumption is held that no duplicated set belonging to the same trie will be merged twice.
type Node ¶
type Node struct { Hash common.Hash // Node hash, empty for deleted node Blob []byte // Encoded node blob, nil for the deleted node }
Node is a wrapper which contains the encoded blob of the trie node and its node hash. It is general enough that can be used to represent trie node corresponding to different trie implementations.
func NewDeleted ¶ added in v1.12.1
func NewDeleted() *Node
NewDeleted constructs a node which is deleted.
type NodeSet ¶
type NodeSet struct { Owner common.Hash Leaves []*leaf Nodes map[string]*Node // contains filtered or unexported fields }
NodeSet contains a set of nodes collected during the commit operation. Each node is keyed by path. It's not thread-safe to use.
func NewNodeSet ¶
NewNodeSet initializes a node set. The owner is zero for the account trie and the owning account address hash for storage tries.
func (*NodeSet) AddLeaf ¶
AddLeaf adds the provided leaf node into set. TODO(rjl493456442) how can we get rid of it?
func (*NodeSet) ForEachWithOrder ¶
ForEachWithOrder iterates the nodes with the order from bottom to top, right to left, nodes with the longest path will be iterated first.
func (*NodeSet) Hashes ¶
Hashes returns the hashes of all updated nodes. TODO(rjl493456442) how can we get rid of it?
type ProofList ¶ added in v1.13.3
ProofList stores an ordered list of trie nodes. It implements ethdb.KeyValueWriter.
func (ProofList) DataSize ¶ added in v1.13.3
DataSize returns the aggregated data size of nodes in the list
func (*ProofList) Delete ¶ added in v1.13.3
Delete panics as there's no reason to remove a node from the list.
func (ProofList) Store ¶ added in v1.13.3
func (n ProofList) Store(db ethdb.KeyValueWriter)
Store writes the contents of the list to the given database
type ProofSet ¶ added in v1.13.3
type ProofSet struct {
// contains filtered or unexported fields
}
ProofSet stores a set of trie nodes. It implements trie.Database and can also act as a cache for another trie.Database.
func NewProofSet ¶ added in v1.13.3
func NewProofSet() *ProofSet
NewProofSet creates an empty node set
func (*ProofSet) DataSize ¶ added in v1.13.3
DataSize returns the aggregated data size of nodes in the set
func (*ProofSet) Store ¶ added in v1.13.3
func (db *ProofSet) Store(target ethdb.KeyValueWriter)
Store writes the contents of the set to the given database