Versions in this module Expand all Collapse all v1 v1.2.0 Oct 10, 2024 v1.0.0 May 18, 2024 Changes in this version + var ErrBlockNotInSelectedParentChain = errors.New("Block is not in selected parent chain") + var ErrReachedMaxTraversalAllowed = errors.New("Traversal searching for anticone passed the maxTraversalAllowed limit") + var VirtualBlockHash = externalapi.NewDomainHashFromByteArray(&[externalapi.DomainHashSize]byte{ ... }) + var VirtualGenesisBlockHash = externalapi.NewDomainHashFromByteArray(&[externalapi.DomainHashSize]byte{ ... }) + type AcceptanceDataStore interface + Delete func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) + Get func(dbContext DBReader, stagingArea *StagingArea, ...) (externalapi.AcceptanceData, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) + type BlockBuilder interface + BuildBlock func(coinbaseData *externalapi.DomainCoinbaseData, ...) (block *externalapi.DomainBlock, coinbaseHasRedReward bool, err error) + type BlockHeaderStore interface + BlockHeader func(dbContext DBReader, stagingArea *StagingArea, ...) (externalapi.BlockHeader, error) + BlockHeaders func(dbContext DBReader, stagingArea *StagingArea, ...) ([]externalapi.BlockHeader, error) + Count func(stagingArea *StagingArea) uint64 + Delete func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) + HasBlockHeader func(dbContext DBReader, stagingArea *StagingArea, ...) (bool, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) + type BlockHeap interface + Len func() int + Pop func() *externalapi.DomainHash + Push func(blockHash *externalapi.DomainHash) error + PushSlice func(blockHash []*externalapi.DomainHash) error + ToSlice func() []*externalapi.DomainHash + type BlockIterator interface + Close func() error + First func() bool + Get func() (*externalapi.DomainHash, error) + Next func() bool + type BlockParentBuilder interface + BuildParents func(stagingArea *StagingArea, daaScore uint64, ...) ([]externalapi.BlockLevelParents, error) + type BlockProcessor interface + ValidateAndInsertBlock func(block *externalapi.DomainBlock, shouldValidateAgainstUTXO bool) (*externalapi.VirtualChangeSet, externalapi.BlockStatus, error) + ValidateAndInsertBlockWithTrustedData func(block *externalapi.BlockWithTrustedData, validateUTXO bool) (*externalapi.VirtualChangeSet, externalapi.BlockStatus, error) + ValidateAndInsertImportedPruningPoint func(newPruningPoint *externalapi.DomainHash) error + type BlockRelationStore interface + BlockRelation func(dbContext DBReader, stagingArea *StagingArea, ...) (*BlockRelations, error) + Has func(dbContext DBReader, stagingArea *StagingArea, ...) (bool, error) + IsStaged func(stagingArea *StagingArea) bool + StageBlockRelation func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) + UnstageAll func(stagingArea *StagingArea) + type BlockRelations struct + Children []*externalapi.DomainHash + Parents []*externalapi.DomainHash + func (br *BlockRelations) Clone() *BlockRelations + func (br *BlockRelations) Equal(other *BlockRelations) bool + type BlockStatusStore interface + Exists func(dbContext DBReader, stagingArea *StagingArea, ...) (bool, error) + Get func(dbContext DBReader, stagingArea *StagingArea, ...) (externalapi.BlockStatus, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) + type BlockStore interface + AllBlockHashesIterator func(dbContext DBReader) (BlockIterator, error) + Block func(dbContext DBReader, stagingArea *StagingArea, ...) (*externalapi.DomainBlock, error) + Blocks func(dbContext DBReader, stagingArea *StagingArea, ...) ([]*externalapi.DomainBlock, error) + Count func(stagingArea *StagingArea) uint64 + Delete func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) + HasBlock func(dbContext DBReader, stagingArea *StagingArea, ...) (bool, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) + type BlockValidator interface + ValidateBodyInContext func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) error + ValidateBodyInIsolation func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) error + ValidateHeaderInContext func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) error + ValidateHeaderInIsolation func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) error + ValidatePruningPointViolationAndProofOfWorkAndDifficulty func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) error + type BlocksWithTrustedDataDAAWindowStore interface + DAAWindowBlock func(dbContext DBReader, stagingArea *StagingArea, ...) (*externalapi.BlockGHOSTDAGDataHashPair, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, index uint64, ...) + type CoinbaseManager interface + CalcBlockSubsidy func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) (uint64, error) + ExpectedCoinbaseTransaction func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) (expectedTransaction *externalapi.DomainTransaction, hasRedReward bool, ...) + ExtractCoinbaseDataBlueScoreAndSubsidy func(coinbaseTx *externalapi.DomainTransaction) (blueScore uint64, coinbaseData *externalapi.DomainCoinbaseData, subsidy uint64, ...) + type ConsensusStateManager interface + AddBlock func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) (*externalapi.SelectedChainPath, externalapi.UTXODiff, *UTXODiffReversalData, ...) + CalculatePastUTXOAndAcceptanceData func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) (externalapi.UTXODiff, externalapi.AcceptanceData, Multiset, error) + GetVirtualSelectedParentChainFromBlock func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) (*externalapi.SelectedChainPath, error) + ImportPruningPointUTXOSet func(stagingArea *StagingArea, newPruningPoint *externalapi.DomainHash) error + ImportPruningPoints func(stagingArea *StagingArea, pruningPoints []externalapi.BlockHeader) error + PopulateTransactionWithUTXOEntries func(stagingArea *StagingArea, transaction *externalapi.DomainTransaction) error + RecoverUTXOIfRequired func() error + ResolveVirtual func(maxBlocksToResolve uint64) (*externalapi.VirtualChangeSet, bool, error) + RestorePastUTXOSetIterator func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) (externalapi.ReadOnlyUTXOSetIterator, error) + ReverseUTXODiffs func(tipHash *externalapi.DomainHash, reversalData *UTXODiffReversalData) error + type ConsensusStateStore interface + FinishImportingPruningPointUTXOSet func(dbContext DBWriter) error + HadStartedImportingPruningPointUTXOSet func(dbContext DBWriter) (bool, error) + HasUTXOByOutpoint func(dbContext DBReader, stagingArea *StagingArea, ...) (bool, error) + ImportPruningPointUTXOSetIntoVirtualUTXOSet func(dbContext DBWriter, ...) error + IsStaged func(stagingArea *StagingArea) bool + StageTips func(stagingArea *StagingArea, tipHashes []*externalapi.DomainHash) + StageVirtualUTXODiff func(stagingArea *StagingArea, virtualUTXODiff externalapi.UTXODiff) + StartImportingPruningPointUTXOSet func(dbContext DBWriter) error + Tips func(stagingArea *StagingArea, dbContext DBReader) ([]*externalapi.DomainHash, error) + UTXOByOutpoint func(dbContext DBReader, stagingArea *StagingArea, ...) (externalapi.UTXOEntry, error) + VirtualUTXOSetIterator func(dbContext DBReader, stagingArea *StagingArea) (externalapi.ReadOnlyUTXOSetIterator, error) + VirtualUTXOs func(dbContext DBReader, fromOutpoint *externalapi.DomainOutpoint, limit int) ([]*externalapi.OutpointAndUTXOEntryPair, error) + type DAABlocksStore interface + DAAAddedBlocks func(dbContext DBReader, stagingArea *StagingArea, ...) ([]*externalapi.DomainHash, error) + DAAScore func(dbContext DBReader, stagingArea *StagingArea, ...) (uint64, error) + Delete func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) + IsStaged func(stagingArea *StagingArea) bool + StageBlockDAAAddedBlocks func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) + StageDAAScore func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, daaScore uint64) + type DAGTopologyManager interface + ChildInSelectedParentChainOf func(stagingArea *StagingArea, lowHash, highHash *externalapi.DomainHash) (*externalapi.DomainHash, error) + Children func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) ([]*externalapi.DomainHash, error) + IsAncestorOf func(stagingArea *StagingArea, blockHashA *externalapi.DomainHash, ...) (bool, error) + IsAncestorOfAny func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) (bool, error) + IsAnyAncestorOf func(stagingArea *StagingArea, potentialAncestors []*externalapi.DomainHash, ...) (bool, error) + IsChildOf func(stagingArea *StagingArea, blockHashA *externalapi.DomainHash, ...) (bool, error) + IsInSelectedParentChainOf func(stagingArea *StagingArea, blockHashA *externalapi.DomainHash, ...) (bool, error) + IsParentOf func(stagingArea *StagingArea, blockHashA *externalapi.DomainHash, ...) (bool, error) + Parents func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) ([]*externalapi.DomainHash, error) + SetParents func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) error + type DAGTraversalManager interface + AnticoneFromBlocks func(stagingArea *StagingArea, tips []*externalapi.DomainHash, ...) ([]*externalapi.DomainHash, error) + AnticoneFromVirtualPOV func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) ([]*externalapi.DomainHash, error) + BlockWindow func(stagingArea *StagingArea, highHash *externalapi.DomainHash, windowSize int) ([]*externalapi.DomainHash, error) + CalculateChainPath func(stagingArea *StagingArea, fromBlockHash, toBlockHash *externalapi.DomainHash) (*externalapi.SelectedChainPath, error) + DAABlockWindow func(stagingArea *StagingArea, highHash *externalapi.DomainHash) ([]*externalapi.DomainHash, error) + LowestChainBlockAboveOrEqualToBlueScore func(stagingArea *StagingArea, highHash *externalapi.DomainHash, blueScore uint64) (*externalapi.DomainHash, error) + NewDownHeap func(stagingArea *StagingArea) BlockHeap + NewUpHeap func(stagingArea *StagingArea) BlockHeap + SelectedChild func(stagingArea *StagingArea, highHash, lowHash *externalapi.DomainHash) (*externalapi.DomainHash, error) + SelectedChildIterator func(stagingArea *StagingArea, highHash, lowHash *externalapi.DomainHash, ...) (BlockIterator, error) + type DBBucket interface + Bucket func(bucketBytes []byte) DBBucket + Key func(suffix []byte) DBKey + Path func() []byte + type DBCursor interface + Close func() error + First func() bool + Key func() (DBKey, error) + Next func() bool + Seek func(key DBKey) error + Value func() ([]byte, error) + type DBKey interface + Bucket func() DBBucket + Bytes func() []byte + Suffix func() []byte + type DBManager interface + Begin func() (DBTransaction, error) + type DBReader interface + Cursor func(bucket DBBucket) (DBCursor, error) + Get func(key DBKey) ([]byte, error) + Has func(key DBKey) (bool, error) + type DBTransaction interface + Commit func() error + Rollback func() error + RollbackUnlessClosed func() error + type DBWriter interface + Delete func(key DBKey) error + Put func(key DBKey, value []byte) error + type DifficultyManager interface + EstimateNetworkHashesPerSecond func(startHash *externalapi.DomainHash, windowSize int) (uint64, error) + RequiredDifficulty func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) (uint32, error) + StageDAADataAndReturnRequiredDifficulty func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) (uint32, error) + type FinalityManager interface + FinalityPoint func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) (*externalapi.DomainHash, error) + VirtualFinalityPoint func(stagingArea *StagingArea) (*externalapi.DomainHash, error) + type FinalityStore interface + FinalityPoint func(dbContext DBReader, stagingArea *StagingArea, ...) (*externalapi.DomainHash, error) + IsStaged func(stagingArea *StagingArea) bool + StageFinalityPoint func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) + type FutureCoveringTreeNodeSet []*externalapi.DomainHash + func (fctns FutureCoveringTreeNodeSet) Clone() FutureCoveringTreeNodeSet + func (fctns FutureCoveringTreeNodeSet) Equal(other FutureCoveringTreeNodeSet) bool + type GHOSTDAGDataStore interface + Get func(dbContext DBReader, stagingArea *StagingArea, ...) (*externalapi.BlockGHOSTDAGData, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) + UnstageAll func(stagingArea *StagingArea) + type GHOSTDAGManager interface + ChooseSelectedParent func(stagingArea *StagingArea, blockHashes ...*externalapi.DomainHash) (*externalapi.DomainHash, error) + GHOSTDAG func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) error + GetSortedMergeSet func(stagingArea *StagingArea, current *externalapi.DomainHash) ([]*externalapi.DomainHash, error) + Less func(blockHashA *externalapi.DomainHash, ...) bool + type HeaderSelectedTipStore interface + Has func(dbContext DBReader, stagingArea *StagingArea) (bool, error) + HeadersSelectedTip func(dbContext DBReader, stagingArea *StagingArea) (*externalapi.DomainHash, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, selectedTip *externalapi.DomainHash) + type HeadersSelectedChainStore interface + GetHashByIndex func(dbContext DBReader, stagingArea *StagingArea, index uint64) (*externalapi.DomainHash, error) + GetIndexByHash func(dbContext DBReader, stagingArea *StagingArea, ...) (uint64, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(dbContext DBReader, stagingArea *StagingArea, ...) error + type HeadersSelectedTipManager interface + AddHeaderTip func(stagingArea *StagingArea, hash *externalapi.DomainHash) error + type MergeDepthManager interface + CheckBoundedMergeDepth func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) error + NonBoundedMergeDepthViolatingBlues func(stagingArea *StagingArea, blockHash, mergeDepthRoot *externalapi.DomainHash) ([]*externalapi.DomainHash, error) + VirtualMergeDepthRoot func(stagingArea *StagingArea) (*externalapi.DomainHash, error) + type MergeDepthRootStore interface + IsStaged func(stagingArea *StagingArea) bool + MergeDepthRoot func(dbContext DBReader, stagingArea *StagingArea, ...) (*externalapi.DomainHash, error) + StageMergeDepthRoot func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) + type Multiset interface + Add func(data []byte) + Clone func() Multiset + Hash func() *externalapi.DomainHash + Remove func(data []byte) + Serialize func() []byte + type MultisetStore interface + Delete func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) + Get func(dbContext DBReader, stagingArea *StagingArea, ...) (Multiset, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, multiset Multiset) + type MutableReachabilityData interface + AddChild func(child *externalapi.DomainHash) + SetFutureCoveringSet func(futureCoveringSet FutureCoveringTreeNodeSet) + SetInterval func(interval *ReachabilityInterval) + SetParent func(parent *externalapi.DomainHash) + type ParentsManager interface + Parents func(blockHeader externalapi.BlockHeader) []externalapi.BlockLevelParents + ParentsAtLevel func(blockHeader externalapi.BlockHeader, level int) externalapi.BlockLevelParents + type PastMedianTimeManager interface + InvalidateVirtualPastMedianTimeCache func() + PastMedianTime func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) (int64, error) + type PruningManager interface + AppendImportedPruningPointUTXOs func(outpointAndUTXOEntryPairs []*externalapi.OutpointAndUTXOEntryPair) error + ArePruningPointsInValidChain func(stagingArea *StagingArea) (bool, error) + ArePruningPointsViolatingFinality func(stagingArea *StagingArea, pruningPoints []externalapi.BlockHeader) (bool, error) + ClearImportedPruningPointData func() error + ExpectedHeaderPruningPoint func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) (*externalapi.DomainHash, error) + IsValidPruningPoint func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) (bool, error) + PruneAllBlocksBelow func(stagingArea *StagingArea, pruningPointHash *externalapi.DomainHash) error + PruningPointAndItsAnticone func() ([]*externalapi.DomainHash, error) + TrustedBlockAssociatedGHOSTDAGDataBlockHashes func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) ([]*externalapi.DomainHash, error) + UpdatePruningPointByVirtual func(stagingArea *StagingArea) error + UpdatePruningPointIfRequired func() error + type PruningProofManager interface + ApplyPruningPointProof func(pruningPointProof *externalapi.PruningPointProof) error + BuildPruningPointProof func(stagingArea *StagingArea) (*externalapi.PruningPointProof, error) + ValidatePruningPointProof func(pruningPointProof *externalapi.PruningPointProof) error + type PruningStore interface + AppendImportedPruningPointUTXOs func(dbTx DBTransaction, ...) error + ClearImportedPruningPointMultiset func(dbContext DBWriter) error + ClearImportedPruningPointUTXOs func(dbContext DBWriter) error + CommitImportedPruningPointUTXOSet func(dbContext DBWriter) error + CurrentPruningPointIndex func(dbContext DBReader, stagingArea *StagingArea) (uint64, error) + FinishUpdatingPruningPointUTXOSet func(dbContext DBWriter) error + HadStartedUpdatingPruningPointUTXOSet func(dbContext DBWriter) (bool, error) + HasPruningPoint func(dbContext DBReader, stagingArea *StagingArea) (bool, error) + HasPruningPointCandidate func(dbContext DBReader, stagingArea *StagingArea) (bool, error) + ImportedPruningPointMultiset func(dbContext DBReader) (Multiset, error) + ImportedPruningPointUTXOIterator func(dbContext DBReader) (externalapi.ReadOnlyUTXOSetIterator, error) + IsStaged func(stagingArea *StagingArea) bool + PruningPoint func(dbContext DBReader, stagingArea *StagingArea) (*externalapi.DomainHash, error) + PruningPointByIndex func(dbContext DBReader, stagingArea *StagingArea, index uint64) (*externalapi.DomainHash, error) + PruningPointCandidate func(dbContext DBReader, stagingArea *StagingArea) (*externalapi.DomainHash, error) + PruningPointUTXOIterator func(dbContext DBReader) (externalapi.ReadOnlyUTXOSetIterator, error) + PruningPointUTXOs func(dbContext DBReader, fromOutpoint *externalapi.DomainOutpoint, limit int) ([]*externalapi.OutpointAndUTXOEntryPair, error) + StagePruningPoint func(dbContext DBWriter, stagingArea *StagingArea, ...) error + StagePruningPointByIndex func(dbContext DBReader, stagingArea *StagingArea, ...) error + StagePruningPointCandidate func(stagingArea *StagingArea, candidate *externalapi.DomainHash) + StageStartUpdatingPruningPointUTXOSet func(stagingArea *StagingArea) + UpdateImportedPruningPointMultiset func(dbTx DBTransaction, multiset Multiset) error + UpdatePruningPointUTXOSet func(dbContext DBWriter, diff externalapi.UTXODiff) error + type ReachabilityData interface + Children func() []*externalapi.DomainHash + CloneMutable func() MutableReachabilityData + Equal func(other ReachabilityData) bool + FutureCoveringSet func() FutureCoveringTreeNodeSet + Interval func() *ReachabilityInterval + Parent func() *externalapi.DomainHash + type ReachabilityDataStore interface + Delete func(dbContext DBWriter) error + HasReachabilityData func(dbContext DBReader, stagingArea *StagingArea, ...) (bool, error) + IsStaged func(stagingArea *StagingArea) bool + ReachabilityData func(dbContext DBReader, stagingArea *StagingArea, ...) (ReachabilityData, error) + ReachabilityReindexRoot func(dbContext DBReader, stagingArea *StagingArea) (*externalapi.DomainHash, error) + StageReachabilityData func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) + StageReachabilityReindexRoot func(stagingArea *StagingArea, reachabilityReindexRoot *externalapi.DomainHash) + type ReachabilityInterval struct + End uint64 + Start uint64 + func (ri *ReachabilityInterval) Clone() *ReachabilityInterval + func (ri *ReachabilityInterval) Equal(other *ReachabilityInterval) bool + func (ri *ReachabilityInterval) String() string + type ReachabilityManager interface + AddBlock func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) error + FindNextAncestor func(stagingArea *StagingArea, descendant, ancestor *externalapi.DomainHash) (*externalapi.DomainHash, error) + Init func(stagingArea *StagingArea) error + IsDAGAncestorOf func(stagingArea *StagingArea, blockHashA *externalapi.DomainHash, ...) (bool, error) + IsReachabilityTreeAncestorOf func(stagingArea *StagingArea, blockHashA *externalapi.DomainHash, ...) (bool, error) + UpdateReindexRoot func(stagingArea *StagingArea, selectedTip *externalapi.DomainHash) error + type StagingArea struct + func NewStagingArea() *StagingArea + func (sa *StagingArea) Commit(dbTx DBTransaction) error + func (sa *StagingArea) GetOrCreateShard(shardID StagingShardID, createFunc func() StagingShard) StagingShard + type StagingShard interface + Commit func(dbTx DBTransaction) error + type StagingShardID uint64 + type Store interface + type SubDAG struct + Blocks map[externalapi.DomainHash]*SubDAGBlock + RootHashes []*externalapi.DomainHash + TipHashes []*externalapi.DomainHash + type SubDAGBlock struct + BlockHash *externalapi.DomainHash + ChildHashes []*externalapi.DomainHash + ParentHashes []*externalapi.DomainHash + type SyncManager interface + CreateBlockLocator func(stagingArea *StagingArea, lowHash, highHash *externalapi.DomainHash, ...) (externalapi.BlockLocator, error) + CreateHeadersSelectedChainBlockLocator func(stagingArea *StagingArea, lowHash, highHash *externalapi.DomainHash) (externalapi.BlockLocator, error) + GetAnticone func(stagingArea *StagingArea, blockHash, contextHash *externalapi.DomainHash, ...) (hashes []*externalapi.DomainHash, err error) + GetHashesBetween func(stagingArea *StagingArea, lowHash, highHash *externalapi.DomainHash, ...) (hashes []*externalapi.DomainHash, actualHighHash *externalapi.DomainHash, ...) + GetMissingBlockBodyHashes func(stagingArea *StagingArea, highHash *externalapi.DomainHash) ([]*externalapi.DomainHash, error) + GetSyncInfo func(stagingArea *StagingArea) (*externalapi.SyncInfo, error) + type TransactionValidator interface + PopulateMass func(transaction *externalapi.DomainTransaction) + ValidateTransactionInContextAndPopulateFee func(stagingArea *StagingArea, tx *externalapi.DomainTransaction, ...) error + ValidateTransactionInContextIgnoringUTXO func(stagingArea *StagingArea, tx *externalapi.DomainTransaction, ...) error + ValidateTransactionInIsolation func(transaction *externalapi.DomainTransaction, povDAAScore uint64) error + type UTXODiffReversalData struct + SelectedParentHash *externalapi.DomainHash + SelectedParentUTXODiff externalapi.UTXODiff + type UTXODiffStore interface + Delete func(stagingArea *StagingArea, blockHash *externalapi.DomainHash) + HasUTXODiffChild func(dbContext DBReader, stagingArea *StagingArea, ...) (bool, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, ...) + UTXODiff func(dbContext DBReader, stagingArea *StagingArea, ...) (externalapi.UTXODiff, error) + UTXODiffChild func(dbContext DBReader, stagingArea *StagingArea, ...) (*externalapi.DomainHash, error) + type WindowHeapSliceStore interface + Get func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, windowSize int) ([]*externalapi.BlockGHOSTDAGDataHashPair, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *externalapi.DomainHash, windowSize int, ...)