db

package
v0.0.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 8, 2022 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Database

type Database struct {
	sync.Mutex
	// contains filtered or unexported fields
}

Database is an abstraction of the header trie and the object storage.

func (*Database) ContainsSnapShotHdrNode

func (db *Database) ContainsSnapShotHdrNode(txn *badger.Txn, root []byte) (bool, error)

func (*Database) CountCommittedBlockHeaders

func (db *Database) CountCommittedBlockHeaders(txn *badger.Txn) (int, error)

func (*Database) CountPendingHdrLeafKeys

func (db *Database) CountPendingHdrLeafKeys(txn *badger.Txn) (int, error)

func (*Database) CountPendingHdrNodeKeys

func (db *Database) CountPendingHdrNodeKeys(txn *badger.Txn) (int, error)

func (*Database) CountPendingLeafKeys

func (db *Database) CountPendingLeafKeys(txn *badger.Txn) (int, error)

func (*Database) CountPendingNodeKeys

func (db *Database) CountPendingNodeKeys(txn *badger.Txn) (int, error)

func (*Database) DB

func (db *Database) DB() *badger.DB

func (*Database) DeleteBeforeHistoricRoundState

func (db *Database) DeleteBeforeHistoricRoundState(txn *badger.Txn, height uint32, maxnum int) error

func (*Database) DeleteCommittedBlockHeader

func (db *Database) DeleteCommittedBlockHeader(txn *badger.Txn, height uint32) error

func (*Database) DeletePendingHdrLeafKey

func (db *Database) DeletePendingHdrLeafKey(txn *badger.Txn, hdrLeafKey []byte) error

func (*Database) DeletePendingHdrNodeKey

func (db *Database) DeletePendingHdrNodeKey(txn *badger.Txn, nodeKey []byte) error

func (*Database) DeletePendingLeafKey

func (db *Database) DeletePendingLeafKey(txn *badger.Txn, leafKey []byte) error

func (*Database) DeletePendingNodeKey

func (db *Database) DeletePendingNodeKey(txn *badger.Txn, nodeKey []byte) error

func (*Database) DropPendingHdrLeafKeys

func (db *Database) DropPendingHdrLeafKeys(txn *badger.Txn) error

func (*Database) DropPendingHdrNodeKeys

func (db *Database) DropPendingHdrNodeKeys(txn *badger.Txn) error

func (*Database) DropPendingLeafKeys

func (db *Database) DropPendingLeafKeys(txn *badger.Txn) error

func (*Database) DropPendingNodeKeys

func (db *Database) DropPendingNodeKeys(txn *badger.Txn) error

func (*Database) GarbageCollect

func (db *Database) GarbageCollect() error

func (*Database) GetBroadcastBlockHeader

func (db *Database) GetBroadcastBlockHeader(txn *badger.Txn) (*objs.BlockHeader, error)

func (*Database) GetBroadcastNextHeight

func (db *Database) GetBroadcastNextHeight(txn *badger.Txn) (*objs.NextHeight, error)

func (*Database) GetBroadcastNextRound

func (db *Database) GetBroadcastNextRound(txn *badger.Txn) (*objs.NextRound, error)

func (*Database) GetBroadcastPreCommit

func (db *Database) GetBroadcastPreCommit(txn *badger.Txn) (*objs.PreCommit, error)

func (*Database) GetBroadcastPreCommitNil

func (db *Database) GetBroadcastPreCommitNil(txn *badger.Txn) (*objs.PreCommitNil, error)

func (*Database) GetBroadcastPreVote

func (db *Database) GetBroadcastPreVote(txn *badger.Txn) (*objs.PreVote, error)

func (*Database) GetBroadcastPreVoteNil

func (db *Database) GetBroadcastPreVoteNil(txn *badger.Txn) (*objs.PreVoteNil, error)

func (*Database) GetBroadcastProposal

func (db *Database) GetBroadcastProposal(txn *badger.Txn) (*objs.Proposal, error)

func (*Database) GetBroadcastRCert

func (db *Database) GetBroadcastRCert(txn *badger.Txn) (*objs.RCert, error)

func (*Database) GetCommittedBlockHeader

func (db *Database) GetCommittedBlockHeader(txn *badger.Txn, height uint32) (*objs.BlockHeader, error)

func (*Database) GetCommittedBlockHeaderByHash

func (db *Database) GetCommittedBlockHeaderByHash(txn *badger.Txn, hash []byte) (*objs.BlockHeader, error)

func (*Database) GetCommittedBlockHeaderRaw

func (db *Database) GetCommittedBlockHeaderRaw(txn *badger.Txn, height uint32) ([]byte, error)

func (*Database) GetCommittedBlockHeaderWithProof

func (db *Database) GetCommittedBlockHeaderWithProof(txn *badger.Txn, root []byte, blockHeight uint32) (*objs.BlockHeader, []byte, error)

func (*Database) GetCurrentRoundState

func (db *Database) GetCurrentRoundState(txn *badger.Txn, vaddr []byte) (*objs.RoundState, error)

func (*Database) GetEncryptedStore

func (db *Database) GetEncryptedStore(txn *badger.Txn, name []byte) (*objs.EncryptedStore, error)

func (*Database) GetHeaderRootForProposal

func (db *Database) GetHeaderRootForProposal(txn *badger.Txn) ([]byte, error)

func (*Database) GetHeaderTrieRoot

func (db *Database) GetHeaderTrieRoot(txn *badger.Txn, height uint32) ([]byte, error)

func (*Database) GetHistoricRoundState

func (db *Database) GetHistoricRoundState(txn *badger.Txn, vaddr []byte, height, round uint32) (*objs.RoundState, error)

func (*Database) GetLastSnapshot

func (db *Database) GetLastSnapshot(txn *badger.Txn) (*objs.BlockHeader, error)

func (*Database) GetMostRecentCommittedBlockHeaderFastSync

func (db *Database) GetMostRecentCommittedBlockHeaderFastSync(txn *badger.Txn) (*objs.BlockHeader, error)

func (*Database) GetOwnState

func (db *Database) GetOwnState(txn *badger.Txn) (*objs.OwnState, error)

func (*Database) GetOwnValidatingState

func (db *Database) GetOwnValidatingState(txn *badger.Txn) (*objs.OwnValidatingState, error)

func (*Database) GetPendingHdrLeafKey

func (db *Database) GetPendingHdrLeafKey(txn *badger.Txn, hdrLeafKey []byte) ([]byte, error)

func (*Database) GetPendingHdrLeafKeysIter

func (db *Database) GetPendingHdrLeafKeysIter(txn *badger.Txn) *PendingHdrLeafIter

func (*Database) GetPendingHdrNodeKey

func (db *Database) GetPendingHdrNodeKey(txn *badger.Txn, nodeKey []byte) (int, error)

func (*Database) GetPendingHdrNodeKeysIter

func (db *Database) GetPendingHdrNodeKeysIter(txn *badger.Txn) *PendingHdrNodeIter

func (*Database) GetPendingLeafKey

func (db *Database) GetPendingLeafKey(txn *badger.Txn, leafKey []byte) ([]byte, error)

func (*Database) GetPendingLeafKeysIter

func (db *Database) GetPendingLeafKeysIter(txn *badger.Txn) *PendingLeafIter

func (*Database) GetPendingNodeKey

func (db *Database) GetPendingNodeKey(txn *badger.Txn, nodeKey []byte) (int, error)

func (*Database) GetPendingNodeKeysIter

func (db *Database) GetPendingNodeKeysIter(txn *badger.Txn) *PendingNodeIter

func (*Database) GetSafeToProceed

func (db *Database) GetSafeToProceed(txn *badger.Txn, height uint32) (bool, error)

func (*Database) GetSnapShotHdrNode

func (db *Database) GetSnapShotHdrNode(txn *badger.Txn, root []byte) ([]byte, error)

func (*Database) GetSnapshotBlockHeader

func (db *Database) GetSnapshotBlockHeader(txn *badger.Txn, height uint32) (*objs.BlockHeader, error)

func (*Database) GetSnapshotByHeight

func (db *Database) GetSnapshotByHeight(txn *badger.Txn, height uint32) (*objs.BlockHeader, error)

Gets the latest snapshot starting from the AliceNet 'height'.

func (*Database) GetTxCacheItem

func (db *Database) GetTxCacheItem(txn *badger.Txn, height uint32, txHash []byte) ([]byte, error)

func (*Database) GetTxCacheSet

func (db *Database) GetTxCacheSet(txn *badger.Txn, height uint32) ([][]byte, [][]byte, error)

func (*Database) GetValidatorSet

func (db *Database) GetValidatorSet(txn *badger.Txn, height uint32) (*objs.ValidatorSet, error)

func (*Database) GetValidatorSetPostApplication

func (db *Database) GetValidatorSetPostApplication(txn *badger.Txn, height uint32) (*objs.ValidatorSet, bool, error)

Get a "validator set" flagged to be applied at a certain "height".

func (*Database) GetValue

func (db *Database) GetValue(txn *badger.Txn, key []byte) ([]byte, error)

func (*Database) Init

func (db *Database) Init(DB *badger.DB)

Init will initialize the database.

func (*Database) MakeHeaderTrieKeyFromHeight

func (db *Database) MakeHeaderTrieKeyFromHeight(height uint32) []byte

func (*Database) SetBroadcastBlockHeader

func (db *Database) SetBroadcastBlockHeader(txn *badger.Txn, v *objs.BlockHeader) error

func (*Database) SetBroadcastNextHeight

func (db *Database) SetBroadcastNextHeight(txn *badger.Txn, v *objs.NextHeight) error

func (*Database) SetBroadcastNextRound

func (db *Database) SetBroadcastNextRound(txn *badger.Txn, v *objs.NextRound) error

func (*Database) SetBroadcastPreCommit

func (db *Database) SetBroadcastPreCommit(txn *badger.Txn, v *objs.PreCommit) error

func (*Database) SetBroadcastPreCommitNil

func (db *Database) SetBroadcastPreCommitNil(txn *badger.Txn, v *objs.PreCommitNil) error

func (*Database) SetBroadcastPreVote

func (db *Database) SetBroadcastPreVote(txn *badger.Txn, v *objs.PreVote) error

func (*Database) SetBroadcastPreVoteNil

func (db *Database) SetBroadcastPreVoteNil(txn *badger.Txn, v *objs.PreVoteNil) error

func (*Database) SetBroadcastProposal

func (db *Database) SetBroadcastProposal(txn *badger.Txn, v *objs.Proposal) error

func (*Database) SetBroadcastRCert

func (db *Database) SetBroadcastRCert(txn *badger.Txn, v *objs.RCert) error

func (*Database) SetBroadcastTransaction

func (db *Database) SetBroadcastTransaction(txn *badger.Txn, v []byte) error

func (*Database) SetCommittedBlockHeader

func (db *Database) SetCommittedBlockHeader(txn *badger.Txn, v *objs.BlockHeader) error

func (*Database) SetCommittedBlockHeaderFastSync

func (db *Database) SetCommittedBlockHeaderFastSync(txn *badger.Txn, v *objs.BlockHeader) error

func (*Database) SetCurrentRoundState

func (db *Database) SetCurrentRoundState(txn *badger.Txn, v *objs.RoundState) error

func (*Database) SetEncryptedStore

func (db *Database) SetEncryptedStore(txn *badger.Txn, v *objs.EncryptedStore) error

func (*Database) SetHistoricRoundState

func (db *Database) SetHistoricRoundState(txn *badger.Txn, v *objs.RoundState) error

func (*Database) SetOwnState

func (db *Database) SetOwnState(txn *badger.Txn, v *objs.OwnState) error

func (*Database) SetOwnValidatingState

func (db *Database) SetOwnValidatingState(txn *badger.Txn, v *objs.OwnValidatingState) error

func (*Database) SetPendingHdrLeafKey

func (db *Database) SetPendingHdrLeafKey(txn *badger.Txn, hdrLeafKey, value []byte) error

func (*Database) SetPendingHdrNodeKey

func (db *Database) SetPendingHdrNodeKey(txn *badger.Txn, nodeKey []byte, layer int) error

func (*Database) SetPendingLeafKey

func (db *Database) SetPendingLeafKey(txn *badger.Txn, leafKey, value []byte) error

func (*Database) SetPendingNodeKey

func (db *Database) SetPendingNodeKey(txn *badger.Txn, nodeKey []byte, layer int) error

func (*Database) SetSafeToProceed

func (db *Database) SetSafeToProceed(txn *badger.Txn, height uint32, isSafe bool) error

func (*Database) SetSnapShotHdrNode

func (db *Database) SetSnapShotHdrNode(txn *badger.Txn, batch, root []byte, layer int) ([][]byte, int, []trie.LeafNode, error)

func (*Database) SetSnapshotBlockHeader

func (db *Database) SetSnapshotBlockHeader(txn *badger.Txn, v *objs.BlockHeader) error

func (*Database) SetTxCacheItem

func (db *Database) SetTxCacheItem(txn *badger.Txn, height uint32, txHash, tx []byte) error

func (*Database) SetValidatorSet

func (db *Database) SetValidatorSet(txn *badger.Txn, v *objs.ValidatorSet) error

func (*Database) SetValidatorSetPostApplication

func (db *Database) SetValidatorSetPostApplication(txn *badger.Txn, v *objs.ValidatorSet, height uint32) error

Adds a new validator set in a different db entry that it's not being used by the chain. The goal of this function is to set a validator set that will be applied in a block that we don't currently have in our db.

func (*Database) SetValue

func (db *Database) SetValue(txn *badger.Txn, key, value []byte) error

func (*Database) SubscribeBroadcastBlockHeader

func (db *Database) SubscribeBroadcastBlockHeader(ctx context.Context, cb func([]byte) error)

func (*Database) SubscribeBroadcastNextHeight

func (db *Database) SubscribeBroadcastNextHeight(ctx context.Context, cb func([]byte) error)

func (*Database) SubscribeBroadcastNextRound

func (db *Database) SubscribeBroadcastNextRound(ctx context.Context, cb func([]byte) error)

func (*Database) SubscribeBroadcastPreCommit

func (db *Database) SubscribeBroadcastPreCommit(ctx context.Context, cb func([]byte) error)

func (*Database) SubscribeBroadcastPreCommitNil

func (db *Database) SubscribeBroadcastPreCommitNil(ctx context.Context, cb func([]byte) error)

func (*Database) SubscribeBroadcastPreVote

func (db *Database) SubscribeBroadcastPreVote(ctx context.Context, cb func([]byte) error)

func (*Database) SubscribeBroadcastPreVoteNil

func (db *Database) SubscribeBroadcastPreVoteNil(ctx context.Context, cb func([]byte) error)

func (*Database) SubscribeBroadcastProposal

func (db *Database) SubscribeBroadcastProposal(ctx context.Context, cb func([]byte) error)

func (*Database) SubscribeBroadcastRCert

func (db *Database) SubscribeBroadcastRCert(ctx context.Context, cb func([]byte) error)

func (*Database) SubscribeBroadcastTransaction

func (db *Database) SubscribeBroadcastTransaction(ctx context.Context, cb func([]byte) error)

func (*Database) Sync

func (db *Database) Sync() error

func (*Database) TxCacheDropBefore

func (db *Database) TxCacheDropBefore(txn *badger.Txn, beforeHeight uint32, maxKeys int) error

func (*Database) Update

func (db *Database) Update(fn func(txn *badger.Txn) error) error

func (*Database) UpdateHeaderTrieRootFastSync

func (db *Database) UpdateHeaderTrieRootFastSync(txn *badger.Txn, v *objs.BlockHeader) error

func (*Database) ValidateCommittedBlockHeaderWithProof

func (db *Database) ValidateCommittedBlockHeaderWithProof(txn *badger.Txn, root []byte, blockHeader *objs.BlockHeader, proof []byte) (bool, error)

func (*Database) View

func (db *Database) View(fn func(txn *badger.Txn) error) error

type MerkleProof

type MerkleProof struct {
	Included   bool
	KeyHeight  int
	Key        []byte
	ProofKey   []byte
	ProofValue []byte
	Bitmap     []byte
	Path       [][]byte
}

MerkleProof is a structure which holds a proof of inclusion or exclusion for in a Merkle trie.

func (*MerkleProof) MarshalBinary

func (mp *MerkleProof) MarshalBinary() ([]byte, error)

MarshalBinary takes the MerkleProof object and returns the canonical byte slice.

func (*MerkleProof) UnmarshalBinary

func (mp *MerkleProof) UnmarshalBinary(data []byte) error

UnmarshalBinary takes a byte slice and returns the corresponding MerkleProof object.

type PendingHdrLeafIter

type PendingHdrLeafIter struct {
	// contains filtered or unexported fields
}

func (*PendingHdrLeafIter) Close

func (phli *PendingHdrLeafIter) Close()

func (*PendingHdrLeafIter) Next

func (phli *PendingHdrLeafIter) Next() ([]byte, []byte, bool, error)

type PendingHdrNodeIter

type PendingHdrNodeIter struct {
	// contains filtered or unexported fields
}

func (*PendingHdrNodeIter) Close

func (pni *PendingHdrNodeIter) Close()

func (*PendingHdrNodeIter) Next

func (pni *PendingHdrNodeIter) Next() ([]byte, int, bool, error)

type PendingLeafIter

type PendingLeafIter struct {
	// contains filtered or unexported fields
}

func (*PendingLeafIter) Close

func (pni *PendingLeafIter) Close()

func (*PendingLeafIter) Next

func (pni *PendingLeafIter) Next() ([]byte, []byte, bool, error)

type PendingNodeIter

type PendingNodeIter struct {
	// contains filtered or unexported fields
}

func (*PendingNodeIter) Close

func (pni *PendingNodeIter) Close()

func (*PendingNodeIter) Next

func (pni *PendingNodeIter) Next() ([]byte, int, bool, error)

type Txn

type Txn struct {
	sync.Mutex
	badger.Txn
	// contains filtered or unexported fields
}

func (*Txn) AddCallback

func (txn *Txn) AddCallback(fn TxnFunc)

type TxnFunc

type TxnFunc func(txn *badger.Txn) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL