feat(ink): deploy missing periphery + SwapProxy to Ink (57073)#152
Merged
Conversation
Deploys the Uniswap periphery missing on Ink and records addresses (existing v2/v3 Protofire + v4 Jan-2025 cores adopted as-is, deploy:false): - PermissionsAdapterFactory 0xd8eeBA7c373d612F24660e45Fa96f5d95B0C9d16 - View Quoter 0x89e5db8b5aa49aa85ac63f691524311aeb649eba - MixedRouteQuoterV2 0x1f7d7550b1b028f7571e69a784071f0205fd2efa - UniversalRouter#v2.2 0x28bd21bb4ea4fda370d8d7544992038375d8d456 (Across spokePool 0xeF684C38F94F48775959ECf2012D7E864ffb9dd4) - Calibur/CaliburEntry 0x000000009b1d0af20d8c6d0a44e162d11f9b8f00 - FeeOnTransferDetector 0x282a3c4d320cc7f0d5eaf56b8029e4b88338f0a3 - FeeCollector 0x33e885ed0ec9bf04ecfb19341582aadcb4c8a9e7 - ERC7914Detector 0xc470458fc6a7e43471b31e6a2eb2612215a7102e - SwapProxy 0x0000000085E102724e78eCd2F45DC9cA239Affad (CREATE2, PR #151 flow) FeeCollector deployed under deployer EOA then transferOwnership'd to the canonical AWS KMS fee owner 0xbE84D31B2eE049DCb1d8E7c798511632b44d1b55 (matches all other fee-collecting chains). All 9 source-verified on explorer.inkonchain.com. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
marktoda
approved these changes
Jun 9, 2026
david-uniswap
added a commit
that referenced
this pull request
Jun 11, 2026
Keeps this PR SwapProxy-only. The Ink v4/periphery registry (deployments/json/57073.json), the regenerated 57073.md, the Deploy-all broadcast, and the deploy task were recorded here via the #152 merge; they now live in the standalone Ink registry PR #153 (off main). The SwapProxy cross-chain record for Ink stays in .swapproxy-deploy/create2.json (this PR's domain). 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.
Summary
Completes the Ink (chain 57073) Uniswap deployment by deploying the periphery that was missing and recording it in the registry. The pre-existing v2/v3 (Protofire) and v4 core + the Jan-2025 UniversalRouter are adopted as-is (
deploy:false, addresses recorded).Deployed & verified
All 9 source-verified on explorer.inkonchain.com:
0xd8eeBA7c373d612F24660e45Fa96f5d95B0C9d160x89e5db8b5aa49aa85ac63f691524311aeb649eba0x1f7d7550b1b028f7571e69a784071f0205fd2efa0x28bd21bb4ea4fda370d8d7544992038375d8d4560x000000009b1d0af20d8c6d0a44e162d11f9b8f000x282a3c4d320cc7f0d5eaf56b8029e4b88338f0a30x33e885ed0ec9bf04ecfb19341582aadcb4c8a9e70xc470458fc6a7e43471b31e6a2eb2612215a7102e0x0000000085E102724e78eCd2F45DC9cA239AffadOwnership
transferOwnership'd to the canonical AWS KMS fee owner0xbE84D31B2eE049DCb1d8E7c798511632b44d1b55(the same owner used on all other fee-collecting chains; an operational key, not the Timelock).0x2BAD…46CD; v3 factory = cross-chain account → L1 Timelock).Scope notes
UniversalRouter#v2.2; the existing Jan-2025UniversalRouter(0x112908…) is preserved..mdregistry left for CI regeneration (per feat(swapproxy): deterministic CREATE2 deployment #151 convention).Pre-existing v2 / v3 on Ink (adopted, NOT deployed in this PR)
Ink already had Uniswap v2 + v3, deployed by Protofire (deployer EOA
0xC3cd79013d190518C5CDE0805194d31D839b76F7) in Dec 2024 via the governance "[RFC] Deploy Uniswap V3 on Ink" (gov topic 25080) and listed on the official v3 deployments registry. This PR adopts them as-is (the new UR/quoters/etc. wire to these addresses); we did not deploy or modify them. Recorded here for completeness/visibility:v2:
0xfe57A6BA1951F69aE2Ed4abe23e0f095DF500C04v3:
0x640887A9ba3A9C53Ed27D0F7e8246A4F933f34240xC0836E5B058BBE22ae2266e1AC488A1A0fD8DCE80xa1168fd2Cb5acEC1F0B100593A1858f47b399A7B(impl0x2079bc044AEe33146bB63674DC2502c69E821Af9)0x987ca6B9cC569dE1a0340d2465DA8E4Aa4B14aa50x9B65c0df5aFffB95E75Aa5cAD81F3Fe2368446f10x96b572D2d880cf2Fa2563651BD23ADE6f55166520x3e6Dba802d62aba2361Dd632fbC9f547AA6789aE0x177778F19E89dD1012BdBe603F144088A95C4B530xA0fCec583AeE6176527C07B198e5561722332014(No standalone v2 Router02 — v2 routing goes through SwapRouter02 / the Universal Router. Protofire also deployed an older UniversalRouter
0x9C5577aEF7c2a5C80aA62bA5420170F6b4a302FF, separate from the two URs recorded in this PR.)Follow-ups (not in this PR)
feeToSetterto governance. Ink's v2 Factory (0xfe57A6BA1951F69aE2Ed4abe23e0f095DF500C04) still hasfeeToSetter = 0xC3cd79013d190518C5CDE0805194d31D839b76F7— the Protofire deployer EOA from the original v3 RFC deploy, never handed to governance (the v3 factory was migrated to the cross-chain forwarder0x66c5…0B91→ L1 Timelock; canonical mainnet v2 uses the Timelock asfeeToSetter).feeTois0x0(protocol fee off), so there's no active fee, but it's a minor centralization loose end: the holder of that EOA could enable the v2 protocol fee and direct it to themselves. This PR can't fix it —setFeeToSetteris callable only by the currentfeeToSetter(Protofire's key, which we don't control). Action: flag to Protofire / the Uniswap Accountability Committee to transfer the v2feeToSetterto the same governance target as v3/v4.🤖 Generated with Claude Code