/
blockrelations.go
30 lines (26 loc) · 1001 Bytes
/
blockrelations.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package serialization
import (
"github.com/Nirvana-Chain/nirvanad/domain/consensus/model"
)
// DomainBlockRelationsToDbBlockRelations converts model.BlockRelations to DbBlockRelations
func DomainBlockRelationsToDbBlockRelations(domainBlockRelations *model.BlockRelations) *DbBlockRelations {
return &DbBlockRelations{
Parents: DomainHashesToDbHashes(domainBlockRelations.Parents),
Children: DomainHashesToDbHashes(domainBlockRelations.Children),
}
}
// DbBlockRelationsToDomainBlockRelations converts DbBlockRelations to model.BlockRelations
func DbBlockRelationsToDomainBlockRelations(dbBlockRelations *DbBlockRelations) (*model.BlockRelations, error) {
domainParentHashes, err := DbHashesToDomainHashes(dbBlockRelations.Parents)
if err != nil {
return nil, err
}
domainChildHashes, err := DbHashesToDomainHashes(dbBlockRelations.Children)
if err != nil {
return nil, err
}
return &model.BlockRelations{
Parents: domainParentHashes,
Children: domainChildHashes,
}, nil
}