Versions in this module Expand all Collapse all v1 v1.0.3 Dec 21, 2023 v1.0.0 Dec 21, 2023 Changes in this version + var VirtualGenesisBlockHash = external.NewDomainHashFromByteArray(&[external.DomainHashSize]byte{ ... }) + type AlgorithmManager interface + BroadcastDifficultyRetargetForAlgo func() + BroadcastMiningAlgo func(startHash *external.DomainHash, windowSize int) (uint64, error) + ConcensusAntiAsics func() + GetActiveMiningAlgo func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) (uint32, error) + GetDifficultyRetargetForAlgo func() + SetAlgoBlockId func() + SetDifficultyRetargetForAlgo func() + VerifyAlgoBlockId func() + VerifyDifficultyRetargetForAlgo func() + VerifyMiningAlgo func(stagingArea *StagingArea, blockHash *external.DomainHash) (uint32, error) + type BlockBuilder interface + BuildBlock func(coinbaseData *external.TempBlock) (block *external.TempBlock, err error) + BuildBlockTemplate func(coinbaseData *external.DomainCoinbaseData, ...) (block *external.DomainBlock, coinbaseHasRedReward bool, err error) + type BlockHeaderStore interface + BlockHeader func(dbContext DBReader, stagingArea *StagingArea, blockHash *external.DomainHash) (external.BlockHeader, error) + BlockHeaders func(dbContext DBReader, stagingArea *StagingArea, ...) ([]external.BlockHeader, error) + Count func(stagingArea *StagingArea) uint64 + Delete func(stagingArea *StagingArea, blockHash *external.DomainHash) + HasBlockHeader func(dbContext DBReader, stagingArea *StagingArea, blockHash *external.DomainHash) (bool, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) + type BlockIterator interface + Close func() error + First func() bool + Get func() (*external.DomainHash, error) + Next func() bool + type BlockProcessor interface + ValidateAndInsertBlock func(block *external.DomainBlock, shouldValidateAgainstUTXO bool) (*external.VirtualChangeSet, external.BlockStatus, error) + ValidateAndInsertBlockWithTrustedData func(block *external.BlockWithTrustedData, validateUTXO bool) (*external.VirtualChangeSet, external.BlockStatus, error) + type BlockRelationStore interface + BlockRelation func(dbContext DBReader, stagingArea *StagingArea, blockHash *external.DomainHash) (*BlockRelations, error) + Has func(dbContext DBReader, stagingArea *StagingArea, blockHash *external.DomainHash) (bool, error) + IsStaged func(stagingArea *StagingArea) bool + StageBlockRelation func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) + UnstageAll func(stagingArea *StagingArea) + type BlockRelations struct + Children []*external.DomainHash + ParentMega []*external.DomainHash + ParentMet []*external.DomainHash + Parents []*external.DomainHash + type BlockStatusStore interface + Exists func(dbContext database.Database, stagingArea *StagingArea, ...) (bool, error) + Get func(dbContext DBReader, stagingArea *StagingArea, blockHash *external.DomainHash) (external.BlockStatus, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) + type BlockStore interface + AllBlockHashesIterator func(dbContext DBReader) (BlockIterator, error) + Block func(dbContext DBReader, stagingArea *StagingArea, blockHash *external.DomainHash) (*external.DomainBlock, error) + Blocks func(dbContext DBReader, stagingArea *StagingArea, ...) ([]*external.DomainBlock, error) + Count func(stagingArea *StagingArea) uint64 + Delete func(stagingArea *StagingArea, blockHash *external.DomainHash) + HasBlock func(dbContext DBReader, stagingArea *StagingArea, blockHash *external.DomainHash) (bool, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) + type BlockValidator interface + ValidateBodyInContext func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) error + ValidateBodyInIsolation func(stagingArea *StagingArea, blockHash *external.DomainHash) error + ValidateHeaderInContext func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) error + ValidateHeaderInIsolation func(stagingArea *StagingArea, blockHash *external.DomainHash) error + ValidatePruningPointViolationAndProofOfWorkAndDifficulty func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) error + type CoinbaseManager interface + CalcBlockSubsidy func(stagingArea *StagingArea, blockHash *external.DomainHash) (uint64, error) + ExpectedCoinbaseTransaction func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) (expectedTransaction *external.DomainTransaction, hasRedReward bool, err error) + ExtractCoinbaseDataBlueScoreAndSubsidy func(coinbaseTx *external.DomainTransaction) (blueScore uint64, coinbaseData *external.DomainCoinbaseData, subsidy uint64, ...) + type ConsensusStateManager interface + AddBlock func(stagingArea *StagingArea, blockHash *external.DomainHash, updateVirtual bool) (*external.SelectedChainPath, external.UTXODiff, *UTXODiffReversalData, error) + GetVirtualSelectedParentChainFromBlock func(stagingArea *StagingArea, blockHash *external.DomainHash) (*external.SelectedChainPath, error) + PopulateTransactionWithUTXOEntries func(stagingArea *StagingArea, transaction *external.DomainTransaction) error + RestorePastUTXOSetIterator func(stagingArea *StagingArea, blockHash *external.DomainHash) (external.ReadOnlyUTXOSetIterator, error) + type DBBucket interface + Bucket func(bucketBytes []byte) database.Bucket + Key func(suffix []byte) database.Key + Path func() []byte + type DBCursor interface + First func() bool + Key func() (DBKey, error) + Last func() bool + Next func() bool + Seek func(key database.Key) 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 *external.DomainHash, windowSize int) (uint64, error) + RequiredDifficulty func(stagingArea *StagingArea, blockHash *external.DomainHash) (uint32, error) + StageDAADataAndReturnRequiredDifficulty func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) (uint32, error) + type FinalityManager interface + FinalityPoint func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) (*external.DomainHash, error) + VirtualFinalityPoint func(stagingArea *StagingArea) (*external.DomainHash, error) + type FinalityStore interface + FinalityPoint func(dbContext DBReader, stagingArea *StagingArea, blockHash *external.DomainHash) (*external.DomainHash, error) + IsStaged func(stagingArea *StagingArea) bool + StageFinalityPoint func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) + type HeaderSelectedTipStore interface + Has func(dbContext DBReader, stagingArea *StagingArea) (bool, error) + HeadersSelectedTip func(dbContext DBReader, stagingArea *StagingArea) (*external.DomainHash, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, selectedTip *external.DomainHash) + type HeadersSelectedChainStore interface + GetHashByIndex func(dbContext DBReader, stagingArea *StagingArea, index uint64) (*external.DomainHash, error) + GetIndexByHash func(dbContext DBReader, stagingArea *StagingArea, blockHash *external.DomainHash) (uint64, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(dbContext DBReader, stagingArea *StagingArea, ...) error + type HeadersSelectedTipManager interface + AddHeaderTip func(stagingArea *StagingArea, hash *external.DomainHash) error + type MetTopologyManager interface + ChildInSelectedParentChainOf func(stagingArea *StagingArea, lowHash, highHash *external.DomainHash) (*external.DomainHash, error) + Children func(stagingArea *StagingArea, blockHash *external.DomainHash) ([]*external.DomainHash, error) + IsAncestorOf func(stagingArea *StagingArea, blockHashA *external.DomainHash, ...) (bool, error) + IsAncestorOfAny func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) (bool, error) + IsAnyAncestorOf func(stagingArea *StagingArea, potentialAncestors []*external.DomainHash, ...) (bool, error) + IsChildOf func(stagingArea *StagingArea, blockHashA *external.DomainHash, ...) (bool, error) + IsInSelectedParentChainOf func(stagingArea *StagingArea, blockHashA *external.DomainHash, ...) (bool, error) + IsParentOf func(stagingArea *StagingArea, blockHashA *external.DomainHash, ...) (bool, error) + Parents func(stagingArea *StagingArea, blockHash *external.DomainHash) ([]*external.DomainHash, error) + SetParents func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) error + type Multiset interface + Add func(data []byte) + Clone func() Multiset + Hash func() *external.DomainHash + Remove func(data []byte) + Serialize func() []byte + type MultisetStore interface + Delete func(stagingArea *StagingArea, blockHash *external.DomainHash) + Get func(dbContext DBReader, stagingArea *StagingArea, blockHash *external.DomainHash) (Multiset, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *external.DomainHash, multiset Multiset) + type PastMedianTimeManager interface + InvalidateVirtualPastMedianTimeCache func() + PastMedianTime func(stagingArea *StagingArea, blockHash *external.DomainHash) (int64, error) + type StagingArea struct + func NewStagingArea() *StagingArea + func (sa *StagingArea) Commit(dbTx database.Transaction) error + type StagingShard interface + Commit func(dbTx database.Transaction) error + type StagingShardID uint64 + type SyncManager interface + CreateBlockLocator func(stagingArea *StagingArea, lowHash, highHash *external.DomainHash, limit uint32) (external.BlockLocator, error) + CreateHeadersSelectedChainBlockLocator func(stagingArea *StagingArea, lowHash, highHash *external.DomainHash) (external.BlockLocator, error) + GetAnticone func(stagingArea *StagingArea, blockHash, contextHash *external.DomainHash, ...) (hashes []*external.DomainHash, err error) + GetHashesBetween func(stagingArea *StagingArea, lowHash, highHash *external.DomainHash, ...) (hashes []*external.DomainHash, actualHighHash *external.DomainHash, err error) + GetMissingBlockBodyHashes func(stagingArea *StagingArea, highHash *external.DomainHash) ([]*external.DomainHash, error) + GetSyncInfo func(stagingArea *StagingArea) (*external.SyncInfo, error) + type TransactionValidator interface + PopulateMass func(transaction *external.DomainTransaction) + ValidateTransactionInContextAndPopulateFee func(stagingArea *StagingArea, tx *external.DomainTransaction, ...) error + ValidateTransactionInContextIgnoringUTXO func(stagingArea *StagingArea, tx *external.DomainTransaction, ...) error + ValidateTransactionInIsolation func(transaction *external.DomainTransaction, povDAAScore uint64) error + type UTXODiffReversalData struct + SelectedParentHash *external.DomainHash + SelectedParentUTXODiff external.UTXODiff + type UTXODiffStore interface + Delete func(stagingArea *StagingArea, blockHash *external.DomainHash) + HasUTXODiffChild func(dbContext DBReader, stagingArea *StagingArea, blockHash *external.DomainHash) (bool, error) + IsStaged func(stagingArea *StagingArea) bool + Stage func(stagingArea *StagingArea, blockHash *external.DomainHash, ...) + UTXODiff func(dbContext DBReader, stagingArea *StagingArea, blockHash *external.DomainHash) (external.UTXODiff, error) + UTXODiffChild func(dbContext DBReader, stagingArea *StagingArea, blockHash *external.DomainHash) (*external.DomainHash, error)