Skip to content

execution: fix Chiado re-exec from genesis#18846

Merged
AskAlexSharov merged 1 commit intomainfrom
yperbasis/chiado0_fix
Jan 29, 2026
Merged

execution: fix Chiado re-exec from genesis#18846
AskAlexSharov merged 1 commit intomainfrom
yperbasis/chiado0_fix

Conversation

@yperbasis
Copy link
Member

@yperbasis yperbasis commented Jan 28, 2026

Revert a change introduced by PR #15387 that was causing Issue #18276. Gnosis has some hacks for an empty SystemAddress (see #18276 (comment) & PR #5645).

TODO: add a test. (I created a test for Erigon 2 in PR #18844, but I haven't ported it to Erigon 3 yet.)

@yperbasis yperbasis requested a review from mh0lt as a code owner January 28, 2026 16:52
@yperbasis yperbasis linked an issue Jan 28, 2026 that may be closed by this pull request
@AskAlexSharov AskAlexSharov merged commit ffeea28 into main Jan 29, 2026
26 checks passed
@AskAlexSharov AskAlexSharov deleted the yperbasis/chiado0_fix branch January 29, 2026 01:22
@taratorio
Copy link
Member

Legend!

yperbasis added a commit that referenced this pull request Jan 30, 2026
Giulio2002 added a commit that referenced this pull request Feb 2, 2026
Add early return for zero-value transfers to avoid unnecessary state
operations. This restores performance that was regressed by PR #18846
which removed the zero-check from SubBalance() for Gnosis compatibility.

The fix is safe because:
- Account creation/touching is handled by CreateAccount() before Transfer()
- EIP-7708 log emission is already guarded by !amount.IsZero()

Benchmark improvement:
- call-identity: 176ms -> 128ms (27% faster)
- call-EOA: 194ms -> 144ms (26% faster)
- Allocations reduced from 1.3M+ to near zero

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Giulio2002 added a commit that referenced this pull request Feb 2, 2026
…hains

Add early return for zero-value transfers to avoid unnecessary state
operations. The check is skipped for Aura chains (Gnosis) which need
zero-value transfers to touch accounts for state root compatibility.

This restores performance that was regressed by PR #18846 which removed
the zero-check from SubBalance() for Gnosis compatibility.

Benchmark improvement (non-Aura chains):
- call-identity: 176ms -> 128ms (27% faster)
- call-EOA: 194ms -> 144ms (26% faster)
- Allocations reduced from 1.3M+ to near zero

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.

can't re-exec chiado from block 0

3 participants