mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-05-25 16:26:48 +00:00

* [NOD-1488] Get rid of dbaccess * [NOD-1488] Rename dbwrapper to dbmanager * [NOD-1488] Create DBWriter interface * [NOD-1488] Fix block header store * [NOD-1488] Rename dbwrapper.go to dbmanager.go
82 lines
2.8 KiB
Go
82 lines
2.8 KiB
Go
package consensusstatemanager
|
|
|
|
import (
|
|
"github.com/kaspanet/kaspad/domain/consensus/model"
|
|
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
|
"github.com/kaspanet/kaspad/domain/dagconfig"
|
|
)
|
|
|
|
// consensusStateManager manages the node's consensus state
|
|
type consensusStateManager struct {
|
|
dagParams *dagconfig.Params
|
|
databaseContext model.DBReader
|
|
|
|
ghostdagManager model.GHOSTDAGManager
|
|
dagTopologyManager model.DAGTopologyManager
|
|
pruningManager model.PruningManager
|
|
|
|
blockStatusStore model.BlockStatusStore
|
|
ghostdagDataStore model.GHOSTDAGDataStore
|
|
consensusStateStore model.ConsensusStateStore
|
|
multisetStore model.MultisetStore
|
|
blockStore model.BlockStore
|
|
utxoDiffStore model.UTXODiffStore
|
|
blockRelationStore model.BlockRelationStore
|
|
acceptanceDataStore model.AcceptanceDataStore
|
|
blockHeaderStore model.BlockHeaderStore
|
|
}
|
|
|
|
// New instantiates a new ConsensusStateManager
|
|
func New(
|
|
databaseContext model.DBReader,
|
|
dagParams *dagconfig.Params,
|
|
ghostdagManager model.GHOSTDAGManager,
|
|
dagTopologyManager model.DAGTopologyManager,
|
|
pruningManager model.PruningManager,
|
|
blockStatusStore model.BlockStatusStore,
|
|
ghostdagDataStore model.GHOSTDAGDataStore,
|
|
consensusStateStore model.ConsensusStateStore,
|
|
multisetStore model.MultisetStore,
|
|
blockStore model.BlockStore,
|
|
utxoDiffStore model.UTXODiffStore,
|
|
blockRelationStore model.BlockRelationStore,
|
|
acceptanceDataStore model.AcceptanceDataStore,
|
|
blockHeaderStore model.BlockHeaderStore) model.ConsensusStateManager {
|
|
|
|
return &consensusStateManager{
|
|
dagParams: dagParams,
|
|
databaseContext: databaseContext,
|
|
|
|
ghostdagManager: ghostdagManager,
|
|
dagTopologyManager: dagTopologyManager,
|
|
pruningManager: pruningManager,
|
|
|
|
multisetStore: multisetStore,
|
|
blockStore: blockStore,
|
|
blockStatusStore: blockStatusStore,
|
|
ghostdagDataStore: ghostdagDataStore,
|
|
consensusStateStore: consensusStateStore,
|
|
utxoDiffStore: utxoDiffStore,
|
|
blockRelationStore: blockRelationStore,
|
|
acceptanceDataStore: acceptanceDataStore,
|
|
blockHeaderStore: blockHeaderStore,
|
|
}
|
|
}
|
|
|
|
// AddBlockToVirtual submits the given block to be added to the
|
|
// current virtual. This process may result in a new virtual block
|
|
// getting created
|
|
func (csm *consensusStateManager) AddBlockToVirtual(blockHash *externalapi.DomainHash) error {
|
|
return nil
|
|
}
|
|
|
|
// VirtualData returns data on the current virtual block
|
|
func (csm *consensusStateManager) VirtualData() (virtualData *model.VirtualData, err error) {
|
|
panic("implement me")
|
|
}
|
|
|
|
// PopulateTransactionWithUTXOEntries populates the transaction UTXO entries with data from the virtual.
|
|
func (csm *consensusStateManager) PopulateTransactionWithUTXOEntries(transaction *externalapi.DomainTransaction) error {
|
|
panic("implement me")
|
|
}
|