Skip to content

Universal Router 2.2.0

Latest

Choose a tag to compare

@gretzke gretzke released this 18 Sep 19:55
· 3 commits to main since this release
64027f3

Universal Router 2.2.0 adds support for Uniswap v4 permissioned pools.

Highlights

  • Extends the v4 router integration with PermissionedV4Router, preserving standard v4 swaps while adding permissioned-pool support.
  • Supports swaps through v4 permission adapters.
  • Adds Permit2-based payment and wrapping for permissioned tokens.
  • Adds permissionsAdapterFactory to RouterParameters.
  • Allows permissioned-pool support to be disabled by configuring the factory as address(0).
  • Retains standard v4 pool behavior alongside permissioned-pool routing.
  • Sweeps permissions-adapter currencies as their underlying token.
  • Pins v4-periphery to a7af5b34.

Breaking changes

The Universal Router constructor parameters now include permissionsAdapterFactory. Deployment tooling and constructor encoding must be updated accordingly.

Build

Built at optimizer_runs = 1 with solc 0.8.26 and the cancun EVM version, producing a 23,233-byte runtime. The v4-periphery submodule is pinned to a7af5b34.

Deployments

Chain Address
Ethereum 0xab863E752Bf67D8DCDD929EaAe9Be9dc83Fb3BbB
Ink 0x8BbCAEb326AD590521a921C9e457Ee09F336B48c
Sepolia 0x5093f1CDED83d99FfEd6602dA6260672ae16787c

Each address was deployed with CREATE2 through the deterministic deployer at 0x4e59b44847b379578588920cA78FbF26c0B4956C using a zero salt, and verified onchain: a 23,233-byte runtime, all eleven constructor parameters checked against the deployment transaction, and source verified on Etherscan where available and Sourcify otherwise.

Full changelog: 2.1.1...2.2.0