mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-05-23 15:26:42 +00:00

* [NOD-1517] Properly initialize consensus with Genesis block * [NOD-1517] Remove redundant AddHeaderTip * [NOD-1517] Don't return nil from dbHash<->DomainHash converters * [NOD-1517] Use pointer receivers * [NOD-1517] Use domain block in dagParams * [NOD-1517] Remove boolean from SelectedTip * [NOD-1517] Rename hasHeader to isHeadersOnlyBlock * [NOD-1517] Add comment * [NOD-1517] Change genesis version * [NOD-1517] Rename TestNewFactory->TestNewConsensus
42 lines
1.2 KiB
Go
42 lines
1.2 KiB
Go
package serialization
|
|
|
|
import (
|
|
"github.com/kaspanet/kaspad/domain/consensus/model"
|
|
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
|
)
|
|
|
|
func reachablityTreeNodeToDBReachablityTreeNode(reachabilityTreeNode *model.ReachabilityTreeNode) *DbReachabilityTreeNode {
|
|
var parent *DbHash
|
|
if reachabilityTreeNode.Parent != nil {
|
|
parent = DomainHashToDbHash(reachabilityTreeNode.Parent)
|
|
}
|
|
|
|
return &DbReachabilityTreeNode{
|
|
Children: DomainHashesToDbHashes(reachabilityTreeNode.Children),
|
|
Parent: parent,
|
|
Interval: reachablityIntervalToDBReachablityInterval(reachabilityTreeNode.Interval),
|
|
}
|
|
}
|
|
|
|
func dbReachablityTreeNodeToReachablityTreeNode(dbReachabilityTreeNode *DbReachabilityTreeNode) (*model.ReachabilityTreeNode, error) {
|
|
children, err := DbHashesToDomainHashes(dbReachabilityTreeNode.Children)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
var parent *externalapi.DomainHash
|
|
if dbReachabilityTreeNode.Parent != nil {
|
|
var err error
|
|
parent, err = DbHashToDomainHash(dbReachabilityTreeNode.Parent)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
}
|
|
|
|
return &model.ReachabilityTreeNode{
|
|
Children: children,
|
|
Parent: parent,
|
|
Interval: dbReachablityIntervalToReachablityInterval(dbReachabilityTreeNode.Interval),
|
|
}, nil
|
|
}
|