From 991e52db2aaf213d5867f3e89887e8f2b881b70c Mon Sep 17 00:00:00 2001 From: Aurora Gaffney Date: Sat, 29 Mar 2025 11:01:05 -0400 Subject: [PATCH] fix: expose Byron block number Signed-off-by: Aurora Gaffney --- cmd/gouroboros/chainsync.go | 10 ++++++---- ledger/byron/byron.go | 8 +++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/cmd/gouroboros/chainsync.go b/cmd/gouroboros/chainsync.go index 6e6b8236..f1184686 100644 --- a/cmd/gouroboros/chainsync.go +++ b/cmd/gouroboros/chainsync.go @@ -279,17 +279,19 @@ func chainSyncRollForwardHandler( case ledger.BlockTypeByronEbb: byronEbbBlock := block.(*ledger.ByronEpochBoundaryBlock) fmt.Printf( - "era = Byron (EBB), epoch = %d, slot = %d, id = %s\n", + "era = Byron (EBB), epoch = %d, slot = %d, block_no = %d, id = %s\n", byronEbbBlock.BlockHeader.ConsensusData.Epoch, byronEbbBlock.SlotNumber(), + byronEbbBlock.BlockNumber(), byronEbbBlock.Hash(), ) case ledger.BlockTypeByronMain: byronBlock := block.(*ledger.ByronMainBlock) fmt.Printf( - "era = Byron, epoch = %d, slot = %d, id = %s\n", + "era = Byron, epoch = %d, slot = %d, block_no = %d, id = %s\n", byronBlock.BlockHeader.ConsensusData.SlotId.Epoch, byronBlock.SlotNumber(), + byronBlock.BlockNumber(), byronBlock.Hash(), ) default: @@ -314,9 +316,9 @@ func blockFetchBlockHandler( ) error { switch block := blockData.(type) { case *ledger.ByronEpochBoundaryBlock: - fmt.Printf("era = Byron (EBB), epoch = %d, slot = %d, id = %s\n", block.BlockHeader.ConsensusData.Epoch, block.SlotNumber(), block.Hash()) + fmt.Printf("era = Byron (EBB), epoch = %d, slot = %d, block_no = %d, id = %s\n", block.BlockHeader.ConsensusData.Epoch, block.SlotNumber(), block.BlockNumber(), block.Hash()) case *ledger.ByronMainBlock: - fmt.Printf("era = Byron, epoch = %d, slot = %d, id = %s\n", block.BlockHeader.ConsensusData.SlotId.Epoch, block.SlotNumber(), block.Hash()) + fmt.Printf("era = Byron, epoch = %d, slot = %d, block_no = %d, id = %s\n", block.BlockHeader.ConsensusData.SlotId.Epoch, block.SlotNumber(), block.BlockNumber(), block.Hash()) case ledger.Block: fmt.Printf("era = %s, slot = %d, block_no = %d, id = %s\n", block.Era().Name, block.SlotNumber(), block.BlockNumber(), block.Hash()) } diff --git a/ledger/byron/byron.go b/ledger/byron/byron.go index 84e5e956..9a13aec8 100644 --- a/ledger/byron/byron.go +++ b/ledger/byron/byron.go @@ -66,7 +66,7 @@ type ByronMainBlockHeader struct { PubKey []byte Difficulty struct { cbor.StructAsArray - Unknown uint64 + Value uint64 } BlockSig []interface{} } @@ -105,8 +105,7 @@ func (h *ByronMainBlockHeader) PrevHash() string { } func (h *ByronMainBlockHeader) BlockNumber() uint64 { - // Byron blocks don't store the block number in the block - return 0 + return h.ConsensusData.Difficulty.Value } func (h *ByronMainBlockHeader) SlotNumber() uint64 { @@ -538,8 +537,7 @@ func (h *ByronEpochBoundaryBlockHeader) PrevHash() string { } func (h *ByronEpochBoundaryBlockHeader) BlockNumber() uint64 { - // Byron blocks don't store the block number in the block - return 0 + return h.ConsensusData.Difficulty.Value } func (h *ByronEpochBoundaryBlockHeader) SlotNumber() uint64 {