Skip to content

Conversation

@NazariiDenha
Copy link

No description provided.

yperbasis and others added 30 commits October 24, 2025 13:01
After adding `integration run_migrations` step within RPC Integration
Tests, some runs started to fail intermittently on Gnosis and Polygon
with error "database is not initialized":


https://github.com/erigontech/erigon/actions/runs/17097843879/job/48486419048

https://github.com/erigontech/erigon/actions/runs/17097843833/job/48486419046

https://github.com/erigontech/erigon/actions/runs/17099664503/job/48492523550

It turns out the unpredictable order of range iteration over `dbPaths`
map can lead any database different from `chaindata` to be opened as
first, which triggers the `openSnapshotOnce` function to be executed on
a database with empty `Config` table, hence the error.

This guarantees that `chaindata` is always migrated as first.
it was causing `seg retire` to just continue looping on prune
Co-authored-by: JkLondon <[email protected]>
Co-authored-by: JkLondon <[email protected]>
- use txNumReader.FindBlockNumber/max/min judiciously
- time taken on bor down from 20m+ to 1m.
Cherry-pick
9907be8
from release/3.0 to main.

---------

Co-authored-by: antonis19 <[email protected]>
…6808)

Fix two issues in AA transaction execution:

1. Add missing return statement after setting txTask.Error when 
   ValidationResults is empty to prevent panic from accessing 
   empty slice and type assertion
2. Fix negative length calculation in "validated AA bundle" log 
   from (startIdx-endIdx) to (endIdx-startIdx+1)
so file of .0-1024.kv is representing `range` of steps [0, 1024) 
we do split amount of keys in accounts and storage evenly across several
`shards` with cap to 128 steps per shard.

This shard is part of future file of 0-1024.kv. it does not represent
latest values as of step 128. It is just a dump of commitment branches
representing trie as of step 1024.

---------

Co-authored-by: alex <[email protected]>
Cherry pick commits in individual commits.
Move `erigon-lib/direct` into `node` and `erigon-lib/p2p/sentry` into
`p2p/sentry`. Part of #15713
…#16815) (#16819)

Cherr-pick of #16815

Due the Veblop hard fork the span sorting by `span.StartBlock` does not
make sense because the `StartBlock` will not be strictly increasing. The
sorting by `StartBlock` resulted in a span id gap in `ObserveSpan()` due
to a span with a lower Id but higher StartBlock being relocated to
higher indexes in the sorted array of fetched spans.

Therefore, this PR disables the sorting, and just relies on the
`span.Id` for the order.

---------

Co-authored-by: antonis19 <[email protected]>
moved `salt` out of config objects 
and `dirs` too (not compile-time-known field)
genesis write and state root calc:
- it's high-level rare-used logic: mostly `backend.go` calling it
- but it's very complex (high-level): creating temporary db, calculating
state root, etc...
- moving it out of `core` package. because `core` package is low-level
- also I moved `ReadChainConfig`/`WriteChainConfig` from `core` to
`rawdb` package

(In next PR I planing add blockFiles to `temporal.DB` - so, it will
manage open/close transactions on this files too - same as currently it
does for state files)
Unfortunately it was not used anywhere in files production/release
process. last commits are from 2023. so, removing.
Forostovec and others added 13 commits October 24, 2025 14:45
The error string for the Headers progress save incorrectly referenced
“Bodies,” likely due to copy/paste. This change aligns the error message
with the actual stage being saved, improving log accuracy and
debuggability.
(Nitpicking)
[engine_getblobsv1](https://github.com/ethereum/execution-apis/blob/main/src/engine/cancun.md#engine_getblobsv1)
was introduced in Dencun rather than Shappella. No impact since it's
just internal code. Reported in the Fusaka security contest.
Implementation of `eth_simulateV1` as specified
[here](https://ethereum.github.io/execution-apis/api-documentation/),
there are also some additional notes [specifically for
it](https://ethereum.github.io/execution-apis/ethsimulatev1-notes/).

Closes #9881

*Additional Changes*
- allow `nonce` override in `ethapi.ToMessage`
- avoid chain ID derivation from `v` in `ethapi.NewRPCTransaction` for
call simulation (i.e. where `v` is zero)
- add `BlobGasUsed` field in `types.Receipt`and extract
`core.MakeReceipt` to avoid duplicating the receipt creation
- extend `jsonrpc.BlockOverrides` to cover more fields and fix JSON tags
to match Geth's ones
- define more RPC error codes

*RPC Tests*
- erigontech/rpc-tests#459

*Known Issues*
- `stateRoot` mismatch in simulated blocks at latest state (4 tests are
currently disabled for this reason)
The RPC specification for trace_filter includes support for block tags
(e.g., 'latest', 'earliest').
Nethermind also supports this feature.
- might solve #16613
- in the issue, timeout happens and so receipt is nil, we still populate
the cache, leading to incorrect subsequent calls (also EMPTY is
returned, rather than timeout err)
@awskii awskii requested review from awskii and bzawisto October 27, 2025 09:04
@NazariiDenha
Copy link
Author

rpcd compatibility test

Run tests in parallel on localhost:8545/localhost:8551
Result directory: /home/erigon/rpc-tests/integration/results
0001. http           ::eth_accounts/test_01.json                                      Failed 
0017. http           ::eth_call/test_15.json                                          Failed               
0018. http           ::eth_call/test_16.json                                          Failed 
0033. http           ::eth_feeHistory/test_01.json                                    Failed               
0034. http           ::eth_feeHistory/test_02.json                                    Failed 
0047. http           ::eth_getBlockReceipts/test_01.json                              Failed               
0057. http           ::eth_getLogs/test_01.json                                       Failed               
0067. http           ::eth_getTransactionByHash/test_03.json                          Failed               
0075. http           ::eth_getTransactionReceipt/test_02.json                         Failed               
0077. http           ::eth_getTransactionReceipt/test_04.json                         Failed               
0078. http           ::eth_getTransactionReceipt/test_05.json                         Failed 
0079. http           ::eth_getTransactionReceipt/test_06.json                         Failed 
0085. http           ::eth_maxPriorityFeePerGas/test_01.json                          Failed               
0089. http           ::eth_syncing/test_01.json                                       Failed               
0092. http           ::net_version/test_01.json                                       Failed               
0093. http           ::web3_clientVersion/test_01.json                                Failed 
                                                                                                                  
Test time-elapsed:            0:00:00.213668
Available tests:              94
Available tested api:         37
Number of loop:               1
Number of executed tests:     95
Number of NOT executed tests: 0
Number of success tests:      79
Number of failed tests:       16

Comparing to results before merge https://github.com/erigontech/nitro-erigon/issues/133#issuecomment-3415715233

0067. http ::eth_getTransactionByHash/test_03.json failing because tested on rpcd , not erigon

0075--0079 eth_getTransactionReceipt/ failing on very small gasUsedForL1 difference, looking on it

@awskii awskii merged commit fe86bd0 into arb0 Oct 30, 2025
0 of 3 checks passed
@awskii awskii deleted the arb/merge-main branch October 30, 2025 14:33
@awskii awskii restored the arb/merge-main branch October 30, 2025 14:40
NazariiDenha added a commit that referenced this pull request Oct 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.