Skip to content

Commit f009424

Browse files
committed
rebase & blk marshal/unmarshal & merkleroot to ids.ID
1 parent 7586f40 commit f009424

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

chain/block.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ type StatefulBlock struct {
4242
Hght uint64 `json:"height"`
4343

4444
Txs []*Transaction `json:"txs"`
45-
TxsRoot []byte `json:"txsRoot"`
45+
TxsRoot ids.ID `json:"txsRoot"`
4646

4747
// StateRoot is the root of the post-execution state
4848
// of [Prnt].
@@ -1017,6 +1017,8 @@ func (b *StatefulBlock) Marshal() ([]byte, error) {
10171017

10181018
p.PackID(b.StateRoot)
10191019
p.PackUint64(uint64(b.WarpResults))
1020+
p.PackID(b.TxsRoot)
1021+
10201022
bytes := p.Bytes()
10211023
if err := p.Err(); err != nil {
10221024
return nil, err
@@ -1052,6 +1054,7 @@ func UnmarshalBlock(raw []byte, parser Parser) (*StatefulBlock, error) {
10521054

10531055
p.UnpackID(false, &b.StateRoot)
10541056
b.WarpResults = set.Bits64(p.UnpackUint64(false))
1057+
p.UnpackID(false, &b.TxsRoot)
10551058

10561059
// Ensure no leftover bytes
10571060
if !p.Empty() {

merkle/merkle.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@ import (
55

66
"github.com/ava-labs/avalanchego/database"
77
"github.com/ava-labs/avalanchego/database/memdb"
8+
"github.com/ava-labs/avalanchego/ids"
89
"github.com/ava-labs/avalanchego/trace"
910
"github.com/ava-labs/avalanchego/utils/units"
1011
"github.com/ava-labs/avalanchego/x/merkledb"
1112
"github.com/ava-labs/hypersdk/utils"
1213
)
1314

1415
// Generate merkle root for a set of items
15-
func GenerateMerkleRoot(ctx context.Context, tracer trace.Tracer, merkleItems [][]byte, consumeBytes bool) ([]byte, merkledb.MerkleDB, error) {
16+
func GenerateMerkleRoot(ctx context.Context, tracer trace.Tracer, merkleItems [][]byte, consumeBytes bool) (ids.ID, merkledb.MerkleDB, error) {
1617
batchOps := make([]database.BatchOp, 0, len(merkleItems))
1718

1819
for _, item := range merkleItems {
@@ -26,27 +27,26 @@ func GenerateMerkleRoot(ctx context.Context, tracer trace.Tracer, merkleItems []
2627
db, err := merkledb.New(ctx, memdb.New(), merkledb.Config{
2728
BranchFactor: merkledb.BranchFactor16,
2829
HistoryLength: 100,
29-
EvictionBatchSize: units.MiB,
3030
IntermediateNodeCacheSize: units.MiB,
3131
ValueNodeCacheSize: units.MiB,
3232
Tracer: tracer,
3333
})
3434
if err != nil {
35-
return nil, nil, err
35+
return ids.Empty, nil, err
3636
}
3737

3838
view, err := db.NewView(ctx, merkledb.ViewChanges{BatchOps: batchOps, ConsumeBytes: consumeBytes})
3939
if err != nil {
40-
return nil, nil, err
40+
return ids.Empty, nil, err
4141
}
4242
if err := view.CommitToDB(ctx); err != nil {
43-
return nil, nil, err
43+
return ids.Empty, nil, err
4444
}
4545

4646
root, err := db.GetMerkleRoot(ctx)
4747
if err != nil {
48-
return nil, nil, err
48+
return ids.Empty, nil, err
4949
}
5050

51-
return root[:], db, nil
51+
return root, db, nil
5252
}

0 commit comments

Comments
 (0)