mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-05-23 23:36:56 +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.
57 lines
2.2 KiB
Go
57 lines
2.2 KiB
Go
package serialization
|
|
|
|
import "github.com/kaspanet/kaspad/domain/consensus/model"
|
|
|
|
// DomainAcceptanceDataToDbAcceptanceData converts model.AcceptanceData to DbAcceptanceData
|
|
func DomainAcceptanceDataToDbAcceptanceData(domainAcceptanceData model.AcceptanceData) *DbAcceptanceData {
|
|
dbBlockAcceptanceData := make([]*DbBlockAcceptanceData, len(domainAcceptanceData))
|
|
for i, blockAcceptanceData := range domainAcceptanceData {
|
|
dbTransactionAcceptanceData := make([]*DbTransactionAcceptanceData,
|
|
len(blockAcceptanceData.TransactionAcceptanceData))
|
|
|
|
for j, transactionAcceptanceData := range blockAcceptanceData.TransactionAcceptanceData {
|
|
dbTransaction := DomainTransactionToDbTransaction(transactionAcceptanceData.Transaction)
|
|
dbTransactionAcceptanceData[j] = &DbTransactionAcceptanceData{
|
|
Transaction: dbTransaction,
|
|
Fee: transactionAcceptanceData.Fee,
|
|
IsAccepted: transactionAcceptanceData.IsAccepted,
|
|
}
|
|
}
|
|
|
|
dbBlockAcceptanceData[i] = &DbBlockAcceptanceData{
|
|
TransactionAcceptanceData: dbTransactionAcceptanceData,
|
|
}
|
|
}
|
|
|
|
return &DbAcceptanceData{
|
|
BlockAcceptanceData: dbBlockAcceptanceData,
|
|
}
|
|
}
|
|
|
|
// DbAcceptanceDataToDomainAcceptanceData converts DbAcceptanceData to model.AcceptanceData
|
|
func DbAcceptanceDataToDomainAcceptanceData(dbAcceptanceData *DbAcceptanceData) (model.AcceptanceData, error) {
|
|
domainAcceptanceData := make(model.AcceptanceData, len(dbAcceptanceData.BlockAcceptanceData))
|
|
for i, dbBlockAcceptanceData := range dbAcceptanceData.BlockAcceptanceData {
|
|
domainTransactionAcceptanceData := make([]*model.TransactionAcceptanceData,
|
|
len(dbBlockAcceptanceData.TransactionAcceptanceData))
|
|
|
|
for j, dbTransactionAcceptanceData := range dbBlockAcceptanceData.TransactionAcceptanceData {
|
|
domainTransaction, err := DbTransactionToDomainTransaction(dbTransactionAcceptanceData.Transaction)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
domainTransactionAcceptanceData[j] = &model.TransactionAcceptanceData{
|
|
Transaction: domainTransaction,
|
|
Fee: dbTransactionAcceptanceData.Fee,
|
|
IsAccepted: dbTransactionAcceptanceData.IsAccepted,
|
|
}
|
|
}
|
|
|
|
domainAcceptanceData[i] = &model.BlockAcceptanceData{
|
|
TransactionAcceptanceData: domainTransactionAcceptanceData,
|
|
}
|
|
}
|
|
|
|
return domainAcceptanceData, nil
|
|
}
|