From a3b822d7f2e49343a62705c0b3247dc0febd54ee Mon Sep 17 00:00:00 2001 From: cuiweixie Date: Tue, 12 Aug 2025 10:32:19 +0800 Subject: [PATCH] internal/era: refactor to use slices.Reverse --- internal/era/accumulator.go | 11 ++--------- internal/era/era.go | 4 +++- internal/era/era_test.go | 4 +++- internal/era/iterator.go | 4 +++- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/internal/era/accumulator.go b/internal/era/accumulator.go index 83a761f1fd..fc6a3774a9 100644 --- a/internal/era/accumulator.go +++ b/internal/era/accumulator.go @@ -20,6 +20,7 @@ import ( "errors" "fmt" "math/big" + "slices" "github.com/ethereum/go-ethereum/common" ssz "github.com/ferranbt/fastssz" @@ -78,14 +79,6 @@ func (h *headerRecord) HashTreeRootWith(hh ssz.HashWalker) (err error) { // bigToBytes32 converts a big.Int into a little-endian 32-byte array. func bigToBytes32(n *big.Int) (b [32]byte) { n.FillBytes(b[:]) - reverseOrder(b[:]) + slices.Reverse(b[:]) return } - -// reverseOrder reverses the byte order of a slice. -func reverseOrder(b []byte) []byte { - for i := 0; i < 16; i++ { - b[i], b[32-i-1] = b[32-i-1], b[i] - } - return b -} diff --git a/internal/era/era.go b/internal/era/era.go index 118c67abfd..7d10c7cf99 100644 --- a/internal/era/era.go +++ b/internal/era/era.go @@ -23,6 +23,7 @@ import ( "math/big" "os" "path" + "slices" "strconv" "strings" "sync" @@ -244,7 +245,8 @@ func (e *Era) InitialTD() (*big.Int, error) { if err != nil { return nil, err } - td := new(big.Int).SetBytes(reverseOrder(rawTd)) + slices.Reverse(rawTd) + td := new(big.Int).SetBytes(rawTd) return td.Sub(td, header.Difficulty), nil } diff --git a/internal/era/era_test.go b/internal/era/era_test.go index 31fa0076a6..8587f03e9c 100644 --- a/internal/era/era_test.go +++ b/internal/era/era_test.go @@ -22,6 +22,7 @@ import ( "io" "math/big" "os" + "slices" "testing" "github.com/ethereum/go-ethereum/common" @@ -136,7 +137,8 @@ func TestEra1Builder(t *testing.T) { if err != nil { t.Fatalf("error reading td: %v", err) } - td := new(big.Int).SetBytes(reverseOrder(rawTd)) + slices.Reverse(rawTd) + td := new(big.Int).SetBytes(rawTd) if td.Cmp(chain.tds[i]) != 0 { t.Fatalf("mismatched tds: want %s, got %s", chain.tds[i], td) } diff --git a/internal/era/iterator.go b/internal/era/iterator.go index 3c4f82d850..4ea93b17d9 100644 --- a/internal/era/iterator.go +++ b/internal/era/iterator.go @@ -20,6 +20,7 @@ import ( "errors" "io" "math/big" + "slices" "github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/rlp" @@ -107,7 +108,8 @@ func (it *Iterator) TotalDifficulty() (*big.Int, error) { if err != nil { return nil, err } - return new(big.Int).SetBytes(reverseOrder(td)), nil + slices.Reverse(td) + return new(big.Int).SetBytes(td), nil } // RawIterator reads an RLP-encode Era1 entries.