mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-05-27 17:26:43 +00:00

* [NOD-1413] Remove /cmd/addblock * [NOD-1413] Define and implement TransactionValidator. * [NOD-1413] Make changes to ConsensusStateManager's interface. * [NOD-1413] Make changes to PruningManager's interface. * [NOD-1413] Make changes to DAGTraversalManager's interface. * [NOD-1413] Make changes to MultisetStore's interface. * [NOD-1413] Make changes to UTXODiffStore's interface. * [NOD-1413] Make changes to UTXODiffStore's interface harder. * [NOD-1413] Make changes to AcceptanceDataStore's interface harder. * [NOD-1413] Make changes to PruningStore's interface. * [NOD-1413] Delete BlockIndex. * [NOD-1413] Add FeeDataStore. * [NOD-1413] Update BlockMessageStore's interface. * [NOD-1413] Fix interface violations. * [NOD-1413] Add FeeDataStore to BlockProcessor. * [NOD-1413] Make go vet happy. * [NOD-1413] Add missing fields to ConsensusStateChanges. * [NOD-1413] Add another missing field to ConsensusStateChanges. * [NOD-1413] Add a reference to blockStore in consensusStateManager. * [NOD-1413] Add missing methods to UTXODiffStore. * [NOD-1413] Rename pruningPointStore to pruningStore everywhere. * [NOD-1413] Remove superfluous parameters from CalculateConsensusStateChanges. * [NOD-1413] Add missing dependencies to PruningManager. * [NOD-1413] Remove implementation-y functions from TransactionValidator's interface. * [NOD-1413] Make go vet happy. * [NOD-1413] Add a couple of methods to DAGTopologyManager. * [NOD-1413] Fix a typo in a file name. * [NOD-1413] Remove non-interface functions from Validator.
50 lines
1.5 KiB
Go
50 lines
1.5 KiB
Go
package pruningmanager
|
|
|
|
import (
|
|
"github.com/kaspanet/kaspad/domain/consensus/model"
|
|
)
|
|
|
|
// PruningManager resolves and manages the current pruning point
|
|
type PruningManager struct {
|
|
dagTraversalManager model.DAGTraversalManager
|
|
pruningStore model.PruningStore
|
|
dagTopologyManager model.DAGTopologyManager
|
|
blockStatusStore model.BlockStatusStore
|
|
consensusStateManager model.ConsensusStateManager
|
|
}
|
|
|
|
// New instantiates a new PruningManager
|
|
func New(
|
|
dagTraversalManager model.DAGTraversalManager,
|
|
pruningStore model.PruningStore,
|
|
dagTopologyManager model.DAGTopologyManager,
|
|
blockStatusStore model.BlockStatusStore,
|
|
consensusStateManager model.ConsensusStateManager) *PruningManager {
|
|
return &PruningManager{
|
|
dagTraversalManager: dagTraversalManager,
|
|
pruningStore: pruningStore,
|
|
dagTopologyManager: dagTopologyManager,
|
|
blockStatusStore: blockStatusStore,
|
|
consensusStateManager: consensusStateManager,
|
|
}
|
|
}
|
|
|
|
// FindNextPruningPoint finds the next pruning point from the
|
|
// given blockHash. If none found, returns false
|
|
func (pm *PruningManager) FindNextPruningPoint(blockGHOSTDAGData *model.BlockGHOSTDAGData) (found bool,
|
|
newPruningPoint *model.DomainHash, newPruningPointUTXOSet model.ReadOnlyUTXOSet) {
|
|
|
|
return false, nil, nil
|
|
}
|
|
|
|
// PruningPoint returns the hash of the current pruning point
|
|
func (pm *PruningManager) PruningPoint() *model.DomainHash {
|
|
return nil
|
|
}
|
|
|
|
// SerializedUTXOSet returns the serialized UTXO set of the
|
|
// current pruning point
|
|
func (pm *PruningManager) SerializedUTXOSet() []byte {
|
|
return nil
|
|
}
|