add Pectra/EIP-7702 check to deploy_precheck.sh#147
Merged
Conversation
Adds an init-code probe that STATICCALLs the BLS12-381 G1ADD precompile (EIP-2537) and returns 0x01 if returndatasize > 0, else 0x00. EIP-2537 and EIP-7702 ship in the same Pectra/Prague hardfork, so a positive signal implies 7702 is also enabled (a direct 7702 test would require signing a type-4 transaction, which a key-less precheck can't do). Renumbered downstream sections (Deterministic Deployer 3→4, Permit2 4→5, Chain ID 5→6, Etherscan 6→7) to keep the numbered comments sequential. Tested against Arc (5042) + Robinhood (4663) — both report SUPPORTED, consistent with Calibur (EIP-7702 delegate) deploying cleanly to 0x000000009b1d0af20d8c6d0a44e162d11f9b8f00 on each. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ericneil-sanc
approved these changes
May 29, 2026
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.
Summary
Adds a Pectra/EIP-7702 probe to the deployment precheck script, following the same init-code pattern as the existing PUSH0 (Shanghai) and TSTORE (Cancun) tests.
The probe uses the BLS12-381 G1ADD precompile at address `0x0b` (EIP-2537) as a proxy for Pectra activation — EIP-2537 and EIP-7702 ship in the same hardfork, so a positive signal here implies 7702 is also enabled. A direct 7702 test would require sending a signed type-4 transaction, which a key-less precheck can't do.
How it works
Init code (28 bytes, hex `0x61008060006101006000600b61fffffa503d151560005360016000f3`):
```
PUSH2 0x80 out_size = 128
PUSH1 0x00 out_offset
PUSH2 0x100 in_size = 256
PUSH1 0x00 in_offset
PUSH1 0x0b addr = BLS12_G1ADD
PUSH2 0xffff gas
STATICCALL
POP
RETURNDATASIZE
ISZERO ISZERO normalize to 0x01 if returndatasize > 0
PUSH1 0x00 MSTORE8
PUSH1 0x01 PUSH1 0x00 RETURN
```
Tested against
Both line up with Calibur (EIP-7702 delegate) deploying cleanly to the canonical `0x000000009b1d0af20d8c6d0a44e162d11f9b8f00` on each chain in companion PRs (#137, #144).
Test plan
🤖 Generated with Claude Code