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

* [NOD-1590] Moved all finality logic to FinalityManager * [NOD-1590] Add finality store * [NOD-1590] Implement optimized finalityPoint calculation mechanism * [NOD-1590] Add comments * [NOD-1590] Add finalityStore to consensus object, and TestConsensus * [NOD-1590] Added logs to finalityPoint calculation
14 lines
678 B
Go
14 lines
678 B
Go
package model
|
|
|
|
import "github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
|
|
|
// ReachabilityManager maintains a structure that allows to answer
|
|
// reachability queries in sub-linear time
|
|
type ReachabilityManager interface {
|
|
AddBlock(blockHash *externalapi.DomainHash) error
|
|
IsReachabilityTreeAncestorOf(blockHashA *externalapi.DomainHash, blockHashB *externalapi.DomainHash) (bool, error)
|
|
IsDAGAncestorOf(blockHashA *externalapi.DomainHash, blockHashB *externalapi.DomainHash) (bool, error)
|
|
UpdateReindexRoot(selectedTip *externalapi.DomainHash) error
|
|
FindAncestorOfThisAmongChildrenOfOther(this, other *externalapi.DomainHash) (*externalapi.DomainHash, error)
|
|
}
|