docs: ERC-4337 Account Abstraction developer guide for Arc Testnet#114
Open
osr21 wants to merge 1 commit into
Open
docs: ERC-4337 Account Abstraction developer guide for Arc Testnet#114osr21 wants to merge 1 commit into
osr21 wants to merge 1 commit into
Conversation
Covers the three Arc-specific constraints: - Compile with evmVersion: "paris" (no PUSH0 on Arc Testnet) - Keep entryPoint as constant to avoid 0x60c0 silent revert - No nonReentrant on validatePaymasterUserOp (ERC-7562) Also documents: - USDC-as-gas decimal handling (18-dec native vs 6-dec ERC-20) - EntryPoint v0.7 address and Pimlico bundler setup - USDC Paymaster pattern with reservation system - Deterministic finality and CCTP minFinalityThreshold guidance - Full worked example: gasless USDC bridge burn via CCTP V2 - Debugging checklist with all known silent failure modes
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
docs/erc-4337.md— a comprehensive developer guide for building ERC-4337 account abstraction applications on Arc Testnet.This guide was produced from hands-on experience deploying and debugging ERC-4337 Paymasters on Arc Testnet. It documents three Arc-specific constraints that have silent failure modes (no helpful revert, just zero bytecode or rejected UserOps), which are not currently covered in the Arc docs.
What's new
docs/erc-4337.mdcovers:Arc-specific constraints (the critical stuff)
PUSH0opcodecast codereturns0xevmVersion: "paris"in Hardhat/Foundry/solcentryPointasconstant, notimmutablenonReentrantonvalidatePaymasterUserOponlyEntryPointis sufficient under ERC-7562General ERC-4337 on Arc
5042002÷ 1e12)locked[user]) for concurrent UserOpsminFinalityThresholdguidance (Arc =2000/ finalized)approve + depositForBurn(CCTP V2) in a single gasless UserOpWhy this matters
Arc's USDC-as-gas model makes ERC-4337 Paymasters particularly compelling — users can bridge, swap, and transact with zero native token holdings. But the three Arc-specific deployment constraints aren't documented anywhere, and each one produces a silent failure that is very difficult to diagnose without prior knowledge.
Testing
The contracts, addresses, and code samples in this guide were validated against the live Arc Testnet (
5042002) running multiple bridge UserOps through Pimlico's bundler.