Versions in this module Expand all Collapse all v1 v1.1.4 Jul 15, 2023 v1.1.3 Jun 27, 2023 v1.1.2 May 22, 2023 v1.1.0 Apr 25, 2023retracted Changes in this version + const TNil + const TNode + const TNotLoaded + const TValue + var FirstPossibleBptKey = [32]byte + func GetChildrenNodeKeys(nodeKey [32]byte) (left, right [32]byte, ok bool) + func GetHash(e Entry) []byte + func GetHtKey(nodeKey [32]byte) (height int, key [32]byte, ok bool) + func GetNodeHash(n *BptNode) + func GetNodeKey(height int, key [32]byte) (nodeKey [32]byte, ok bool) + func ReadSnapshot(file ioutil2.SectionReader, ...) error + type BPT struct + DirtyMap map[[32]byte]*BptNode + Manager *Manager + Mask int + MaxHeight int + Power int + Root *BptNode + RootHash [32]byte + func NewBPT(manager *Manager) *BPT + func (b *BPT) Clean(node *BptNode) + func (b *BPT) CollectReceipt(BIdx, bit byte, node *BptNode, key [32]byte, r *merkle.Receipt) (hash []byte) + func (b *BPT) Dirty(node *BptNode) + func (b *BPT) EnsureRootHash() + func (b *BPT) Equal(b2 *BPT) (equal bool) + func (b *BPT) ForEach(fn func(key storage.Key, hash [32]byte) error) error + func (b *BPT) Get(node *BptNode, key [32]byte) (highest *BptNode, entry *Entry, found bool) + func (b *BPT) GetDirtyList() (list []*BptNode) + func (b *BPT) GetRange(startKey [32]byte, count int) (values []*Value, lastKey [32]byte) + func (b *BPT) GetReceipt(chainID [32]byte) *merkle.Receipt + func (b *BPT) GetRoot() (root *BptNode) + func (b *BPT) Insert(key, hash [32]byte) + func (b *BPT) IsDirty(node *BptNode) bool + func (b *BPT) LoadNext(BIdx, bit byte, node *BptNode, key [32]byte) + func (b *BPT) LoadSnapshot(file ioutil2.SectionReader, ...) error + func (b *BPT) Marshal() (data []byte) + func (b *BPT) MarshalByteBlock(borderNode *BptNode) (data []byte) + func (b *BPT) MarshalEntry(entry Entry, data []byte) []byte + func (b *BPT) NewNode(key [32]byte, parent *BptNode) (node *BptNode) + func (b *BPT) NewValue(parent *BptNode, key, hash [32]byte) (value *Value) + func (b *BPT) Print(entry Entry) + func (b *BPT) SaveSnapshot(file io.WriteSeeker, ...) error + func (b *BPT) UnMarshal(data []byte) (newData []byte) + func (b *BPT) UnMarshalByteBlock(borderNode *BptNode, data []byte) []byte + func (b *BPT) UnMarshalEntry(parent *BptNode, data []byte) (Entry, []byte) + func (b *BPT) Update() error + func (b *BPT) WalkRange(found *bool, node *BptNode, count int, key [32]byte, values []*Value) []*Value + type BptNode struct + Hash [32]byte + Height int + Left Entry + NodeKey [32]byte + Parent *BptNode + Right Entry + func (n *BptNode) Equal(entry Entry) (equal bool) + func (n *BptNode) GetHash() []byte + func (n *BptNode) Marshal() (data []byte) + func (n *BptNode) T() int + func (n *BptNode) UnMarshal(data []byte) []byte + type Entry interface + Equal func(entry Entry) bool + GetHash func() []byte + Marshal func() []byte + T func() int + UnMarshal func(data []byte) []byte + type Manager struct + Bpt *BPT + DBManager storage.KeyValueTxn + Dirty []*BptNode + func NewBPTManager(dbManager storage.KeyValueTxn) *Manager + func (m *Manager) FlushNode(node *BptNode) error + func (m *Manager) GetRootHash() [32]byte + func (m *Manager) InsertKV(key, value [32]byte) + func (m *Manager) LoadNode(node *BptNode) + type NotLoaded struct + func (n *NotLoaded) Equal(entry Entry) bool + func (n *NotLoaded) GetHash() []byte + func (n *NotLoaded) Marshal() []byte + func (n *NotLoaded) T() int + func (n *NotLoaded) UnMarshal(data []byte) []byte + type Value struct + Hash [32]byte + Key [32]byte + func (v *Value) Equal(entry Entry) (equal bool) + func (v *Value) GetHash() []byte + func (v *Value) Marshal() []byte + func (v *Value) T() int + func (v *Value) UnMarshal(data []byte) []byte v1.1.0-rc.4 May 19, 2023 v1.1.0-rc.3 May 16, 2023 v1.1.0-rc.2.1 Apr 25, 2023 v1.1.0-rc.2 Apr 23, 2023 v1.1.0-rc.1 Mar 30, 2023 v1.1.0-alpha.4 Mar 10, 2023 v1.1.0-alpha.3 Mar 2, 2023 v1.1.0-alpha.2 Feb 22, 2023 v1.1.0-alpha.1 Feb 5, 2023 v1.1.0-1 Dec 8, 2022