[PT1-347] Feature/permit2 without witness#400
Merged
ifelsedeveloper merged 10 commits intomasterfrom Feb 3, 2026
Merged
Conversation
- Introduced Permit2Proxy contract for proxy transfer functionality using Permit2. - Added IPermit2TransferFrom interface defining structures and methods for permit-based token transfers. - Implemented a script for ABI selector extraction to facilitate selector management.
- Updated Permit2Proxy contract to use IPermit2TransferFrom interface and corrected function selectors. - Removed obsolete abi_selectors.py script to streamline the codebase. - Added a new selector bruteforce script for enhanced functionality. - Introduced ProxyExample test to demonstrate permit2 usage without witness.
SevenSwen
requested changes
Feb 3, 2026
- Introduced a new development guide in `dev.md` detailing the usage of the selector bruteforce tool for proxy contracts. - Removed the obsolete `selector_bruteforce.py` script to streamline the codebase and encourage the use of the new guide.
- Created a new documentation file for the Permit2Proxy contract, detailing its purpose, functions, and error handling. - Included descriptions for the constructor and the `func_nZHTch` method, along with the associated error `Permit2ProxyBadSelector`.
SevenSwen
approved these changes
Feb 3, 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.
Change Summary
What does this PR change?
Adds
Permit2Proxycontract - a non-witness version ofPermit2WitnessProxythat usespermitTransferFrominstead ofpermitWitnessTransferFrom, enabling simpler Permit2 integrations without witness data.Related Issue/Ticket:
https://1inch.atlassian.net/browse/PT1-347
Testing & Verification
How was this tested?
Risk Assessment
Risk Level:
Risks & Impact
Files Changed
contracts/extensions/Permit2Proxy.sol- New proxy contract without witnesscontracts/interfaces/IPermit2TransferFrom.sol- New interface forpermitTransferFromtest/Permit2Proxy.js- Unit test for the new contracttest/WitnessProxyExample.js- Updated test with proper nonce handlingtest/helpers/nonce.js- Helper for unique Permit2 nonce generationdocs/extensions/Permit2Proxy.md- Documentation for the new contractdev.md- Development guide with reference to selector bruteforce tool