From 4960bc1a9c12d4253eefbeba4cc6a6dc2358faf2 Mon Sep 17 00:00:00 2001 From: crazywriter1 Date: Thu, 3 Sep 2026 22:21:54 +0300 Subject: [PATCH 1/5] docs: record EIP-2929 gas-estimation impact under v0.7.0 --- BREAKING_CHANGES.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/BREAKING_CHANGES.md b/BREAKING_CHANGES.md index 81f831c..e8c8ff6 100644 --- a/BREAKING_CHANGES.md +++ b/BREAKING_CHANGES.md @@ -116,6 +116,11 @@ No breaking changes in this release. - Logs, metrics, and JSON-RPC responses now use a single canonical format (signatures continue to use Base64). EIP-55 checksums are not used; Prometheus labels are case-sensitive. - Log parsers, alerting rules, and dashboards built against the previous mixed formats (EIP-55 checksummed, non-prefixed hex, etc.) must be updated. +- **EIP-2929 warm/cold pricing now applies to Arc precompile account loads and `CallFrom` subcalls.** + - Precompile account access and `CallFrom` (Memo) subcalls charge EIP-2929 cold/warm account-access gas that `v0.6.x` did not. + - `eth_estimateGas` results and hardcoded gas limits taken against a `v0.6.x` node for precompile-adjacent paths (Memo / `CallFrom`, CCTP `TokenMessenger` calls) can be too low on `v0.7.0` and fail on submission. + - Re-estimate against a `v0.7.0` (or later) node. Consensus execution is unchanged for callers that already supply sufficient gas; only previously underpriced estimates break. + ### For Validators - **[CLI] `arc-node-consensus`: `--validator` is required for block signing and voting.** From d6b31bf19f11d742786a87662c934e44f922ebd4 Mon Sep 17 00:00:00 2001 From: crazywriter1 Date: Fri, 4 Sep 2026 00:23:41 +0300 Subject: [PATCH 2/5] docs: clarify EIP-2929 precompile account-load gas impact --- BREAKING_CHANGES.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/BREAKING_CHANGES.md b/BREAKING_CHANGES.md index e8c8ff6..7a643c0 100644 --- a/BREAKING_CHANGES.md +++ b/BREAKING_CHANGES.md @@ -7,6 +7,7 @@ Each bullet is prefixed with a flag identifying the kind of breaking change: - `[CLI]` -- CLI flag added, renamed, removed, or made required. - `[Config]` -- default value, environment variable, or manifest field change. - `[Format]` -- log, metric label, or serialized output format change that breaks parsers. +- `[EVM]` -- EVM / precompile gas-schedule or execution-cost change that affects estimates or limits. Entries are split by audience. A change appears under `### For Validators` when validator-mode operation must change; otherwise it appears under `### For Node Operators`. A change requiring both audiences to act appears in both sections (rare). @@ -116,10 +117,10 @@ No breaking changes in this release. - Logs, metrics, and JSON-RPC responses now use a single canonical format (signatures continue to use Base64). EIP-55 checksums are not used; Prometheus labels are case-sensitive. - Log parsers, alerting rules, and dashboards built against the previous mixed formats (EIP-55 checksummed, non-prefixed hex, etc.) must be updated. -- **EIP-2929 warm/cold pricing now applies to Arc precompile account loads and `CallFrom` subcalls.** - - Precompile account access and `CallFrom` (Memo) subcalls charge EIP-2929 cold/warm account-access gas that `v0.6.x` did not. - - `eth_estimateGas` results and hardcoded gas limits taken against a `v0.6.x` node for precompile-adjacent paths (Memo / `CallFrom`, CCTP `TokenMessenger` calls) can be too low on `v0.7.0` and fail on submission. - - Re-estimate against a `v0.7.0` (or later) node. Consensus execution is unchanged for callers that already supply sufficient gas; only previously underpriced estimates break. +- **[EVM] EIP-2929 warm/cold pricing now applies to account loads performed by Arc precompiles.** + - Account loads performed by Arc precompiles — including `CallFrom` (Memo) subcalls — now charge EIP-2929 cold/warm account-access gas that `v0.6.x` did not. Cost scales with the number of distinct cold accounts a call touches. + - `eth_estimateGas` results and hardcoded gas limits taken against a `v0.6.x` node for precompile-adjacent paths (`Memo`, `Multicall3From`, `CallFrom`) can be too low on `v0.7.0` and fail on submission. + - Re-estimate against a `v0.7.0` (or later) node. Transaction outcomes are unchanged for callers that already supply sufficient gas; the new pricing activates with the `Zero7` hardfork. ### For Validators From 0a8fcf1f5a6580541c410c46c0da938ab5a2e91c Mon Sep 17 00:00:00 2001 From: crazywriter1 Date: Fri, 4 Sep 2026 00:45:02 +0300 Subject: [PATCH 3/5] docs: drop incorrect Zero7 gate on EIP-2929 account-load pricing --- BREAKING_CHANGES.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/BREAKING_CHANGES.md b/BREAKING_CHANGES.md index 7a643c0..3523fdb 100644 --- a/BREAKING_CHANGES.md +++ b/BREAKING_CHANGES.md @@ -6,8 +6,8 @@ Each bullet is prefixed with a flag identifying the kind of breaking change: - `[CLI]` -- CLI flag added, renamed, removed, or made required. - `[Config]` -- default value, environment variable, or manifest field change. -- `[Format]` -- log, metric label, or serialized output format change that breaks parsers. - `[EVM]` -- EVM / precompile gas-schedule or execution-cost change that affects estimates or limits. +- `[Format]` -- log, metric label, or serialized output format change that breaks parsers. Entries are split by audience. A change appears under `### For Validators` when validator-mode operation must change; otherwise it appears under `### For Node Operators`. A change requiring both audiences to act appears in both sections (rare). @@ -118,9 +118,10 @@ No breaking changes in this release. - Log parsers, alerting rules, and dashboards built against the previous mixed formats (EIP-55 checksummed, non-prefixed hex, etc.) must be updated. - **[EVM] EIP-2929 warm/cold pricing now applies to account loads performed by Arc precompiles.** - - Account loads performed by Arc precompiles — including `CallFrom` (Memo) subcalls — now charge EIP-2929 cold/warm account-access gas that `v0.6.x` did not. Cost scales with the number of distinct cold accounts a call touches. + - Old (`v0.6.x`): stateful precompile helpers did not charge EIP-2929 cold/warm account-access gas for loaded accounts. + - New (`v0.7.0`): account loads performed by Arc precompiles — including `CallFrom` (Memo) subcalls — charge that gas. Cost scales with the number of distinct cold accounts a call touches. - `eth_estimateGas` results and hardcoded gas limits taken against a `v0.6.x` node for precompile-adjacent paths (`Memo`, `Multicall3From`, `CallFrom`) can be too low on `v0.7.0` and fail on submission. - - Re-estimate against a `v0.7.0` (or later) node. Transaction outcomes are unchanged for callers that already supply sufficient gas; the new pricing activates with the `Zero7` hardfork. + - Re-estimate against a `v0.7.0` (or later) node. Transaction outcomes are unchanged for callers that already supply sufficient gas. Note this is not gated behind a hardfork — the new pricing takes effect as soon as the node runs `v0.7.0`, so re-estimate at upgrade time rather than at the next fork. (`CallFrom` itself activates with `Zero7`, but that governs the precompile's availability, not the account-load pricing.) ### For Validators From 4808dc92754c33e0d91cec8b5cda7e69d84a3027 Mon Sep 17 00:00:00 2001 From: crazywriter1 Date: Fri, 4 Sep 2026 15:05:16 +0300 Subject: [PATCH 4/5] docs: point EIP-2929 account-load note at NativeCoinAuthority paths --- BREAKING_CHANGES.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BREAKING_CHANGES.md b/BREAKING_CHANGES.md index 3523fdb..7b00167 100644 --- a/BREAKING_CHANGES.md +++ b/BREAKING_CHANGES.md @@ -119,9 +119,9 @@ No breaking changes in this release. - **[EVM] EIP-2929 warm/cold pricing now applies to account loads performed by Arc precompiles.** - Old (`v0.6.x`): stateful precompile helpers did not charge EIP-2929 cold/warm account-access gas for loaded accounts. - - New (`v0.7.0`): account loads performed by Arc precompiles — including `CallFrom` (Memo) subcalls — charge that gas. Cost scales with the number of distinct cold accounts a call touches. - - `eth_estimateGas` results and hardcoded gas limits taken against a `v0.6.x` node for precompile-adjacent paths (`Memo`, `Multicall3From`, `CallFrom`) can be too low on `v0.7.0` and fail on submission. - - Re-estimate against a `v0.7.0` (or later) node. Transaction outcomes are unchanged for callers that already supply sufficient gas. Note this is not gated behind a hardfork — the new pricing takes effect as soon as the node runs `v0.7.0`, so re-estimate at upgrade time rather than at the next fork. (`CallFrom` itself activates with `Zero7`, but that governs the precompile's availability, not the account-load pricing.) + - New (`v0.7.0`): account loads in NativeCoinAuthority mint / burn / transfer charge that gas. Cost scales with the number of distinct cold accounts a call touches. + - `eth_estimateGas` results and hardcoded gas limits taken against a `v0.6.x` node can be too low. This applies chiefly to native fiat token mint / burn / transfer, which route through the NativeCoinAuthority precompile and are not hardfork-gated. `CallFrom` subcalls (`Memo`, `Multicall3From`) also charge cold account access, but that precompile only exists once `Zero7` is active. + - Re-estimate against a `v0.7.1` (or later) node. Transaction outcomes are unchanged for callers that already supply sufficient gas. Note this is not gated behind a hardfork — the new pricing takes effect as soon as the node runs `v0.7.1` or later, so re-estimate at upgrade time rather than at the next fork. (`CallFrom` itself activates with `Zero7`, but that governs the precompile's availability, not the NativeCoinAuthority account-load pricing.) ### For Validators From 6c461561e9d82517dd9725da6654e52c811e9d16 Mon Sep 17 00:00:00 2001 From: crazywriter1 Date: Sat, 5 Sep 2026 11:44:59 +0300 Subject: [PATCH 5/5] docs: correct Zero6 gate and backtick NativeCoinAuthority paths --- BREAKING_CHANGES.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BREAKING_CHANGES.md b/BREAKING_CHANGES.md index 7b00167..55564be 100644 --- a/BREAKING_CHANGES.md +++ b/BREAKING_CHANGES.md @@ -119,9 +119,9 @@ No breaking changes in this release. - **[EVM] EIP-2929 warm/cold pricing now applies to account loads performed by Arc precompiles.** - Old (`v0.6.x`): stateful precompile helpers did not charge EIP-2929 cold/warm account-access gas for loaded accounts. - - New (`v0.7.0`): account loads in NativeCoinAuthority mint / burn / transfer charge that gas. Cost scales with the number of distinct cold accounts a call touches. - - `eth_estimateGas` results and hardcoded gas limits taken against a `v0.6.x` node can be too low. This applies chiefly to native fiat token mint / burn / transfer, which route through the NativeCoinAuthority precompile and are not hardfork-gated. `CallFrom` subcalls (`Memo`, `Multicall3From`) also charge cold account access, but that precompile only exists once `Zero7` is active. - - Re-estimate against a `v0.7.1` (or later) node. Transaction outcomes are unchanged for callers that already supply sufficient gas. Note this is not gated behind a hardfork — the new pricing takes effect as soon as the node runs `v0.7.1` or later, so re-estimate at upgrade time rather than at the next fork. (`CallFrom` itself activates with `Zero7`, but that governs the precompile's availability, not the NativeCoinAuthority account-load pricing.) + - New (`v0.7.0`): account loads in `NativeCoinAuthority` `mint` / `burn` / `transfer` charge that gas. Cost scales with the number of distinct cold accounts a call touches. + - `eth_estimateGas` results and hardcoded gas limits taken against a `v0.6.x` node can be too low. This applies chiefly to native fiat token `mint` / `burn` / `transfer`, which route through the `NativeCoinAuthority` precompile and are gated behind `Zero6` (already active on live networks). `CallFrom` subcalls (`Memo`, `Multicall3From`) also charge cold account access, but that precompile only exists once `Zero7` is active. + - Re-estimate against a `v0.7.1` (or later) node. Transaction outcomes are unchanged for callers that already supply sufficient gas. Because `Zero6` is already open on live networks, the new pricing takes effect as soon as the node runs `v0.7.1` or later — re-estimate at upgrade time rather than at the next fork. (`CallFrom` itself activates with `Zero7`, but that governs the precompile's availability, not the `NativeCoinAuthority` account-load pricing.) ### For Validators