feat(deployments): track SwapProxy across 13 chains (incl. Arc 5042 + Robinhood 4663)#150
Closed
david-uniswap wants to merge 3 commits into
Closed
feat(deployments): track SwapProxy across 13 chains (incl. Arc 5042 + Robinhood 4663)#150david-uniswap wants to merge 3 commits into
david-uniswap wants to merge 3 commits into
Conversation
First-time tracking of SwapProxy in the deployment registry. SwapProxy is deployed at the deterministic address 0x02e5be68d46dac0b524905bff209cf47ee6db2a9 on every chain (CREATE from deployer 0xb259f71F8Fa2B0165c4d71061C4bf6c77444aC87 at nonce 0, so the address is identical wherever that deployer's first tx is the SwapProxy creation). Adds a SwapProxy entry (latest + history) to the 11 chains where the canonical 0x02e5 contract exists AND the creation tx + timestamp were verifiable without an explorer API key: 1, 10, 130, 1301, 1868, 4326, 8453, 42220, 42161, 7777777, 11155111. Notes: - 4326 carries the same executable code at 0x02e5 but a metadata-stripped (bytecode_hash=none) build; address and behavior are identical. - JSON only. The per-chain .md and index.md are generated artifacts produced by forge-chronicles in CI and are intentionally left for that tooling to regenerate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds the SwapProxy entry (latest + history) for the two chains it was just deployed to, at the canonical address 0x02e5be68d46dac0b524905bff209cf47ee6db2a9 (CREATE from deployer 0xb259f71F8Fa2B0165c4d71061C4bf6c77444aC87 at nonce 0, so the address matches every other chain). Same JSON-only pattern as the prior cross-chain tracking commit; per-chain .md + index.md are left for CI. - Arc 5042: tx 0x373622e70beb01a173a616900a9cf6dc761cb5ba6f0af8df24532e26748e5052 - Robinhood 4663: tx 0x33a2419d00d7073c92da3d303c5bff7252f82ffe78ffe8997a4221dd0faa3f62 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
david-uniswap
added a commit
that referenced
this pull request
Jun 3, 2026
Adds the standard SwapProxy entry to each deployments/json/{chainId}.json
`latest` block, matching the existing schema used by other CREATE2 / vanity
contracts (Permit2, CaliburEntry): {address, proxy, deploymentTxn, timestamp,
commitHash}. CREATE2 salt/initcode/build stay in .swapproxy-deploy/create2.json
(the registry never stores those).
Address 0x0000000085E102724e78eCd2F45DC9cA239Affad on all 13 chains. Timestamps
are the real per-chain deploy block times. Supersedes the legacy 0x02e5 entry
tracked in PR #150/#137.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Pull Request
Description
Tracks the canonical SwapProxy deployment across every chain it exists on by adding its entry (
latest+ history) to the deployment registry (deployments/json/<chainId>.json).SwapProxy lives at the deterministic address
0x02e5be68d46dac0b524905bff209cf47ee6db2a9on every chain. The address is produced by a plainCREATEfrom deployer0xb259f71F8Fa2B0165c4d71061C4bf6c77444aC87at nonce 0 (not CREATE2), so wherever that deployer's first transaction is the SwapProxy creation, the address is identical.This PR adds SwapProxy tracking for 13 chains:
1, 10, 130, 1301, 1868, 4326, 8453, 42220, 42161, 7777777, 111551115042, Robinhood4663Arc and Robinhood were deployed using the canonical nonce-0 deployer so they land at the same
0x02e5…b2a9address as all other chains.This is a JSON-only change. Per-chain
.mdfiles andindex.mdare generated artifacts (forge-chronicles in CI) and are intentionally left for that tooling to regenerate.Fixes # (n/a)
How Has This Been Tested?
No contract code changed — this is deployment-registry metadata only. Verification performed:
0x02e5…b2a9and that the on-chain runtime bytecode is byte-identical to the canonical instances (diffed against the captured canonical initcode runtime; Arc == Robinhood == canonical).cast compute-address <deployer> --nonce 0resolves to the canonical address.SwapProxyentry matches the established schema.explorer.arc.io(v0.8.26, viaIR, optimizer runs 4444, cancun).Checklist:
Before deployment
After deployment
.md/index.mdregenerated by CIConsiderations
forge fmtand prettier to ensure the code style is valid.mdleft to CIAdditional context
CREATE, so it matches across all chains regardless of initcode; the bytecode diff confirms the deployed contract is the genuine canonical SwapProxy.4326carries the same executable code at0x02e5…b2a9but a metadata-stripped (bytecode_hash=none) build; address and behavior are identical.