mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-10-14 00:59:33 +00:00
[NOD-1583] Move all TestXXX interfaces to testapi
This commit is contained in:
parent
9756d64f28
commit
ab3c81c552
@ -6,13 +6,3 @@ import "github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
|||||||
type BlockBuilder interface {
|
type BlockBuilder interface {
|
||||||
BuildBlock(coinbaseData *externalapi.DomainCoinbaseData, transactions []*externalapi.DomainTransaction) (*externalapi.DomainBlock, error)
|
BuildBlock(coinbaseData *externalapi.DomainCoinbaseData, transactions []*externalapi.DomainTransaction) (*externalapi.DomainBlock, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestBlockBuilder adds to the main BlockBuilder methods required by tests
|
|
||||||
type TestBlockBuilder interface {
|
|
||||||
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, *UTXODiff, error)
|
|
||||||
}
|
|
||||||
|
@ -11,12 +11,3 @@ type ConsensusStateManager interface {
|
|||||||
HeaderTipsPruningPoint() (*externalapi.DomainHash, error)
|
HeaderTipsPruningPoint() (*externalapi.DomainHash, error)
|
||||||
CalculatePastUTXOAndAcceptanceData(blockHash *externalapi.DomainHash) (*UTXODiff, AcceptanceData, Multiset, error)
|
CalculatePastUTXOAndAcceptanceData(blockHash *externalapi.DomainHash) (*UTXODiff, AcceptanceData, Multiset, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestConsensusStateManager adds to the main ConsensusStateManager methods required by tests
|
|
||||||
type TestConsensusStateManager interface {
|
|
||||||
ConsensusStateManager
|
|
||||||
AddUTXOToMultiset(multiset Multiset, entry *externalapi.UTXOEntry,
|
|
||||||
outpoint *externalapi.DomainOutpoint) error
|
|
||||||
ResolveBlockStatus(blockHash *externalapi.DomainHash) (externalapi.BlockStatus, error)
|
|
||||||
VirtualFinalityPoint() (*externalapi.DomainHash, error)
|
|
||||||
}
|
|
||||||
|
@ -10,11 +10,3 @@ type ReachabilityManager interface {
|
|||||||
IsDAGAncestorOf(blockHashA *externalapi.DomainHash, blockHashB *externalapi.DomainHash) (bool, error)
|
IsDAGAncestorOf(blockHashA *externalapi.DomainHash, blockHashB *externalapi.DomainHash) (bool, error)
|
||||||
UpdateReindexRoot(selectedTip *externalapi.DomainHash) error
|
UpdateReindexRoot(selectedTip *externalapi.DomainHash) error
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestReachabilityManager adds to the main ReachabilityManager methods required by tests
|
|
||||||
type TestReachabilityManager interface {
|
|
||||||
ReachabilityManager
|
|
||||||
SetReachabilityReindexWindow(reindexWindow uint64)
|
|
||||||
SetReachabilityReindexSlack(reindexSlack uint64)
|
|
||||||
ReachabilityReindexSlack() uint64
|
|
||||||
}
|
|
||||||
|
@ -2,7 +2,6 @@ package model
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
||||||
"github.com/kaspanet/kaspad/domain/consensus/utils/txscript"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// TransactionValidator exposes a set of validation classes, after which
|
// TransactionValidator exposes a set of validation classes, after which
|
||||||
@ -12,10 +11,3 @@ type TransactionValidator interface {
|
|||||||
ValidateTransactionInContextAndPopulateMassAndFee(tx *externalapi.DomainTransaction,
|
ValidateTransactionInContextAndPopulateMassAndFee(tx *externalapi.DomainTransaction,
|
||||||
povTransactionHash *externalapi.DomainHash, selectedParentMedianTime int64) error
|
povTransactionHash *externalapi.DomainHash, selectedParentMedianTime int64) error
|
||||||
}
|
}
|
||||||
|
|
||||||
// TestTransactionValidator adds to the main TransactionValidator methods required by tests
|
|
||||||
type TestTransactionValidator interface {
|
|
||||||
TransactionValidator
|
|
||||||
SigCache() *txscript.SigCache
|
|
||||||
SetSigCache(sigCache *txscript.SigCache)
|
|
||||||
}
|
|
||||||
|
16
domain/consensus/model/testapi/test_block_builder.go
Normal file
16
domain/consensus/model/testapi/test_block_builder.go
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
package testapi
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/kaspanet/kaspad/domain/consensus/model"
|
||||||
|
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TestBlockBuilder adds to the main BlockBuilder methods required by tests
|
||||||
|
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, *model.UTXODiff, error)
|
||||||
|
}
|
@ -33,11 +33,11 @@ type TestConsensus interface {
|
|||||||
ReachabilityDataStore() model.ReachabilityDataStore
|
ReachabilityDataStore() model.ReachabilityDataStore
|
||||||
UTXODiffStore() model.UTXODiffStore
|
UTXODiffStore() model.UTXODiffStore
|
||||||
|
|
||||||
BlockBuilder() model.TestBlockBuilder
|
BlockBuilder() TestBlockBuilder
|
||||||
BlockProcessor() model.BlockProcessor
|
BlockProcessor() model.BlockProcessor
|
||||||
BlockValidator() model.BlockValidator
|
BlockValidator() model.BlockValidator
|
||||||
CoinbaseManager() model.CoinbaseManager
|
CoinbaseManager() model.CoinbaseManager
|
||||||
ConsensusStateManager() model.TestConsensusStateManager
|
ConsensusStateManager() TestConsensusStateManager
|
||||||
DAGTopologyManager() model.DAGTopologyManager
|
DAGTopologyManager() model.DAGTopologyManager
|
||||||
DAGTraversalManager() model.DAGTraversalManager
|
DAGTraversalManager() model.DAGTraversalManager
|
||||||
DifficultyManager() model.DifficultyManager
|
DifficultyManager() model.DifficultyManager
|
||||||
@ -46,7 +46,7 @@ type TestConsensus interface {
|
|||||||
MergeDepthManager() model.MergeDepthManager
|
MergeDepthManager() model.MergeDepthManager
|
||||||
PastMedianTimeManager() model.PastMedianTimeManager
|
PastMedianTimeManager() model.PastMedianTimeManager
|
||||||
PruningManager() model.PruningManager
|
PruningManager() model.PruningManager
|
||||||
ReachabilityManager() model.TestReachabilityManager
|
ReachabilityManager() TestReachabilityManager
|
||||||
SyncManager() model.SyncManager
|
SyncManager() model.SyncManager
|
||||||
TransactionValidator() model.TestTransactionValidator
|
TransactionValidator() TestTransactionValidator
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,15 @@
|
|||||||
|
package testapi
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/kaspanet/kaspad/domain/consensus/model"
|
||||||
|
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TestConsensusStateManager adds to the main ConsensusStateManager methods required by tests
|
||||||
|
type TestConsensusStateManager interface {
|
||||||
|
model.ConsensusStateManager
|
||||||
|
AddUTXOToMultiset(multiset model.Multiset, entry *externalapi.UTXOEntry,
|
||||||
|
outpoint *externalapi.DomainOutpoint) error
|
||||||
|
ResolveBlockStatus(blockHash *externalapi.DomainHash) (externalapi.BlockStatus, error)
|
||||||
|
VirtualFinalityPoint() (*externalapi.DomainHash, error)
|
||||||
|
}
|
11
domain/consensus/model/testapi/test_reachability_manager.go
Normal file
11
domain/consensus/model/testapi/test_reachability_manager.go
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
package testapi
|
||||||
|
|
||||||
|
import "github.com/kaspanet/kaspad/domain/consensus/model"
|
||||||
|
|
||||||
|
// TestReachabilityManager adds to the main ReachabilityManager methods required by tests
|
||||||
|
type TestReachabilityManager interface {
|
||||||
|
model.ReachabilityManager
|
||||||
|
SetReachabilityReindexWindow(reindexWindow uint64)
|
||||||
|
SetReachabilityReindexSlack(reindexSlack uint64)
|
||||||
|
ReachabilityReindexSlack() uint64
|
||||||
|
}
|
13
domain/consensus/model/testapi/test_transaction_validator.go
Normal file
13
domain/consensus/model/testapi/test_transaction_validator.go
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
package testapi
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/kaspanet/kaspad/domain/consensus/model"
|
||||||
|
"github.com/kaspanet/kaspad/domain/consensus/utils/txscript"
|
||||||
|
)
|
||||||
|
|
||||||
|
// TestTransactionValidator adds to the main TransactionValidator methods required by tests
|
||||||
|
type TestTransactionValidator interface {
|
||||||
|
model.TransactionValidator
|
||||||
|
SigCache() *txscript.SigCache
|
||||||
|
SetSigCache(sigCache *txscript.SigCache)
|
||||||
|
}
|
@ -20,7 +20,7 @@ var tempBlockHash = &externalapi.DomainHash{
|
|||||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
|
||||||
|
|
||||||
// NewTestBlockBuilder creates an instance of a TestBlockBuilder
|
// NewTestBlockBuilder creates an instance of a TestBlockBuilder
|
||||||
func NewTestBlockBuilder(baseBlockBuilder model.BlockBuilder, testConsensus testapi.TestConsensus) model.TestBlockBuilder {
|
func NewTestBlockBuilder(baseBlockBuilder model.BlockBuilder, testConsensus testapi.TestConsensus) testapi.TestBlockBuilder {
|
||||||
return &testBlockBuilder{
|
return &testBlockBuilder{
|
||||||
blockBuilder: baseBlockBuilder.(*blockBuilder),
|
blockBuilder: baseBlockBuilder.(*blockBuilder),
|
||||||
testConsensus: testConsensus,
|
testConsensus: testConsensus,
|
||||||
|
@ -3,6 +3,7 @@ package consensusstatemanager
|
|||||||
import (
|
import (
|
||||||
"github.com/kaspanet/kaspad/domain/consensus/model"
|
"github.com/kaspanet/kaspad/domain/consensus/model"
|
||||||
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
||||||
|
"github.com/kaspanet/kaspad/domain/consensus/model/testapi"
|
||||||
)
|
)
|
||||||
|
|
||||||
type testConsensusStateManager struct {
|
type testConsensusStateManager struct {
|
||||||
@ -10,7 +11,7 @@ type testConsensusStateManager struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewTestConsensusStateManager creates an instance of a TestConsensusStateManager
|
// NewTestConsensusStateManager creates an instance of a TestConsensusStateManager
|
||||||
func NewTestConsensusStateManager(baseConsensusStateManager model.ConsensusStateManager) model.TestConsensusStateManager {
|
func NewTestConsensusStateManager(baseConsensusStateManager model.ConsensusStateManager) testapi.TestConsensusStateManager {
|
||||||
return &testConsensusStateManager{consensusStateManager: baseConsensusStateManager.(*consensusStateManager)}
|
return &testConsensusStateManager{consensusStateManager: baseConsensusStateManager.(*consensusStateManager)}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package reachabilitymanager
|
package reachabilitymanager
|
||||||
|
|
||||||
import "github.com/kaspanet/kaspad/domain/consensus/model"
|
import (
|
||||||
|
"github.com/kaspanet/kaspad/domain/consensus/model"
|
||||||
|
"github.com/kaspanet/kaspad/domain/consensus/model/testapi"
|
||||||
|
)
|
||||||
|
|
||||||
type testReachabilityManager struct {
|
type testReachabilityManager struct {
|
||||||
*reachabilityManager
|
*reachabilityManager
|
||||||
@ -19,6 +22,6 @@ func (t testReachabilityManager) SetReachabilityReindexWindow(reindexWindow uint
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewTestReachabilityManager creates an instance of a TestReachabilityManager
|
// NewTestReachabilityManager creates an instance of a TestReachabilityManager
|
||||||
func NewTestReachabilityManager(manager model.ReachabilityManager) model.TestReachabilityManager {
|
func NewTestReachabilityManager(manager model.ReachabilityManager) testapi.TestReachabilityManager {
|
||||||
return &testReachabilityManager{reachabilityManager: manager.(*reachabilityManager)}
|
return &testReachabilityManager{reachabilityManager: manager.(*reachabilityManager)}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package transactionvalidator
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/kaspanet/kaspad/domain/consensus/model"
|
"github.com/kaspanet/kaspad/domain/consensus/model"
|
||||||
|
"github.com/kaspanet/kaspad/domain/consensus/model/testapi"
|
||||||
"github.com/kaspanet/kaspad/domain/consensus/utils/txscript"
|
"github.com/kaspanet/kaspad/domain/consensus/utils/txscript"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -10,7 +11,7 @@ type testTransactionValidator struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewTestTransactionValidator creates an instance of a TestTransactionValidator
|
// NewTestTransactionValidator creates an instance of a TestTransactionValidator
|
||||||
func NewTestTransactionValidator(baseTransactionValidator model.TransactionValidator) model.TestTransactionValidator {
|
func NewTestTransactionValidator(baseTransactionValidator model.TransactionValidator) testapi.TestTransactionValidator {
|
||||||
return &testTransactionValidator{transactionValidator: baseTransactionValidator.(*transactionValidator)}
|
return &testTransactionValidator{transactionValidator: baseTransactionValidator.(*transactionValidator)}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,16 +3,17 @@ package consensus
|
|||||||
import (
|
import (
|
||||||
"github.com/kaspanet/kaspad/domain/consensus/model"
|
"github.com/kaspanet/kaspad/domain/consensus/model"
|
||||||
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
||||||
|
"github.com/kaspanet/kaspad/domain/consensus/model/testapi"
|
||||||
"github.com/kaspanet/kaspad/domain/consensus/utils/consensusserialization"
|
"github.com/kaspanet/kaspad/domain/consensus/utils/consensusserialization"
|
||||||
)
|
)
|
||||||
|
|
||||||
type testConsensus struct {
|
type testConsensus struct {
|
||||||
*consensus
|
*consensus
|
||||||
|
|
||||||
testBlockBuilder model.TestBlockBuilder
|
testBlockBuilder testapi.TestBlockBuilder
|
||||||
testReachabilityManager model.TestReachabilityManager
|
testReachabilityManager testapi.TestReachabilityManager
|
||||||
testConsensusStateManager model.TestConsensusStateManager
|
testConsensusStateManager testapi.TestConsensusStateManager
|
||||||
testTransactionValidator model.TestTransactionValidator
|
testTransactionValidator testapi.TestTransactionValidator
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tc *testConsensus) BuildBlockWithParents(parentHashes []*externalapi.DomainHash,
|
func (tc *testConsensus) BuildBlockWithParents(parentHashes []*externalapi.DomainHash,
|
||||||
|
@ -2,6 +2,7 @@ package consensus
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/kaspanet/kaspad/domain/consensus/model"
|
"github.com/kaspanet/kaspad/domain/consensus/model"
|
||||||
|
"github.com/kaspanet/kaspad/domain/consensus/model/testapi"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (tc *testConsensus) DatabaseContext() model.DBReader {
|
func (tc *testConsensus) DatabaseContext() model.DBReader {
|
||||||
@ -56,7 +57,7 @@ func (tc *testConsensus) UTXODiffStore() model.UTXODiffStore {
|
|||||||
return tc.utxoDiffStore
|
return tc.utxoDiffStore
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tc *testConsensus) BlockBuilder() model.TestBlockBuilder {
|
func (tc *testConsensus) BlockBuilder() testapi.TestBlockBuilder {
|
||||||
return tc.testBlockBuilder
|
return tc.testBlockBuilder
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,7 +73,7 @@ func (tc *testConsensus) CoinbaseManager() model.CoinbaseManager {
|
|||||||
return tc.coinbaseManager
|
return tc.coinbaseManager
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tc *testConsensus) ConsensusStateManager() model.TestConsensusStateManager {
|
func (tc *testConsensus) ConsensusStateManager() testapi.TestConsensusStateManager {
|
||||||
return tc.testConsensusStateManager
|
return tc.testConsensusStateManager
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -108,7 +109,7 @@ func (tc *testConsensus) PruningManager() model.PruningManager {
|
|||||||
return tc.pruningManager
|
return tc.pruningManager
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tc *testConsensus) ReachabilityManager() model.TestReachabilityManager {
|
func (tc *testConsensus) ReachabilityManager() testapi.TestReachabilityManager {
|
||||||
return tc.testReachabilityManager
|
return tc.testReachabilityManager
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,6 +117,6 @@ func (tc *testConsensus) SyncManager() model.SyncManager {
|
|||||||
return tc.syncManager
|
return tc.syncManager
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tc *testConsensus) TransactionValidator() model.TestTransactionValidator {
|
func (tc *testConsensus) TransactionValidator() testapi.TestTransactionValidator {
|
||||||
return tc.testTransactionValidator
|
return tc.testTransactionValidator
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user