mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-05-22 23:07:04 +00:00

* [NOD-1451] Implement block validator * [NOD-1451] Implement block validator * [NOD-1451] Fix merge errors * [NOD-1451] Implement block validator * [NOD-1451] Implement checkTransactionInIsolation * [NOD-1451] Copy txscript to validator * [NOD-1451] Change txscript to new design * [NOD-1451] Add checkTransactionInContext * [NOD-1451] Add checkBlockSize * [NOD-1451] Add error handling * [NOD-1451] Implement checkTransactionInContext * [NOD-1451] Add checkTransactionMass placeholder * [NOD-1451] Finish validators * [NOD-1451] Add comments and stringers * [NOD-1451] Return model.TransactionValidator interface * [NOD-1451] Premake rule errors for each "code" * [NOD-1451] Populate transaction mass * [NOD-1451] Renmae functions * [NOD-1451] Always use skipPow=false * [NOD-1451] Renames * [NOD-1451] Remove redundant types from WriteElement * [NOD-1451] Fix error message * [NOD-1451] Add checkTransactionPayload * [NOD-1451] Add ValidateProofOfWorkAndDifficulty to block validator interface * [NOD-1451] Move stringers to model * [NOD-1451] Fix error message
27 lines
911 B
Go
27 lines
911 B
Go
package transactionvalidator
|
|
|
|
import (
|
|
"github.com/kaspanet/kaspad/domain/consensus/model"
|
|
)
|
|
|
|
// transactionValidator exposes a set of validation classes, after which
|
|
// it's possible to determine whether either a transaction is valid
|
|
type transactionValidator struct {
|
|
blockCoinbaseMaturity uint64
|
|
databaseContext model.DBContextProxy
|
|
pastMedianTimeManager model.PastMedianTimeManager
|
|
ghostdagDataStore model.GHOSTDAGDataStore
|
|
}
|
|
|
|
// New instantiates a new TransactionValidator
|
|
func New(blockCoinbaseMaturity uint64,
|
|
databaseContext model.DBContextProxy,
|
|
pastMedianTimeManager model.PastMedianTimeManager,
|
|
ghostdagDataStore model.GHOSTDAGDataStore) model.TransactionValidator {
|
|
return &transactionValidator{blockCoinbaseMaturity: blockCoinbaseMaturity,
|
|
databaseContext: databaseContext,
|
|
pastMedianTimeManager: pastMedianTimeManager,
|
|
ghostdagDataStore: ghostdagDataStore,
|
|
}
|
|
}
|