Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MineJSONBlockType ¶
type MineJSONBlockType int
MineJSONBlockType indicates which type of blocks MineJSON mines
const ( // MineJSONBlockTypeUTXOValidBlock indicates for MineJSON to mine valid blocks. MineJSONBlockTypeUTXOValidBlock MineJSONBlockType = iota // MineJSONBlockTypeUTXOInvalidBlock indicates for MineJSON to mine UTXO invalid blocks. MineJSONBlockTypeUTXOInvalidBlock // MineJSONBlockTypeUTXOInvalidHeader indicates for MineJSON to mine UTXO invalid headers. MineJSONBlockTypeUTXOInvalidHeader )
type TestBlockBuilder ¶
type TestBlockBuilder interface {
model.BlockBuilder
// BuildBlockWithParents builds a block with provided parents, coinbaseData and transactions,
// and returns the block together with its past UTXO-diff from the virtual.
BuildBlockWithParents(parentHashes []*externalapi.DomainHash, coinbaseData *externalapi.DomainCoinbaseData,
transactions []*externalapi.DomainTransaction) (*externalapi.DomainBlock, externalapi.UTXODiff, error)
BuildUTXOInvalidHeader(parentHashes []*externalapi.DomainHash) (externalapi.BlockHeader, error)
BuildUTXOInvalidBlock(parentHashes []*externalapi.DomainHash) (*externalapi.DomainBlock,
error)
SetNonceCounter(nonceCounter uint64)
}
TestBlockBuilder adds to the main BlockBuilder methods required by tests
type TestConsensus ¶
type TestConsensus interface {
externalapi.Consensus
DAGParams() *dagconfig.Params
DatabaseContext() model.DBManager
Database() database.Database
BuildBlockWithParents(parentHashes []*externalapi.DomainHash, coinbaseData *externalapi.DomainCoinbaseData,
transactions []*externalapi.DomainTransaction) (*externalapi.DomainBlock, externalapi.UTXODiff, error)
BuildHeaderWithParents(parentHashes []*externalapi.DomainHash) (externalapi.BlockHeader, error)
BuildUTXOInvalidBlock(parentHashes []*externalapi.DomainHash) (*externalapi.DomainBlock, error)
// AddBlock builds a block with given information, solves it, and adds to the DAG.
// Returns the hash of the added block
AddBlock(parentHashes []*externalapi.DomainHash, coinbaseData *externalapi.DomainCoinbaseData,
transactions []*externalapi.DomainTransaction) (*externalapi.DomainHash, *externalapi.VirtualChangeSet, error)
AddBlockOnTips(coinbaseData *externalapi.DomainCoinbaseData,
transactions []*externalapi.DomainTransaction) (*externalapi.DomainHash, *externalapi.VirtualChangeSet, error)
AddUTXOInvalidHeader(parentHashes []*externalapi.DomainHash) (*externalapi.DomainHash, *externalapi.VirtualChangeSet, error)
AddUTXOInvalidBlock(parentHashes []*externalapi.DomainHash) (*externalapi.DomainHash,
*externalapi.VirtualChangeSet, error)
UpdatePruningPointByVirtual() error
ResolveVirtualWithMaxParam(maxBlocksToResolve uint64) (*externalapi.VirtualChangeSet, bool, error)
MineJSON(r io.Reader, blockType MineJSONBlockType) (tips []*externalapi.DomainHash, err error)
ToJSON(w io.Writer) error
RenderDAGToDot(filename string) error
AcceptanceDataStore() model.AcceptanceDataStore
BlockHeaderStore() model.BlockHeaderStore
BlockRelationStore() model.BlockRelationStore
BlockStatusStore() model.BlockStatusStore
BlockStore() model.BlockStore
ConsensusStateStore() model.ConsensusStateStore
GHOSTDAGDataStore() model.GHOSTDAGDataStore
GHOSTDAGDataStores() []model.GHOSTDAGDataStore
HeaderTipsStore() model.HeaderSelectedTipStore
MultisetStore() model.MultisetStore
PruningStore() model.PruningStore
ReachabilityDataStore() model.ReachabilityDataStore
UTXODiffStore() model.UTXODiffStore
HeadersSelectedChainStore() model.HeadersSelectedChainStore
DAABlocksStore() model.DAABlocksStore
BlockBuilder() TestBlockBuilder
BlockProcessor() model.BlockProcessor
BlockValidator() model.BlockValidator
CoinbaseManager() model.CoinbaseManager
ConsensusStateManager() TestConsensusStateManager
FinalityManager() model.FinalityManager
DAGTopologyManager() model.DAGTopologyManager
DAGTraversalManager() model.DAGTraversalManager
DifficultyManager() model.DifficultyManager
GHOSTDAGManager() model.GHOSTDAGManager
HeaderTipsManager() model.HeadersSelectedTipManager
MergeDepthManager() model.MergeDepthManager
PastMedianTimeManager() model.PastMedianTimeManager
PruningManager() model.PruningManager
ReachabilityManager() TestReachabilityManager
SyncManager() model.SyncManager
TransactionValidator() TestTransactionValidator
}
TestConsensus wraps the Consensus interface with some methods that are needed by tests only
type TestConsensusStateManager ¶
type TestConsensusStateManager interface {
model.ConsensusStateManager
AddUTXOToMultiset(multiset model.Multiset, entry externalapi.UTXOEntry,
outpoint *externalapi.DomainOutpoint) error
ResolveBlockStatus(stagingArea *model.StagingArea, blockHash *externalapi.DomainHash,
useSeparateStagingAreaPerBlock bool) (externalapi.BlockStatus, error)
}
TestConsensusStateManager adds to the main ConsensusStateManager methods required by tests
type TestReachabilityManager ¶
type TestReachabilityManager interface {
model.ReachabilityManager
SetReachabilityReindexWindow(reindexWindow uint64)
SetReachabilityReindexSlack(reindexSlack uint64)
ReachabilityReindexSlack() uint64
ValidateIntervals(root *externalapi.DomainHash) error
GetAllNodes(root *externalapi.DomainHash) ([]*externalapi.DomainHash, error)
}
TestReachabilityManager adds to the main ReachabilityManager methods required by tests
type TestTransactionValidator ¶
type TestTransactionValidator interface {
model.TransactionValidator
SigCache() *txscript.SigCache
SetSigCache(sigCache *txscript.SigCache)
}
TestTransactionValidator adds to the main TransactionValidator methods required by tests
Click to show internal directories.
Click to hide internal directories.