From 456d56c633de08d25abb0a44ced81f79ef6f3dc6 Mon Sep 17 00:00:00 2001 From: Sina Mahmoodi Date: Thu, 10 Apr 2025 15:23:17 +0200 Subject: [PATCH] rm era object accessors --- internal/era/era.go | 51 ---------------------------------------- internal/era/era_test.go | 25 ++++++++++---------- 2 files changed, 13 insertions(+), 63 deletions(-) diff --git a/internal/era/era.go b/internal/era/era.go index c2dfb39a7b..b4ccbfa07b 100644 --- a/internal/era/era.go +++ b/internal/era/era.go @@ -18,7 +18,6 @@ package era import ( "encoding/binary" - "errors" "fmt" "io" "math/big" @@ -126,28 +125,6 @@ func (e *Era) Close() error { return e.f.Close() } -// GetHeaderByNumber returns the header for the given block number. -func (e *Era) GetHeaderByNumber(num uint64) (*types.Header, error) { - if e.m.start > num || e.m.start+e.m.count <= num { - return nil, errors.New("out-of-bounds") - } - off, err := e.readOffset(num) - if err != nil { - return nil, err - } - - // Read and decompress header. - r, _, err := newSnappyReader(e.s, TypeCompressedHeader, off) - if err != nil { - return nil, err - } - var header types.Header - if err := rlp.Decode(r, &header); err != nil { - return nil, err - } - return &header, nil -} - // GetBlockByNumber returns the block for the given block number. func (e *Era) GetBlockByNumber(num uint64) (*types.Block, error) { if e.m.start > num || e.m.start+e.m.count <= num { @@ -177,34 +154,6 @@ func (e *Era) GetBlockByNumber(num uint64) (*types.Block, error) { return types.NewBlockWithHeader(&header).WithBody(body), nil } -// GetReceiptsByNumber returns the receipts for the given block number. -func (e *Era) GetReceiptsByNumber(num uint64) (types.Receipts, error) { - if e.m.start > num || e.m.start+e.m.count <= num { - return nil, errors.New("out-of-bounds") - } - off, err := e.readOffset(num) - if err != nil { - return nil, err - } - - // Skip over header and body. - off, err = e.s.SkipN(off, 2) - if err != nil { - return nil, err - } - - // Read and decompress receipts. - r, _, err := newSnappyReader(e.s, TypeCompressedReceipts, off) - if err != nil { - return nil, err - } - var receipts types.Receipts - if err := rlp.Decode(r, &receipts); err != nil { - return nil, err - } - return receipts, nil -} - // GetRawBodyByNumber returns the RLP-encoded body for the given block number. func (e *Era) GetRawBodyByNumber(num uint64) ([]byte, error) { if e.m.start > num || e.m.start+e.m.count <= num { diff --git a/internal/era/era_test.go b/internal/era/era_test.go index 46fc2e91f3..31fa0076a6 100644 --- a/internal/era/era_test.go +++ b/internal/era/era_test.go @@ -101,17 +101,6 @@ func TestEra1Builder(t *testing.T) { if !bytes.Equal(rawHeader, chain.headers[i]) { t.Fatalf("mismatched header: want %s, got %s", chain.headers[i], rawHeader) } - header, err := e.GetHeaderByNumber(i) - if err != nil { - t.Fatalf("error reading header: %v", err) - } - encHeader, err := rlp.EncodeToBytes(header) - if err != nil { - t.Fatalf("error encoding header: %v", err) - } - if !bytes.Equal(encHeader, chain.headers[i]) { - t.Fatalf("mismatched header: want %s, got %s", chain.headers[i], encHeader) - } // Check bodies. body, err := io.ReadAll(it.Body) @@ -130,7 +119,7 @@ func TestEra1Builder(t *testing.T) { if !bytes.Equal(rawReceipts, chain.receipts[i]) { t.Fatalf("mismatched receipts: want %s, got %s", chain.receipts[i], rawReceipts) } - receipts, err := e.GetReceiptsByNumber(i) + receipts, err := getReceiptsByNumber(e, i) if err != nil { t.Fatalf("error reading receipts: %v", err) } @@ -179,3 +168,15 @@ func mustEncode(obj any) []byte { } return b } + +func getReceiptsByNumber(e *Era, number uint64) (types.Receipts, error) { + r, err := e.GetRawReceiptsByNumber(number) + if err != nil { + return nil, err + } + var receipts types.Receipts + if err := rlp.DecodeBytes(r, &receipts); err != nil { + return nil, err + } + return receipts, nil +}