mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-03-30 15:08: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 {
|
||||
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)
|
||||
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)
|
||||
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 (
|
||||
"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
|
||||
@ -12,10 +11,3 @@ type TransactionValidator interface {
|
||||
ValidateTransactionInContextAndPopulateMassAndFee(tx *externalapi.DomainTransaction,
|
||||
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
|
||||
UTXODiffStore() model.UTXODiffStore
|
||||
|
||||
BlockBuilder() model.TestBlockBuilder
|
||||
BlockBuilder() TestBlockBuilder
|
||||
BlockProcessor() model.BlockProcessor
|
||||
BlockValidator() model.BlockValidator
|
||||
CoinbaseManager() model.CoinbaseManager
|
||||
ConsensusStateManager() model.TestConsensusStateManager
|
||||
ConsensusStateManager() TestConsensusStateManager
|
||||
DAGTopologyManager() model.DAGTopologyManager
|
||||
DAGTraversalManager() model.DAGTraversalManager
|
||||
DifficultyManager() model.DifficultyManager
|
||||
@ -46,7 +46,7 @@ type TestConsensus interface {
|
||||
MergeDepthManager() model.MergeDepthManager
|
||||
PastMedianTimeManager() model.PastMedianTimeManager
|
||||
PruningManager() model.PruningManager
|
||||
ReachabilityManager() model.TestReachabilityManager
|
||||
ReachabilityManager() TestReachabilityManager
|
||||
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}
|
||||
|
||||
// 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{
|
||||
blockBuilder: baseBlockBuilder.(*blockBuilder),
|
||||
testConsensus: testConsensus,
|
||||
|
@ -3,6 +3,7 @@ package consensusstatemanager
|
||||
import (
|
||||
"github.com/kaspanet/kaspad/domain/consensus/model"
|
||||
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
||||
"github.com/kaspanet/kaspad/domain/consensus/model/testapi"
|
||||
)
|
||||
|
||||
type testConsensusStateManager struct {
|
||||
@ -10,7 +11,7 @@ type testConsensusStateManager struct {
|
||||
}
|
||||
|
||||
// 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)}
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,9 @@
|
||||
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 {
|
||||
*reachabilityManager
|
||||
@ -19,6 +22,6 @@ func (t testReachabilityManager) SetReachabilityReindexWindow(reindexWindow uint
|
||||
}
|
||||
|
||||
// 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)}
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package transactionvalidator
|
||||
|
||||
import (
|
||||
"github.com/kaspanet/kaspad/domain/consensus/model"
|
||||
"github.com/kaspanet/kaspad/domain/consensus/model/testapi"
|
||||
"github.com/kaspanet/kaspad/domain/consensus/utils/txscript"
|
||||
)
|
||||
|
||||
@ -10,7 +11,7 @@ type testTransactionValidator struct {
|
||||
}
|
||||
|
||||
// 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)}
|
||||
}
|
||||
|
||||
|
@ -3,16 +3,17 @@ package consensus
|
||||
import (
|
||||
"github.com/kaspanet/kaspad/domain/consensus/model"
|
||||
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
||||
"github.com/kaspanet/kaspad/domain/consensus/model/testapi"
|
||||
"github.com/kaspanet/kaspad/domain/consensus/utils/consensusserialization"
|
||||
)
|
||||
|
||||
type testConsensus struct {
|
||||
*consensus
|
||||
|
||||
testBlockBuilder model.TestBlockBuilder
|
||||
testReachabilityManager model.TestReachabilityManager
|
||||
testConsensusStateManager model.TestConsensusStateManager
|
||||
testTransactionValidator model.TestTransactionValidator
|
||||
testBlockBuilder testapi.TestBlockBuilder
|
||||
testReachabilityManager testapi.TestReachabilityManager
|
||||
testConsensusStateManager testapi.TestConsensusStateManager
|
||||
testTransactionValidator testapi.TestTransactionValidator
|
||||
}
|
||||
|
||||
func (tc *testConsensus) BuildBlockWithParents(parentHashes []*externalapi.DomainHash,
|
||||
|
@ -2,6 +2,7 @@ package consensus
|
||||
|
||||
import (
|
||||
"github.com/kaspanet/kaspad/domain/consensus/model"
|
||||
"github.com/kaspanet/kaspad/domain/consensus/model/testapi"
|
||||
)
|
||||
|
||||
func (tc *testConsensus) DatabaseContext() model.DBReader {
|
||||
@ -56,7 +57,7 @@ func (tc *testConsensus) UTXODiffStore() model.UTXODiffStore {
|
||||
return tc.utxoDiffStore
|
||||
}
|
||||
|
||||
func (tc *testConsensus) BlockBuilder() model.TestBlockBuilder {
|
||||
func (tc *testConsensus) BlockBuilder() testapi.TestBlockBuilder {
|
||||
return tc.testBlockBuilder
|
||||
}
|
||||
|
||||
@ -72,7 +73,7 @@ func (tc *testConsensus) CoinbaseManager() model.CoinbaseManager {
|
||||
return tc.coinbaseManager
|
||||
}
|
||||
|
||||
func (tc *testConsensus) ConsensusStateManager() model.TestConsensusStateManager {
|
||||
func (tc *testConsensus) ConsensusStateManager() testapi.TestConsensusStateManager {
|
||||
return tc.testConsensusStateManager
|
||||
}
|
||||
|
||||
@ -108,7 +109,7 @@ func (tc *testConsensus) PruningManager() model.PruningManager {
|
||||
return tc.pruningManager
|
||||
}
|
||||
|
||||
func (tc *testConsensus) ReachabilityManager() model.TestReachabilityManager {
|
||||
func (tc *testConsensus) ReachabilityManager() testapi.TestReachabilityManager {
|
||||
return tc.testReachabilityManager
|
||||
}
|
||||
|
||||
@ -116,6 +117,6 @@ func (tc *testConsensus) SyncManager() model.SyncManager {
|
||||
return tc.syncManager
|
||||
}
|
||||
|
||||
func (tc *testConsensus) TransactionValidator() model.TestTransactionValidator {
|
||||
func (tc *testConsensus) TransactionValidator() testapi.TestTransactionValidator {
|
||||
return tc.testTransactionValidator
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user