forked from kaspanet/kaspad
/
block.go
40 lines (34 loc) · 1.19 KB
/
block.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
31
32
33
34
35
36
37
38
39
40
package serialization
import (
"github.com/Hoosat-Oy/HTND/domain/consensus/model/externalapi"
)
// DomainBlockToDbBlock converts DomainBlocks to DbBlock
func DomainBlockToDbBlock(domainBlock *externalapi.DomainBlock) *DbBlock {
dbTransactions := make([]*DbTransaction, len(domainBlock.Transactions))
for i, domainTransaction := range domainBlock.Transactions {
dbTransactions[i] = DomainTransactionToDbTransaction(domainTransaction)
}
return &DbBlock{
Header: DomainBlockHeaderToDbBlockHeader(domainBlock.Header),
Transactions: dbTransactions,
}
}
// DbBlockToDomainBlock converts DbBlock to DomainBlock
func DbBlockToDomainBlock(dbBlock *DbBlock) (*externalapi.DomainBlock, error) {
domainBlockHeader, err := DbBlockHeaderToDomainBlockHeader(dbBlock.Header)
if err != nil {
return nil, err
}
domainTransactions := make([]*externalapi.DomainTransaction, len(dbBlock.Transactions))
for i, dbTransaction := range dbBlock.Transactions {
var err error
domainTransactions[i], err = DbTransactionToDomainTransaction(dbTransaction)
if err != nil {
return nil, err
}
}
return &externalapi.DomainBlock{
Header: domainBlockHeader,
Transactions: domainTransactions,
}, nil
}