Skip to content

Feature/permit2 proxy zk partial#413

Merged
SevenSwen merged 9 commits intomasterfrom
feature/permit2-proxy-zk-partial
Feb 12, 2026
Merged

Feature/permit2 proxy zk partial#413
SevenSwen merged 9 commits intomasterfrom
feature/permit2-proxy-zk-partial

Conversation

@ifelsedeveloper
Copy link
Contributor

Change Summary

What does this PR change?
Adds zkSync Era support to Permit2Proxy by accepting a dynamic Permit2 contract address (EVM: 0x000000000022D473030F116dDEE9F6B43aC78BA3, zkSync: 0x0000000000225e31d15943971f47ad3022f714fa) and documents that the proxy must only be used with partial fills disabled due to single-use Permit2 nonces.

Related Issue/Ticket
https://1inch.atlassian.net/browse/PT1-361

Changes

  • contracts/extensions/Permit2Proxy.sol — Constructor now accepts a _permit2 address parameter instead of hardcoding it, enabling deployment on both EVM and zkSync chains.
  • deploy/deploy-Permit2Proxy.js — New deployment script using permit2Address(chainId) from @uniswap/permit2-sdk for chain-aware deployments via Create3.
  • test/Permit2Proxy.js — Updated tests to pass both constructor arguments; added address verification tests for zkSync (chain 324) and Ethereum mainnet (chain 1).
  • docs/extensions/Permit2Proxy.md — Updated constructor docs and added a note that partial fills are not supported.

Testing & Verification

How was this tested?

  • Unit tests
  • Integration tests
  • Manual testing (describe steps)
  • Verified on staging

Risk Assessment

Risk Level:

  • Low - Minor changes, no operational impact
  • Medium - Moderate changes, limited impact, standard rollback available
  • High - Significant changes, potential operational impact, complex rollback

Risks & Impact

  • Constructor signature change is a breaking change for deployment scripts — existing deployments are unaffected since the contract is redeployed per chain.
  • No migration required. New deployments will use the updated constructor with the correct Permit2 address per chain.

…pdate tests for chain-specific addresses. Added error handling for selector validation and improved test coverage for zkSync and Ethereum mainnet addresses.
…address references for Ethereum and zkSync chains.
ifelsedeveloper and others added 2 commits February 12, 2026 11:48
Co-authored-by: Vasiliy Tikhonenko <tihonenko.v.v@gmail.com>
Co-authored-by: Vasiliy Tikhonenko <tihonenko.v.v@gmail.com>
@SevenSwen SevenSwen merged commit 7021651 into master Feb 12, 2026
6 checks passed
@SevenSwen SevenSwen deleted the feature/permit2-proxy-zk-partial branch February 12, 2026 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants