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

* [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.
51 lines
1.9 KiB
Go
51 lines
1.9 KiB
Go
package serialization
|
|
|
|
import (
|
|
"github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
|
|
)
|
|
|
|
// DomainBlockHeaderToDbBlockHeader converts DomainBlockHeader to DbBlockHeader
|
|
func DomainBlockHeaderToDbBlockHeader(domainBlockHeader *externalapi.DomainBlockHeader) *DbBlockHeader {
|
|
return &DbBlockHeader{
|
|
Version: domainBlockHeader.Version,
|
|
ParentHashes: DomainHashesToDbHashes(domainBlockHeader.ParentHashes),
|
|
HashMerkleRoot: DomainHashToDbHash(&domainBlockHeader.HashMerkleRoot),
|
|
AcceptedIDMerkleRoot: DomainHashToDbHash(&domainBlockHeader.AcceptedIDMerkleRoot),
|
|
UtxoCommitment: DomainHashToDbHash(&domainBlockHeader.UTXOCommitment),
|
|
TimeInMilliseconds: domainBlockHeader.TimeInMilliseconds,
|
|
Bits: domainBlockHeader.Bits,
|
|
Nonce: domainBlockHeader.Nonce,
|
|
}
|
|
}
|
|
|
|
// DbBlockHeaderToDomainBlockHeader converts DbBlockHeader to DomainBlockHeader
|
|
func DbBlockHeaderToDomainBlockHeader(dbBlockHeader *DbBlockHeader) (*externalapi.DomainBlockHeader, error) {
|
|
parentHashes, err := DbHashesToDomainHashes(dbBlockHeader.ParentHashes)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
hashMerkleRoot, err := DbHashToDomainHash(dbBlockHeader.HashMerkleRoot)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
acceptedIDMerkleRoot, err := DbHashToDomainHash(dbBlockHeader.AcceptedIDMerkleRoot)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
utxoCommitment, err := DbHashToDomainHash(dbBlockHeader.UtxoCommitment)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
return &externalapi.DomainBlockHeader{
|
|
Version: dbBlockHeader.Version,
|
|
ParentHashes: parentHashes,
|
|
HashMerkleRoot: *hashMerkleRoot,
|
|
AcceptedIDMerkleRoot: *acceptedIDMerkleRoot,
|
|
UTXOCommitment: *utxoCommitment,
|
|
TimeInMilliseconds: dbBlockHeader.TimeInMilliseconds,
|
|
Bits: dbBlockHeader.Bits,
|
|
Nonce: dbBlockHeader.Nonce,
|
|
}, nil
|
|
}
|