Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/alerting.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.21'
go-version-file: go.mod

- name: check
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/golangci-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.21'
go-version-file: go.mod

- name: Build
run: go build -v ./cmd/...
Expand Down
11 changes: 4 additions & 7 deletions .github/workflows/golangci-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-go@v4
- uses: actions/setup-go@v6
with:
go-version: '1.24'
go-version-file: go.mod
cache: false
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
uses: golangci/golangci-lint-action@v9
with:
# Require: The version of golangci-lint to use.
# When `install-mode` is `binary` (default) the value can be v1.2 or v1.2.3 or `latest` to use the latest version.
# When `install-mode` is `goinstall` the value can be v1.2.3, `latest`, or the hash of a commit.
version: latest
version: v2.14.0

# Optional: working directory, useful for monorepos
# working-directory: somedir
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/integration-test-l1.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.22'
go-version-file: go.mod

- name: Use Node.js
uses: actions/setup-node@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.21'
go-version-file: go.mod

- name: Use Node.js
uses: actions/setup-node@v3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24'
go-version-file: go.mod

- name: Set up build environment
if: matrix.os == 'ubuntu-latest'
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Build ES node in a stock Go builder container
FROM golang:1.24 as builder
FROM golang:1.25.14 as builder
ADD . /es-node
WORKDIR /es-node
RUN make
Expand Down
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ test:
go test -v ./...

lint:
golangci-lint run -E goimports,sqlclosecheck,bodyclose,asciicheck,misspell,errorlint -e "errors.As" -e "errors.Is"
golangci-lint fmt --config=golangci.yml --diff
golangci-lint run --config=golangci.yml -E sqlclosecheck,bodyclose,asciicheck,misspell,errorlint


.PHONY: \
Expand Down
58 changes: 58 additions & 0 deletions ethstorage/eth/block_info_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package eth

import (
"encoding/json"
"os"
"testing"

"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/rlp"
"github.com/stretchr/testify/require"
)

func TestInfoToL1BlockRefCanonicalHeader(t *testing.T) {
for _, tc := range []struct {
file string
fields int
}{
{"testdata/sepolia-11700000.json", 21},
{"testdata/sepolia-11866124.json", 23},
} {
t.Run(tc.file, func(t *testing.T) {
data, err := os.ReadFile(tc.file)
require.NoError(t, err)
var response struct{ Result json.RawMessage }
require.NoError(t, json.Unmarshal(data, &response))
var canonical struct {
Hash common.Hash
ParentHash common.Hash
Number hexutil.Uint64
Timestamp hexutil.Uint64
}
require.NoError(t, json.Unmarshal(response.Result, &canonical))
var header types.Header
require.NoError(t, json.Unmarshal(response.Result, &header))

require.Equal(t, canonical.Hash, header.Hash())
require.Equal(t, L1BlockRef{
Hash: canonical.Hash,
Number: uint64(canonical.Number),
ParentHash: canonical.ParentHash,
Time: uint64(canonical.Timestamp),
}, InfoToL1BlockRef(&header))

encoded, err := (headerBlockInfo{&header}).HeaderRLP()
require.NoError(t, err)
require.Equal(t, canonical.Hash, crypto.Keccak256Hash(encoded))
var fields []rlp.RawValue
require.NoError(t, rlp.DecodeBytes(encoded, &fields))
require.Len(t, fields, tc.fields)
copied, err := (blockInfo{types.NewBlockWithHeader(&header)}).HeaderRLP()
require.NoError(t, err)
require.Equal(t, encoded, copied)
})
}
}
231 changes: 231 additions & 0 deletions ethstorage/eth/testdata/sepolia-11700000.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,231 @@
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"number": "0xb28720",
"hash": "0x76c55a4384716c7e2db081df94bb02e52ee373aa12b3adb9f354e4d1b79c4b1a",
"parentHash": "0xad83c69ae5b80e13f1bef1b893e0bb8a4c5a977edeccb9a44e6c33e2e89e7415",
"nonce": "0x0000000000000000",
"mixHash": "0x839726e4dc67fe0716cdafede4bdd39372f3013e223981e21329b6e4271966df",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"logsBloom": "0x34b2400680000000c0488002a08c401c00351000c0c1041c002018b4e81e95585d88582440a0a2348802270118156028a0308000950004059c01824808a52d80da01008160a02a002a2024aed2888431204816c23894044248ea0057880054400a1010097a1900400e40108089100841380810881678280080024410c024220061c20e22101469080915005822100401400408412010402d8a040152102202000aa02304242145400254690048228408308618882804228cc1a4d2a2052a05104318c40b352c702e9501382c492208985a30030c040280380b020160e00068002611030b008f1802484010300801408440a0070618a8804b04c1d021480d2228",
"stateRoot": "0xc0bdcf729bf6d27fac57222ece97cf5386c602209e49ddd3f657e429e9f6cfe8",
"miner": "0x3826539cbd8d68dcf119e80b994557b4278cec9f",
"difficulty": "0x0",
"extraData": "0x626573752032362e372d646576656c6f702d34393032366161",
"gasLimit": "0x3938700",
"gasUsed": "0x393750c",
"timestamp": "0x6aa75c88",
"transactionsRoot": "0x1facdc1f0022c7e979676cb8b5783bfa003a0cd18a191f17e678192c7e85be43",
"receiptsRoot": "0xd8c138b106007d0ace76149178388d65c33743ac8c60877c62f140d1b9341ad5",
"baseFeePerGas": "0x38c48e6f",
"withdrawalsRoot": "0x128ee948a13262bdd2bff7858e0c743bc3adaf3195d74b203b5a66e21bc7da62",
"blobGasUsed": "0xc0000",
"excessBlobGas": "0xc7d9642",
"parentBeaconBlockRoot": "0xddf85de14a5d9be2ce6354e9830e73541a2d4ad91a87b1900b923d9b9c7f5a51",
"requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"size": "0x7897",
"transactions": [
"0xb08676e12547dfd20d568c36703b6a0afda139e30a6222b4cb28ca32c6c1ba8f",
"0x30c55ea36e56a73e0fc1a6c63bab9dd280f7e18c0f3e79cc6fdff05a9481c438",
"0x065807fc823863f9893cac79c11203f1838afde6e3ca9eeefcacc376b339c611",
"0x702c322c046266d3046be960bc520e4a26318aa6485541232785845dd4214678",
"0x6460210deb8d419136529a920de63fc448d671678be228bf753a20319209af55",
"0x955ed6bf11ca1215ec75f86143fe5f9ad62e63e3566ace4dabd4613a0dec0dba",
"0x8ee5eb1ebc73afdf29ef97dd2851b016b8cfda22981f8612ce2a98403b4ec06b",
"0x9220c2610d0772637192d53d725d32085df961282c5788a6c9139f761485c774",
"0xf48583821fd1ef6ca47c2d7c995e1ca05d00239a33c489e5ae8aadbee9046ab5",
"0xb6bf9209f0c7678c541d2fc20357e839285b01128f1da475b64c07658f5d6bbf",
"0x67b0414ba42d8fdb0990f1b5a04c0b67f0234eeb2a21b30c8efce82877dec905",
"0x1dd48c9ca3249ead58f32671aed112dbe5683a6c4523f3b2f864939f7c8ad2df",
"0x27be189bc03b44b846e2cccf0294c5f6dbfc3e5fb2b4e5a79b5ccb8f7994c60b",
"0x4b3af013cec7fa40ab66988be3dad4f6cf69558bb68c480acedfdf030cf63915",
"0x43735882068082c53d78ac6bf57bbcc4aa1857687f3d01177d1e557001229351",
"0x56bea2fc2edea9b839f08f15c01fdd7e3e17ecbfcd7bbe04458b1b802d41ac04",
"0xd628e54d74fd7ee809613fb45a89e7e4fd859b6377e38347bf90176e593602da",
"0x3b6df3ed8f9f92fc7b2db591ffff82647060286b6cf174f954fa95c6beb3be58",
"0xc28466119d70cc7b6499b25967e445068d0691518e982bbc8c3827026ba0cd4a",
"0x4f2c04729a9a78a45017c0bdb79ed1a5ccfc86491b9d4d44dc82c784ee620bca",
"0xca6e431f3b13fdfaf12be8dca062d35a392a1cb1a0bfeb7e432ede9efdb5aa6f",
"0x506ea917f9269afd16590f5ed0063d10585938a00470096cb16fbef9d37de614",
"0xa3b065ea0655e8c825de5226561d04e41773f163ddc62ff409636fdd04f4de47",
"0x0a0b2e0ba1db8137af06b3f43442c2240a5635999bce3223e9c72275aaf5b280",
"0xf951210071a5f905a5351499c277fa84d5ad1756777407d2398a6cb5058cc487",
"0xee0f723388203839a053fbe1c909bc3ae4ac25bca93fe50d736f19c49e3f93d1",
"0x7118c5dbb964f4c9cbe9edd6d8c8ffbfb21facbddd95cba0713162f7604d41e2",
"0x6f3424542e1b87e4de38f4e523f0ab500f459461df6ff10e454067b6c076673a",
"0x4f2600748c5cf8f4d669c90648c9050b6b20b3ac0d4d9261e73332dc892d12b9",
"0x4ba5157e4dc76cec0133239685eb86cc7623469640362a738fe144743122fd24",
"0x2a1ef859d1cd6480546caa09eabd7e3fbade71d3244b7c28f307b9c60b06d39b",
"0xe1f18301592d08222f074713da33109e5d1fa6d458d715470daf3736d79b7adc",
"0x8b7dcabda417f54c072225ac11bd8b5399dd5172fc9d6070b20e4a90271a5cb8",
"0xcbd5fa6ee9d2e1e139267bc41ca037d178e74ed068ad44866eec22a65bfa8359",
"0x0dd89fe6605d22d079e91e40073730a18ac9f4ae8ebee7b5f71c0bccccd0752f",
"0xf01c873afd9e6c2225311691878361728563ea2d11b2e03d8d56db70df4a40d8",
"0x16a0f19d3804cec64d3305439cd85e38bb56318d129da329ce63fbaf45795aa6",
"0xca418e177a35dc3489eeb46fb75ee44edfffaa97eefc0cf82e1079125de000b5",
"0x5cc3705ad2eee0bdcbf6cfb9060134fbf853d487cfa02c5601941a3bcae54805",
"0x56591c50cac9863420dd3049a714158ff92ada72b5c8c04a121a813077f13d85",
"0xd372d501a881ad7a88070b93c199b0c0fee8890333a4b29f3bfd4692c7738b0e",
"0x989f17dda9a1deec0d587ea5aa8aa620f6855601bbff1675c3cb4616fb3c574d",
"0x458ff696318a54c7d39e28bb53c5fa752ef7b0ee1f75a38dd01676c1057730df",
"0x1d8331308e1c3483d754afca899344b114eb254c00d1bde12c4ef2fd58824525",
"0x7baf3d3df1b75d30ce1fdf44b018fcf0f1ff704e28e502d37dd006fa58f24080",
"0x9366e788e7c327700828c660a504a7b108925bff81de7430de808563e0f107aa",
"0x367add312cf938b421140a14583b9221082c6c55d3f9aa01b92b2f99486f46d8",
"0x292faa8d032f077ae2d8f7c5a8d3d1c057b51fcf0bba445e9024296b2c1e012a",
"0x2f978e19de7f95f1bdd45bca5cbeaaa43b594fc5dbb961608d4a47ce55acf7c8",
"0x30ddf8cc061ca96ff4358d242f716ddb66e628d702f7af2c012263bf9f1cd816",
"0x528a312a345688dad7fb4fc0452db38ab67e86279e7e3617999585a15724ba89",
"0xca62700e7388cb5b8401fa8a6b662c8cfda8681ba3b0425b0fffbe6c31e2e96f",
"0x40e48dbf9dd29d78ad1c67d3d55d81ff8c0491dc84c2139636da3791020bc1ac",
"0xdb48546363299452aeda565960b3f29bde926840de58c074a4fe010ade29c944",
"0x5aea0cb87570d428929dcdf5259262ad0904cc5ec4bcba25d73b68e977668f04",
"0x86ce1dc11efca15aa769c8885154fdeb4dbd0fb5e1d5cc778eea6edd4585bf4a",
"0xaf049c4f4367e0c0a2f183918f86a55f588eb91783b5af2fcd99f5c03dd734e0",
"0x8711e5228d40c22d1b49e5b8fa51cfcfd4b513ce9ca136a4ff79659221bd0d11",
"0xc903779b81af9d888d10fd8cd6fda9708110144aa4dec18a91aff7f6dc7cbabc",
"0x7069aed339b9c2a237b10e6da4842817b0bdc5355849cc8bb1e639563d42cac3",
"0xaa5b7d96d6ad7370aecc3a68e9c156430aa28d53766418ae63c109085b2adab6",
"0xdf5fe90b9b9113a5de8145b7c3c4053191290cd64631c2a93512f9876758d3f5",
"0xad42813ef68b9e918b4b1290d1662aa4f3b7b4377f147a5680338e261b06e8cd",
"0x1312109039a5fd472fea958bd5a1a98b8b699ac80492d8158962497dd4a57128",
"0xfde8e7996d7063fb10edf8def657c907c593ef484b4ab14ffdbf27a4e329d25f",
"0x2a348a7917e83a55c48d069f6388b6b3bbaa976e052267c2f690037f62d7a690",
"0x85abef1c48c720482746898eaeee56c5319bbe427e3156735300471c585e8afb",
"0xf67eaaa16e098b2931d9f0918a3146f96bfed460ce471a0a386dfa2d1b6d6496",
"0x745a902987923f30a53c5338dbd7864733cd9ef608b65673647cd72e4230e524",
"0xf5ca63592181202042798a5e461293dc5585e19750ad399dea09d9dde0601f3b",
"0x8d2d9f92f54277dad24358a8c17b6daa3aa77e5c4888a17b3953be3abc537099",
"0x8a3dd346d5e1719158d59d873a1ff5673d71d081038d6b1dc78508306813f768",
"0x200ff9592f8a34982afc7b89137b10fc45e1e65c650604f2831012a72b135798",
"0x62dfdf7e97a028b457c575bdabdd0bce94321af450c776de16544009fc2f1679",
"0x61503114ad0bdc65322c076eeb2a53572447dc56edf036763d0b3ceb4f18014a",
"0x0f5f99a933d416ca994aa4a7fc8f826db268dd92d27b69647169ab38da40d58f",
"0x892f245d866d8ddbb34a3230f05738250425eb57a1c6f41a4be441073422aaef",
"0x69dbee0e73d3df86316a26e2c188cb52b75de5270e94502e934c08c2557021ad",
"0x3058cd2a05ad9daa0bc3dd65a74f720170c9f90199f948f58d5ed3796504e4eb",
"0xf27faf34fa90a5762d647e9b54aeefa8c5e5c34828a7b186d9c6c17fc871edca",
"0x275024c97f453fc8da31bf2de6a66230b388042817d20ea5f37e2d385189ac23",
"0x3819e757853fc4d15c18e64ed251abb228d60f5fed20a503ac49c620d86cd2c9",
"0xf3590f31d606b506df94afee97e9afdc4a2fe6490db1140c7bb3ae70dcfbb019",
"0x07b7040be242cdef292c962fe86fc6921b6370a907b5c8d24fc39dee53443c7d",
"0xe113f8061705f6722c19d4e0aba6272bc953400ee1bdce96321865504c4470f0",
"0x6efdf4551e19739f66702ee7411e3c24e74453db723cb2efd4cdaa0256a5fbd5",
"0x9a3c15d2d24a243bd3ae9e99917140e646cf1f3b92307b970d7ce7636e1f13cb",
"0x96c8c5a610b3a27cac9c3aa059e5bbfcd18a02ac300dc111008d9fadcd68da48",
"0xb3f02c96903a1d178e7c3210d8afa9db3099d530724e500d062be6d72848f1c8",
"0xe1907285017ba140149521517e1bfb08b17cc3b6b73974de231dcd35d7764d81",
"0xbb67390730fa4a43d16016a005c84632590c20778663bacff85af037b12150e6",
"0x2afe7bdc721fa54ae4218ca49866a49c9e61914a7d3548aa34370e68a1b5f138",
"0xd246d2389cc543c5613e44607cf6462b26663678971b306edc655ae8a89afe4d",
"0x9ece3a04ed7e2e2460b3c26945e154085666748a6f99a1ab4b552f695ee36cc5",
"0x1290343e44812c46ace69e55867cd7b1b97cc475a2d8c59e6afce3fac2b73564",
"0xc4dbb297909caeeb85093b6f11bac12e550a9df1613c572822e09d6b009fdc31",
"0xcfe242991643b12c5f395b0d3e6e006b6638212202efc31688cd470a4b79bd30",
"0xea7f8788eb2d8f47233f2beb5160b33ce3b7e1db057321fc1d0f25f1c32a297a",
"0xc9c3724b22726b4827165b9ea1ee5fe055125d77bdb73a62a1d3a6b4aa76b2fb",
"0x2d66fb5bd7b35acf63498d6f4c9c2ee865ced23459ff5ab487d5e9fdd1caa32b",
"0x68821162579dde7eef27d6757737887824cfdd5f2fdf86cf51ace3ae9636565a"
],
"uncles": [],
"withdrawals": [
{
"index": "0x84df199",
"validatorIndex": "0x55a",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x35861"
},
{
"index": "0x84df19a",
"validatorIndex": "0x55b",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x35861"
},
{
"index": "0x84df19b",
"validatorIndex": "0x55c",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x35861"
},
{
"index": "0x84df19c",
"validatorIndex": "0x55d",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x35861"
},
{
"index": "0x84df19d",
"validatorIndex": "0x55e",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x35861"
},
{
"index": "0x84df19e",
"validatorIndex": "0x55f",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x35861"
},
{
"index": "0x84df19f",
"validatorIndex": "0x560",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x35861"
},
{
"index": "0x84df1a0",
"validatorIndex": "0x561",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x35861"
},
{
"index": "0x84df1a1",
"validatorIndex": "0x562",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x1ea64b"
},
{
"index": "0x84df1a2",
"validatorIndex": "0x563",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x35861"
},
{
"index": "0x84df1a3",
"validatorIndex": "0x564",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x1ee47e"
},
{
"index": "0x84df1a4",
"validatorIndex": "0x565",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x35861"
},
{
"index": "0x84df1a5",
"validatorIndex": "0x566",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x38ea3"
},
{
"index": "0x84df1a6",
"validatorIndex": "0x567",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x35861"
},
{
"index": "0x84df1a7",
"validatorIndex": "0x568",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x3c4e5"
},
{
"index": "0x84df1a8",
"validatorIndex": "0x569",
"address": "0x89bb1332db257b983ada216746903be808938da1",
"amount": "0x35861"
}
]
}
}
Loading
Loading