Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
A frontier handle used for execution must identify the complete provisional transaction prefix,
not only parent/block/index/last transaction. V2 could alias re-executions with different preceding
transactions. Also,
validation: truepreviously still disabled sender-code and block-gas checks.Change
parentHashand nonzero OS-random
attemptIdbefore logs.RHF3 || parentHash || blockBE64 || attemptId || previousId || indexBE64 || transactionHash.Index zero uses zero previous ID; subsequent indices must be contiguous. Duplicate IDs cannot
overwrite retained state. New attempts revoke old handles even for identical parent/transactions.
happen before the per-block guard existed: now revocation happens at native build entry before
provider acquisition, and at production entry before message parsing/pre-execution. The new
regression exercises actual early production failure after a completed prior attempt.
arb_frontierCapabilities, identity fields and explicitvalidationChecksin simulation.Strict mode resets nonce/base-fee/EIP-3607/block-gas flags, enforces balance checks, rejects
protocol/custom transaction types and missing/zero/over-cap gas without clamping intent.
Both modes check canonical parent and active attempt before and after simulation.
Scope and rollout
No merge, deployment, restart, configuration change, or order activation in this PR. This is
a node integration prerequisite, not evidence that the Rust trading system is production-ready.
V3 breaks v2 Go MEV consumers. The observed
rh-reth-1unit namedrobinhood-arb-shadow.servicewas actually armed; disable or upgrade incompatible consumers andverify the real writer before a separately authorized deployment. Save and hash the exact old
binary/config; keep the independent post latch and active
arb-reth-rssguard.serviceeffective.Build with bounded resources. Rollback must stop the new consumer, restore compatible node/config,
and leave the v3 Rust writer blocked; it must not automatically re-arm Go. See the updated
docs/mev-tx-log-ipc.mdfor protocol, error, and rollout contracts.Canonical parent checks and prefix witnesses are not finality or inclusion promises. RPC simulation
does not verify a signature, submit a transaction, or account for poster-byte L1 fees. Consumer
age, fee/profit, nonce ownership, live parity and single-writer handoff remain required.
Verification
test ignored, zero failures. Exact command:
cargo test --locked --offline --release -j 2 -p arb-reth-engine -p arb-reth-node --lib.git diff --checkpass. Untouched workspace rustfmt differences remain.docs/frontier-v3-verification-2026-09-08.md.Linux host's Rust 1.98.1 in an isolated source/cache copy, no external RPC or services changed.
Library tests compiled the node library; this is not a new deployable node CLI binary receipt.
action_requiredwith no jobs run for this fork PR:https://github.com/nuntax/arbitrum-reth/actions/runs/34228024438. Maintainer action is needed;
this is not a CI pass. GitGuardian Security Checks passed.