New gas proposal
Worst-case-across-clients gas costs derived from the runtime fits, compared against
the current Osaka cost table. Rendered from the generated proposal report; see the
runtime and glue pages for the
underlying per-fit detail.
Generated 2026-07-07 13:00:47Z · fork osaka · anchor_rate 100 Mgas/s
Summary: 12 parameters proposed — 10 increased, 2 decreased, 0 new, 0 unresolved · 4 warnings · 0 poor-fit selections
Proposed gas parameters
| Gas param | Current gas | Proposed gas | Δ% |
| COLD_STORAGE_ACCESS |
2100 |
2428 |
+16% |
| COLD_STORAGE_WRITE |
5000 |
13473 |
+169% |
| COLD_ACCOUNT_NOCODE_ACCESS |
2600 |
2268 |
-13% |
| COLD_ACCOUNT_CODE_ACCESS |
2600 |
2773 |
+7% |
| COLD_ACCOUNT_NOCODE_WRITE |
9300 |
19614 |
+111% |
| COLD_ACCOUNT_CODE_WRITE |
9300 |
19614 |
+111% |
| WARM_ACCESS |
100 |
49 |
-51% |
| STORAGE_WRITE |
2800 |
11045 |
+294% |
| ACCOUNT_WRITE |
6700 |
17346 |
+159% |
| REFUND_STORAGE_CLEAR |
4800 |
12935 |
+169% |
| TX_ACCESS_LIST_STORAGE_KEY |
1900 |
2428 |
+28% |
| TX_ACCESS_LIST_ADDRESS |
2400 |
2773 |
+16% |
Client comparison
Worst client vs. second-worst client per gas parameter. The Ratio column is worst gas / second-worst gas — values close to 1× mean the worst case sits next to the rest of the field, while large ratios flag the worst client as an outlier.
| Gas param |
Worst client |
Worst gas |
Second-worst client |
Second-worst gas |
Ratio |
| COLD_STORAGE_ACCESS |
geth |
2428 |
besu |
1518 |
1.60× |
| COLD_STORAGE_WRITE |
geth |
13473 |
erigon |
12143 |
1.11× |
| COLD_ACCOUNT_NOCODE_ACCESS |
geth |
2268 |
besu |
1579 |
1.44× |
| COLD_ACCOUNT_CODE_ACCESS |
besu |
2773 |
erigon |
2446 |
1.13× |
| COLD_ACCOUNT_NOCODE_WRITE |
erigon |
19614 |
geth |
9919 |
1.98× |
| COLD_ACCOUNT_CODE_WRITE |
erigon |
19614 |
geth |
9919 |
1.98× |
| WARM_ACCESS |
besu |
49 |
erigon |
49 |
1.00× |
Per-client proposed gas for each parameter. Cells are colored by log2(proposed / current) — red means the proposal is more expensive than the current gas cost, green means cheaper, and white sits at unchanged. Annotations show the absolute proposed gas value; blank rows are parameters with no prior baseline (see warnings below).
| besu | erigon | ethrex | geth | nethermind | reth |
|---|
| COLD_STORAGE_ACCESS | 1,518 | 673 | 1,395 | 2,428 | 920 | 144 |
|---|
| COLD_STORAGE_WRITE | 6,687 | 12,143 | 2,449 | 13,473 | 5,547 | 3,907 |
|---|
| COLD_ACCOUNT_NOCODE_ACCESS | 1,579 | 1,098 | 727 | 2,268 | 459 | 110 |
|---|
| COLD_ACCOUNT_CODE_ACCESS | 2,773 | 2,446 | 791 | 2,361 | 1,494 | 413 |
|---|
| COLD_ACCOUNT_NOCODE_WRITE | 7,036 | 19,614 | 2,212 | 9,919 | 4,727 | 2,517 |
|---|
| COLD_ACCOUNT_CODE_WRITE | 8,845 | 19,614 | 2,304 | 9,919 | 4,727 | 2,776 |
|---|
| WARM_ACCESS | 49 | 49 | 11 | 19 | 39 | 6 |
|---|
Worst-case provenance per gas param
One collapsible block per gas parameter showing every per-client candidate that the worst-case selector saw. Rows are model combos (the source regression's test_name, target_opcode, model_coef_name, and any model_by factors — components constant within a parameter are dropped from the label). Cells carry each candidate's proposed gas; the cell the per-client selector picked is outlined in black. Colors are log2(proposed / current) against that parameter's baseline on a per-parameter symmetric scale.
COLD_STORAGE_ACCESS — 4 combos × 6 clients
| besu | erigon | ethrex | geth | nethermind | reth |
|---|
| test_sload_bloated · SLOAD · slots=False | 768 | 673 | 901 | 2,428 | 345 | 126 |
|---|
| test_sload_bloated · SLOAD · slots=True | 1,461 | 660 | 1,320 | 2,382 | 899 | 142 |
|---|
| test_sstore_bloated · SSTORE · slots=False | 828 | 664 | 949 | 2,425 | 347 | 128 |
|---|
| test_sstore_bloated · SSTORE · slots=True | 1,518 | 662 | 1,395 | 2,355 | 920 | 144 |
|---|
COLD_STORAGE_WRITE — 2 combos × 6 clients
| besu | erigon | ethrex | geth | nethermind | reth |
|---|
| slots=False | 14,199 | 0 | 1,898 | 13,473 | 5,547 | 3,907 |
|---|
| slots=True | 6,687 | 12,143 | 2,449 | 9,317 | 3,681 | 2,362 |
|---|
COLD_ACCOUNT_NOCODE_ACCESS — 13 combos × 6 clients
| Label |
Combo |
M1 |
test_name=test_account_access / target_opcode=BALANCE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=BALANCE |
M2 |
test_name=test_account_access / target_opcode=BALANCE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=BALANCE |
M3 |
test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=CALL |
M4 |
test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALL |
M5 |
test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=CALLCODE |
M6 |
test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE |
M7 |
test_name=test_account_access / target_opcode=DELEGATECALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=DELEGATECALL |
M8 |
test_name=test_account_access / target_opcode=DELEGATECALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=DELEGATECALL |
M9 |
test_name=test_account_access / target_opcode=EXTCODECOPY / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODECOPY |
M10 |
test_name=test_account_access / target_opcode=EXTCODEHASH / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODEHASH |
M11 |
test_name=test_account_access / target_opcode=EXTCODESIZE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODESIZE |
M12 |
test_name=test_account_access / target_opcode=STATICCALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=STATICCALL |
M13 |
test_name=test_account_access / target_opcode=STATICCALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=STATICCALL |
| besu | erigon | ethrex | geth | nethermind | reth |
|---|
| M1 | 1,293 | 952 | 722 | 1,068 | 416 | 105 |
|---|
| M2 | 1,342 | 850 | 201 | 2,159 | 390 | 72 |
|---|
| M3 | 1,547 | 1,078 | 727 | 1,088 | 459 | 108 |
|---|
| M4 | 1,579 | 969 | 206 | 2,203 | 431 | 76 |
|---|
| M5 | 1,471 | 973 | 727 | 1,111 | 433 | 108 |
|---|
| M6 | 1,482 | 900 | 204 | 2,258 | 419 | 75 |
|---|
| M7 | 1,448 | 977 | 725 | 1,104 | 446 | 109 |
|---|
| M8 | 1,489 | 900 | 205 | 2,238 | 443 | 76 |
|---|
| M9 | 43 | 8 | 4 | 36 | 32 | 3 |
|---|
| M10 | 1,314 | 818 | 200 | 2,174 | 395 | 72 |
|---|
| M11 | 1,325 | 837 | 197 | 2,169 | 407 | 70 |
|---|
| M12 | 1,521 | 1,004 | 725 | 1,109 | 449 | 110 |
|---|
| M13 | 1,566 | 1,098 | 203 | 2,268 | 436 | 77 |
|---|
COLD_ACCOUNT_CODE_ACCESS — 16 combos × 6 clients
| Label |
Combo |
M1 |
test_name=test_account_access / target_opcode=BALANCE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=BALANCE |
M2 |
test_name=test_account_access / target_opcode=BALANCE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=BALANCE |
M3 |
test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALL |
M4 |
test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALL |
M5 |
test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALLCODE |
M6 |
test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE |
M7 |
test_name=test_account_access / target_opcode=DELEGATECALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=DELEGATECALL |
M8 |
test_name=test_account_access / target_opcode=DELEGATECALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=DELEGATECALL |
M9 |
test_name=test_account_access / target_opcode=EXTCODECOPY / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=EXTCODECOPY |
M10 |
test_name=test_account_access / target_opcode=EXTCODECOPY / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODECOPY |
M11 |
test_name=test_account_access / target_opcode=EXTCODEHASH / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=EXTCODEHASH |
M12 |
test_name=test_account_access / target_opcode=EXTCODEHASH / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODEHASH |
M13 |
test_name=test_account_access / target_opcode=EXTCODESIZE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=EXTCODESIZE |
M14 |
test_name=test_account_access / target_opcode=EXTCODESIZE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODESIZE |
M15 |
test_name=test_account_access / target_opcode=STATICCALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=STATICCALL |
M16 |
test_name=test_account_access / target_opcode=STATICCALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=STATICCALL |
| besu | erigon | ethrex | geth | nethermind | reth |
|---|
| M1 | 2,546 | 2,446 | 771 | 2,306 | 1,306 | 399 |
|---|
| M2 | 1,342 | 850 | 201 | 2,159 | 390 | 72 |
|---|
| M3 | 2,773 | 2,910 | 786 | 2,357 | 1,494 | 407 |
|---|
| M4 | 1,579 | 969 | 206 | 2,203 | 431 | 76 |
|---|
| M5 | 2,753 | 2,803 | 787 | 2,361 | 1,472 | 405 |
|---|
| M6 | 1,482 | 900 | 204 | 2,258 | 419 | 75 |
|---|
| M7 | 2,726 | 2,810 | 791 | 2,354 | 1,364 | 408 |
|---|
| M8 | 1,489 | 900 | 205 | 2,238 | 443 | 76 |
|---|
| M9 | 186 | 33 | 22 | 76 | 131 | 11 |
|---|
| M10 | 43 | 8 | 4 | 36 | 32 | 3 |
|---|
| M11 | 2,535 | 2,407 | 778 | 2,312 | 1,370 | 404 |
|---|
| M12 | 1,314 | 818 | 200 | 2,174 | 395 | 72 |
|---|
| M13 | 2,553 | 2,772 | 776 | 2,308 | 1,368 | 398 |
|---|
| M14 | 1,325 | 837 | 197 | 2,169 | 407 | 70 |
|---|
| M15 | 2,772 | 2,800 | 787 | 2,351 | 1,471 | 413 |
|---|
| M16 | 1,566 | 1,098 | 203 | 2,268 | 436 | 77 |
|---|
COLD_ACCOUNT_NOCODE_WRITE — 4 combos × 6 clients
| Label |
Combo |
M1 |
test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=CALL |
M2 |
test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALL |
M3 |
test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_EOA / param_opcode=CALLCODE |
M4 |
test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE |
| besu | erigon | ethrex | geth | nethermind | reth |
|---|
| M1 | 7,036 | 6,124 | 2,212 | 5,953 | 2,858 | 2,298 |
|---|
| M2 | 15,978 | 19,614 | 1,234 | 9,919 | 4,727 | 2,517 |
|---|
| M3 | 2,565 | 767 | 0 | 1,380 | 446 | 158 |
|---|
| M4 | 545 | 163 | 28 | 1,042 | 173 | 33 |
|---|
COLD_ACCOUNT_CODE_WRITE — 4 combos × 6 clients
| Label |
Combo |
M1 |
test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALL |
M2 |
test_name=test_account_access / target_opcode=CALL / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALL |
M3 |
test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALLCODE |
M4 |
test_name=test_account_access / target_opcode=CALLCODE / model_coef_name=target_coef / param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE |
| besu | erigon | ethrex | geth | nethermind | reth |
|---|
| M1 | 8,845 | 18,080 | 2,304 | 9,796 | 4,347 | 2,776 |
|---|
| M2 | 15,978 | 19,614 | 1,234 | 9,919 | 4,727 | 2,517 |
|---|
| M3 | 3,139 | 2,378 | 0 | 2,524 | 1,567 | 497 |
|---|
| M4 | 545 | 163 | 28 | 1,042 | 173 | 33 |
|---|
WARM_ACCESS — 8 combos × 6 clients
| Label |
Combo |
M1 |
test_name=test_ext_account_query_warm / target_opcode=BALANCE / model_coef_name=target_coef / param_opcode=BALANCE |
M2 |
test_name=test_ext_account_query_warm / target_opcode=CALL / model_coef_name=target_coef / param_opcode=CALL |
M3 |
test_name=test_ext_account_query_warm / target_opcode=CALLCODE / model_coef_name=target_coef / param_opcode=CALLCODE |
M4 |
test_name=test_ext_account_query_warm / target_opcode=DELEGATECALL / model_coef_name=target_coef / param_opcode=DELEGATECALL |
M5 |
test_name=test_ext_account_query_warm / target_opcode=EXTCODEHASH / model_coef_name=target_coef / param_opcode=EXTCODEHASH |
M6 |
test_name=test_ext_account_query_warm / target_opcode=EXTCODESIZE / model_coef_name=target_coef / param_opcode=EXTCODESIZE |
M7 |
test_name=test_ext_account_query_warm / target_opcode=STATICCALL / model_coef_name=target_coef / param_opcode=STATICCALL |
M8 |
test_name=test_storage_sload_same_key_benchmark / target_opcode=SLOAD / model_coef_name=target_coef |
| besu | erigon | ethrex | geth | nethermind | reth |
|---|
| M1 | 17 | 6 | 2 | 3 | 14 | 2 |
|---|
| M2 | 49 | 49 | 11 | 14 | 37 | 6 |
|---|
| M3 | 59 | 28 | 11 | 19 | 24 | 6 |
|---|
| M4 | 54 | 26 | 11 | 17 | 39 | 6 |
|---|
| M5 | 17 | 30 | 2 | 5 | 24 | 2 |
|---|
| M6 | 17 | 5 | 2 | 3 | 19 | 1 |
|---|
| M7 | 45 | 45 | 11 | 19 | 36 | 6 |
|---|
| M8 | 20 | 5 | 3 | 5 | 16 | 1 |
|---|
Warnings
Missing parameters
None.
Incomplete client coverage
None.
Missing glue adjustments
Non-priced opcodes correlated with the target opcount — 1 test affected
The target coefficient was left unadjusted for these. Consider adding them to the glue model or re-designing the test to isolate the target opcode.
| Test name |
Non-priced opcodes |
test_account_access |
CLZ |
Priced glue opcodes with a poor fit — 27 (glue_opcode, client) fits skipped
p_value >= glue_contribution_p_value_threshold (0.05) or rsquared < glue_contribution_rsquared_threshold (0.5) — the contribution of these (glue_opcode, client) fits was skipped when computing the glue adjustment, so the listed gas params carry a target coefficient that is not net of this glue opcode's runtime on the affected clients. See glue_opcodes_autogenerated_report.md for per-fit metrics.
| Glue opcode |
Affected clients |
Affected gas params |
ADD |
nethermind (R²) |
COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE |
CALLDATALOAD |
besu (both), erigon (both), ethrex (R²), geth (R²), nethermind (R²), reth (R²) |
COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE |
CALLDATASIZE |
reth (R²) |
COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE |
DUP |
reth (R²) |
COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE |
EXP |
nethermind (both) |
COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE |
GAS |
reth (R²) |
COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS, WARM_ACCESS |
GT |
besu (R²) |
COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS |
KECCAK256 |
besu (R²), erigon (R²), ethrex (both), geth (R²), nethermind (both), reth (both) |
COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE |
LT |
besu (R²) |
COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE |
MLOAD |
reth (R²) |
COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, WARM_ACCESS |
MSTORE |
reth (R²) |
COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE |
PC |
reth (R²) |
COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS |
PUSH |
reth (R²) |
COLD_ACCOUNT_CODE_ACCESS, COLD_ACCOUNT_CODE_WRITE, COLD_ACCOUNT_NOCODE_ACCESS, COLD_ACCOUNT_NOCODE_WRITE, COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE, WARM_ACCESS |
PUSH0 |
reth (R²) |
— |
STATICCALL |
reth (R²) |
— |
SWAP |
besu (R²), reth (R²) |
COLD_STORAGE_ACCESS, COLD_STORAGE_WRITE |
Other
- derived: 'REFUND_STORAGE_CLEAR' shadows a raw fork field on 'osaka'
- derived: 'TX_ACCESS_LIST_STORAGE_KEY' shadows a raw fork field on 'osaka'
- derived: 'TX_ACCESS_LIST_ADDRESS' shadows a raw fork field on 'osaka'
Poor-fit selections
Rows where the winning fit's p-value exceeded modeling.poor_fit_p_value_threshold (0.05) or its R² fell below modeling.poor_fit_rsquared_threshold (0.5). The failing threshold(s) are noted alongside each row; selections in ### Winners with poor fit still drive the proposal, while ### Other weak candidates lists losing candidates that the selector dropped in favor of a qualified alternative. See runtime_estimation_autogenerated_report.md for per-fit runtime_ms, pvalue, and rsquared metrics.
Winners with poor fit
None.
Other weak candidates
COLD_STORAGE_WRITE — 1 weak combo
| Test |
Target opcode |
Coef |
Combo |
Failing clients |
test_sstore_bloated |
SSTORE |
target_coef |
— |
besu (R²), erigon (both), ethrex (R²) |
COLD_ACCOUNT_NOCODE_ACCESS — 1 weak combo
| Test |
Target opcode |
Coef |
Combo |
Failing clients |
test_account_access |
EXTCODECOPY |
target_coef |
— |
besu (R²), ethrex (R²) |
COLD_ACCOUNT_CODE_ACCESS — 7 weak combos
| Test |
Target opcode |
Coef |
Combo |
Failing clients |
test_account_access |
CALL |
target_coef |
param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALL |
erigon (R²) |
test_account_access |
CALLCODE |
target_coef |
param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALLCODE |
erigon (R²) |
test_account_access |
DELEGATECALL |
target_coef |
param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=DELEGATECALL |
erigon (R²) |
test_account_access |
EXTCODECOPY |
target_coef |
param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=EXTCODECOPY |
besu (R²) |
test_account_access |
EXTCODECOPY |
target_coef |
param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=EXTCODECOPY |
besu (R²), ethrex (R²) |
test_account_access |
EXTCODESIZE |
target_coef |
param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=EXTCODESIZE |
erigon (R²) |
test_account_access |
STATICCALL |
target_coef |
param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=STATICCALL |
erigon (R²) |
COLD_ACCOUNT_NOCODE_WRITE — 3 weak combos
| Test |
Target opcode |
Coef |
Combo |
Failing clients |
test_account_access |
CALL |
target_coef |
param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALL |
besu (R²), ethrex (R²) |
test_account_access |
CALLCODE |
target_coef |
param_account_mode=AccountMode.EXISTING_EOA / param_opcode=CALLCODE |
ethrex (both) |
test_account_access |
CALLCODE |
target_coef |
param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE |
besu (R²), ethrex (R²), reth (R²) |
COLD_ACCOUNT_CODE_WRITE — 3 weak combos
| Test |
Target opcode |
Coef |
Combo |
Failing clients |
test_account_access |
CALL |
target_coef |
param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALL |
besu (R²), ethrex (R²) |
test_account_access |
CALLCODE |
target_coef |
param_account_mode=AccountMode.EXISTING_CONTRACT / param_opcode=CALLCODE |
erigon (R²), ethrex (both) |
test_account_access |
CALLCODE |
target_coef |
param_account_mode=AccountMode.NON_EXISTING_ACCOUNT / param_opcode=CALLCODE |
besu (R²), ethrex (R²), reth (R²) |
WARM_ACCESS — 6 weak combos
| Test |
Target opcode |
Coef |
Combo |
Failing clients |
test_ext_account_query_warm |
BALANCE |
target_coef |
param_opcode=BALANCE |
besu (R²), ethrex (R²) |
test_ext_account_query_warm |
CALLCODE |
target_coef |
param_opcode=CALLCODE |
besu (R²) |
test_ext_account_query_warm |
DELEGATECALL |
target_coef |
param_opcode=DELEGATECALL |
besu (R²) |
test_ext_account_query_warm |
EXTCODEHASH |
target_coef |
param_opcode=EXTCODEHASH |
besu (R²), ethrex (R²) |
test_ext_account_query_warm |
EXTCODESIZE |
target_coef |
param_opcode=EXTCODESIZE |
besu (R²), ethrex (R²) |
test_storage_sload_same_key_benchmark |
SLOAD |
target_coef |
— |
besu (R²) |