Skip to content

Commit

Permalink
Fix: Initialize the Header object and related fields
Browse files Browse the repository at this point in the history
  • Loading branch information
cyyber committed Aug 9, 2022
1 parent aeaca40 commit 969506c
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions block/block.go
Expand Up @@ -129,7 +129,15 @@ func (b *Block) Serialize() ([]byte, error) {
}

func (b *Block) DeSerialize(data []byte) error {
return proto.Unmarshal(data, b.pbData)
b.pbData = &protos.Block{}
b.header = &Header{}

if err := proto.Unmarshal(data, b.pbData); err != nil {
return err
}

b.Header().pbData = b.pbData.Header
return nil
}

func (b *Block) PartialBlockSigningHash() common.Hash {
Expand Down Expand Up @@ -170,6 +178,10 @@ func (b *Block) BlockSigningHash() common.Hash {
tmp := new(bytes.Buffer)
binary.Write(tmp, binary.BigEndian, b.Timestamp())
binary.Write(tmp, binary.BigEndian, b.Header().Number().Uint64())
binary.Write(tmp, binary.BigEndian, b.Header().BaseFee())
binary.Write(tmp, binary.BigEndian, b.Header().GasLimit())
binary.Write(tmp, binary.BigEndian, b.Header().GasUsed())

pHash := b.Header().ParentHash()
tmp.Write(pHash[:])

Expand Down Expand Up @@ -266,8 +278,10 @@ func NewBlock(networkId uint64, timestamp uint64, proposerDilithiumPK []byte, sl
blockHeader.TimestampSeconds = timestamp
blockHeader.SlotNumber = slotNumber
blockHeader.ParentHash = parentHeaderHash[:]
blockHeader.GasLimit = config.GetDevConfig().BlockGasLimit

b.pbData.Header = blockHeader
b.header = &Header{blockHeader}

feeReward := uint64(0)
for _, tx := range txs {
Expand Down Expand Up @@ -471,9 +485,7 @@ func GetBlock(db *db.DB, blockHeaderHash common.Hash) (*Block, error) {
return nil, err
}

b := &Block{
pbData: &protos.Block{},
}
b := &Block{}
return b, b.DeSerialize(data)
}

Expand Down

0 comments on commit 969506c

Please sign in to comment.