stasatdaglabs 01c7c67aed
[NOD-1493] Implement serialization in AcceptanceDataStore, BlockRelationStore, BlockStatusStore, and BlockStore (#982)
* [NOD-1493] Add DbHashToDomainHash and DomainHashToDbHash.

* [NOD-1493] Use DbHashToDomainHash and DomainHashToDbHash.

* [NOD-1493] Begin implementing serializeAcceptanceData.

* [NOD-1493] Extract serialization blockHeader logic to serialization.

* [NOD-1493] Extract serialization acceptance data logic to serialization.

* [NOD-1493] Implement acceptance data serialization/deserialization.

* [NOD-1493] Implement transaction serialization/deserialization.

* [NOD-1493] Implement outpoint serialization/deserialization.

* [NOD-1493] Implement transaction ID serialization/deserialization.

* [NOD-1493] Implement subnetwork ID serialization/deserialization.

* [NOD-1493] Implement block relation serialization/deserialization.

* [NOD-1493] Implement block status serialization/deserialization.

* [NOD-1493] Implement block serialization/deserialization.

* [NOD-1493] Implement serialization/deserialization in BlockRelationStore.

* [NOD-1493] Implement serialization/deserialization in BlockStatusStore.

* [NOD-1493] Implement serialization/deserialization in BlockStore.

* [NOD-1493] Make go vet happy.

* [NOD-1493] Use DomainHashesToDbHashes.
2020-10-29 16:49:05 +02:00

31 lines
994 B
Go

package serialization
import (
"github.com/kaspanet/kaspad/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
}