chore(deployments): record permissioned pools stack, PermissionedHooks and UniversalRouter 2.2.0 for Base, HyperEVM and Ink - #170
Merged
Conversation
SocksNFlops
marked this pull request as ready for review
September 24, 2026 17:34
SocksNFlops
requested review from
david-uniswap,
dianakocsis,
ericneil-sanc and
gretzke
and removed request for
dianakocsis
September 24, 2026 19:12
gretzke
approved these changes
Sep 24, 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.
What
Records the permissioned pools stack (PermissionsAdapterFactory, PermissionedPositionManager, PermissionedHooks) and UniversalRouter 2.2.0 deployed on 2026-09-23/24 to Base, HyperEVM and Ink in
deployments/json/{8453,999,57073}.jsonand the matchingdeployments/*.mdtables, in the same shape as #165 and #166.Addresses
0xDc264714F68d84CF29BC605589405E78bDBE7C9f0xC09255D86DB563cBc11C2fCf4a0C512e160111B40x5750be78fEdfb2fA48FAa6C6623400Ba4538A8c00xbe2257d1aafbe6b73f67a9ac971c2f0b344bb3c50x8702463e73f74d0b6765aBceb314Ef07aCb926500xBbBcC62853a5fA27b93d6Bab3E6F7ce841E25Df20xa2723d3dd99b3481616d1b390e6db0d0d94e68c00xe783de89a7f0408687f051e3e6d0beb62719ebad0xABfb859E6c3324fE522bFbB19CB41345003ceD650x003aa18c6E682dB80Cf4aa17261CcbFfd28690CE0x3c5903cEa9F15e1e59758c8f9267d39C16ea28c00x315e413a11ab0df498ef83873012430ca36638aeFactories and position managers were deployed from v4-periphery
9969eec; hooks from v4-hooks-publicf2aa843(the commit the mainnet hook0x499a…28c0runs), CREATE2 through the deterministic deployer with a salt mined for the hook permission bits; routers from universal-router tag2.2.0(64027f3), the same commit as the mainnet, Sepolia and Ink 2.2.0 routers. Router constructor parameters are the values in universal-routerscript/deployParameters/Deploy{Base,Ink,HyperEVM}.s.solwithpermissionsAdapterFactoryset to the factories above (Uniswap/universal-router#521 records that change).Verification
Every value was read back onchain. Each factory's
POOL_MANAGER()is the canonical v4 PoolManager. Each posm'spoolManager,permit2,tokenDescriptor,WETH9andunsubscribeGasLimitequal the canonical PositionManager's on that chain,PERMISSIONS_ADAPTER_FACTORY()is the factory in the same row andDELIVERY_GAS_LIMIT()is 500000. Each hook address carries the0x28c0permission bits (beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap), has the 6,909-byte runtime of the mainnet hook, and itspoolManager()/PERMISSIONS_ADAPTER_FACTORY()match its row. Each router carries the 23,233-byte 2.2.0 runtime, itsV3_POSITION_MANAGER()/V4_POSITION_MANAGER()match the parameters, and the constructor arguments decoded from the deployment transactions match the parameter files field for field.initcodeHashis keccak256 of the init code.Superseded
The previous
PermissionsAdapterFactoryon HyperEVM (0x2a9049f6…Aff803) and Ink (0xd8eeBA7c…C9d16) were built from an older factory revision, and the 2.2.0 routers deployed against them (HyperEVM0x9afe3c49…5dba, Ink0x8bbcaeb3…B48c) inherit the problem. All four stay inhistory;latestnow points at the new contracts.On HyperEVM the default
UniversalRouterkey previously pointed at the superseded 2.2.0 router. It now points at 2.1.2 (0xed270a1b…d6bf), matching every other chain after #169; the new 2.2.0 router lives underUniversalRouter#v2.2like mainnet.Notes
Markdown was edited by hand rather than regenerated: running forge-chronicles over the current JSON rewrites unrelated rows, drops hand-recorded router rows on Ink and, for chain 999, relabels the chain from the upstream chainid.network dataset.
🤖 Generated with Claude Code