What's Changed
- Added EIP7702 stateless and tests by @hanzel98 in #45
- Updated Docs and Added Diagram by @hanzel98 in #46
- Added ERC20 Streaming Enforcer by @hanzel98 in #47
- Added Native Token Streaming Enforcer by @hanzel98 in #48
- Adds Delegation MetaSwap Adapter by @hanzel98 in #50
- Add Action Specific ERC20 Batch Enforcer by @McOso in #49
- Add Exact Calldata Enforcer by @hanzel98 in #51
- Improve Streaming Enforcers getAvailableAmount function by @hanzel98 in #57
- ERC20 Period Transfer Enforcer and NativeToken Period Transfer Enforcer by @hanzel98 in #53
- Add Exact Calldata Batch Enforcer by @McOso in #55
- Add Exact Execution Single & Batch Enforcer by @McOso in #56
- Audit - Feb 2025 - 7.4.1 - Allow empty signatures by @hanzel98 in #58
- Missing event test for Ownership Transfer Enforcer by @hanzel98 in #59
- Audit - Feb 2025 - 7.4.3 - Missing zero length check AllowedMethods & AllowedTargets by @hanzel98 in #60
- Audit - Feb 2025 - 7.3.4 - IdEnforcer parameters by @hanzel98 in #61
- Audit - Feb 2025 - 7.3.3 Support 3 transferFrom function selectors by @hanzel98 in #62
- Audit - Feb 2025 - 7.3.1 - EIP7702StatelessDeleGator Invalid Signature Length by @hanzel98 in #63
- Fix in empty signature test by @hanzel98 in #67
- Fix - Only Leaf Delegator Can SwapByDelegation by @hanzel98 in #64
- Audit - Feb 2025 - 7.1.1 - Add Entry Point to the UserOp Hash by @hanzel98 in #66
- Adding the recipient to the ERC20BalanceGteEnforcer terms by @hanzel98 in #38
- Audit - Feb 2025 - 7.2.1 Execution and CallType Mode Modifier by @hanzel98 in #65
- Added only default mode protection to all enforcers by @hanzel98 in #71
- Audit March 2025 - 7.2.2 - Event Recipient Rename by @hanzel98 in #75
- Audit March 2025 - 7.4.1 - Gas Optimizations ERC20PeriodTransferEnforcer by @hanzel98 in #76
- Cyfrin integration tests by @0kage-eth in #74
- Audit March 2025 - 7.4.3 - Deleted Unused Modes In Adapter by @hanzel98 in #77
- Audit March 2025 - 7.2.1 - Updated ERC7579 Version by @hanzel98 in #78
- Enable Solidity Optimization With Default Runs by @hanzel98 in #73
- Added Deployment Addresses 1.3.0 by @hanzel98 in #82
- Add Diligence and Cyfrin Audits by @McOso in #83
- Audit March 2025 - 7.1.2 - MetaSwapAdapter Api/Swap Validations by @hanzel98 in #80
- Added MultiTokenPeriodEnforcer by @hanzel98 in #81
- MetaSwap Adapter Optional Token Whitelist And Added Swaps ApiData Signature Validation by @hanzel98 in #72
- Refactored Token Gte Enforcers to TokenBalanceChange by @hanzel98 in #90
- Add Logical Or Wrapper Enforcer by @hanzel98 in #89
- Audit April 2025 - 7.2.1 and 7.2.2 - Constructor Inputs and Expiration by @hanzel98 in #91
- Audit April 2025 - 4.10 - Changed abi.encodeWithSelector to abi.encodeCall by @hanzel98 in #96
- Audit April 2025 - 4.11 - Changed getTermsInfo to external by @hanzel98 in #97
- Audit April 2025 - 4.12 - Fixed typo in error message tokenMismatch by @hanzel98 in #98
- Audit April 2025 - 4.2 - Passing token config through index in the args by @hanzel98 in #100
- Audit April 2025 - 4.5 - Changed abi.encodePacked to abi.encode for the signature by @hanzel98 in #94
- Adding a warning about token transfer for payments by @hanzel98 in #101
- Verification Improvements by @hanzel98 in #93
- Foundry.toml Protection, Block ffi by @hanzel98 in #79
- Audit - Delete Duplicated GetTerms Call by @hanzel98 in #104
- Audit May 2025 - 7.1.1 and 7.1.2 - No Execution Mode Restriction And Security Notice by @hanzel98 in #103
- Add New Diligence And Cyfrin Audits May 2025 by @hanzel98 in #105
- Added Deployment Files, And Improvements To Scripts v1.3.0 Part 2 by @hanzel98 in #107
- Deployed on BSC, Optimism, Arbitrum, Berachain Testnets by @hanzel98 in #112
- Verification Improvements For Berachain by @hanzel98 in #114
- Fix broken link by @MoMannn in #116
- Added Deployment Scripts for Berachain Mainnet by @hanzel98 in #118
- Deployments Monad Testnet, Arbitrum Nova, Unichain Mainnet and Testnet by @hanzel98 in #129
- Polygon Amoy Deployment by @hanzel98 in #132
- New chain deployments by @MoMannn in #135
- Adds Untracked FCL Changes by @hanzel98 in #133
- Improving Documentation by @hanzel98 in #137
New Contributors
- @0kage-eth made their first contribution in #74
- @MoMannn made their first contribution in #116
Full Changelog: v1.2.0...v1.3.0
Deployment Addresses
DelegationManager: 0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3
MultiSigDeleGatorImpl: 0x56a9EdB16a0105eb5a4C54f4C062e2868844f3A7
HybridDeleGatorImpl: 0x48dBe696A4D990079e039489bA2053B36E8FFEC4
EIP7702StatelessDeleGatorImpl: 0x63c0c19a282a1B52b07dD5a65b58948A07DAE32B
AllowedCalldataEnforcer: 0xc2b0d624c1c4319760C96503BA27C347F3260f55
AllowedMethodsEnforcer: 0x2c21fD0Cb9DC8445CB3fb0DC5E7Bb0Aca01842B5
AllowedTargetsEnforcer: 0x7F20f61b1f09b08D970938F6fa563634d65c4EeB
BlockNumberEnforcer: 0x5d9818dF0AE3f66e9c3D0c5029DAF99d1823ca6c
DeployedEnforcer: 0x24ff2AA430D53a8CD6788018E902E098083dcCd2
ERC20BalanceChangeEnforcer: 0xcdF6aB796408598Cea671d79506d7D48E97a5437
ERC20BalanceGteEnforcer: 0x433A6A4d9875D87510584fd6cc586eB1c5F8A1d2
ERC20TransferAmountEnforcer: 0xf100b0819427117EcF76Ed94B358B1A5b5C6D2Fc
ERC20PeriodTransferEnforcer: 0x474e3Ae7E169e940607cC624Da8A15Eb120139aB
ERC20StreamingEnforcer: 0x56c97aE02f233B29fa03502Ecc0457266d9be00e
ERC721BalanceChangeEnforcer: 0x8aFdf96eDBbe7e1eD3f5Cd89C7E084841e12A09e
ERC721BalanceGteEnforcer: 0xA5d03eb350FA89f854685f6313CeCA27A4212542
ERC721TransferEnforcer: 0x3790e6B7233f779b09DA74C72b6e94813925b9aF
ERC1155BalanceChangeEnforcer: 0x63c322732695cAFbbD488Fc6937A0A7B66fC001A
ERC1155BalanceGteEnforcer: 0x831b76f53601f38BfaCa2e6b442D6A5408Ae375c
ExactCalldataBatchEnforcer: 0x982FD5C86BBF425d7d1451f974192d4525113DfD
ExactCalldataEnforcer: 0x99F2e9bF15ce5eC84685604836F71aB835DBBdED
ExactExecutionBatchEnforcer: 0x1e141e455d08721Dd5BCDA1BaA6Ea5633Afd5017
ExactExecutionEnforcer: 0x146713078D39eCC1F5338309c28405ccf85Abfbb
IdEnforcer: 0xC8B5D93463c893401094cc70e66A206fb5987997
LogicalOrWrapperEnforcer: 0xE1302607a3251AF54c3a6e69318d6aa07F5eB46c
LimitedCallsEnforcer: 0x04658B29F6b82ed55274221a06Fc97D318E25416
MultiTokenPeriodEnforcer: 0xFB2f1a9BD76d3701B730E5d69C3219D42D80eBb7
NativeBalanceChangeEnforcer: 0xbD7B277507723490Cd50b12EaaFe87C616be6880
NativeBalanceGteEnforcer: 0x54e17146b9CCE2642881E0879e06e9D63F7d7606
ArgsEqualityCheckEnforcer: 0x44B8C6ae3C304213c3e298495e12497Ed3E56E41
NativeTokenPaymentEnforcer: 0x4803a326ddED6dDBc60e659e5ed12d85c7582811
NativeTokenTransferAmountEnforcer: 0xF71af580b9c3078fbc2BBF16FbB8EEd82b330320
NativeTokenStreamingEnforcer: 0xD10b97905a320b13a0608f7E9cC506b56747df19
NativeTokenPeriodTransferEnforcer: 0x9BC0FAf4Aca5AE429F4c06aEEaC517520CB16BD9
NonceEnforcer: 0xDE4f2FAC4B3D87A1d9953Ca5FC09FCa7F366254f
OwnershipTransferEnforcer: 0x7EEf9734E7092032B5C56310Eb9BbD1f4A524681
RedeemerEnforcer: 0xE144b0b2618071B4E56f746313528a669c7E65c5
SpecificActionERC20TransferBatchEnforcer: 0x00e0251aaA263dfE3B3541B758A82D1CBA1c3B6D
TimestampEnforcer: 0x1046bb45C8d673d4ea75321280DB34899413c069
ValueLteEnforcer: 0x92Bf12322527cAA612fd31a0e810472BBB106A8F
DelegationMetaSwapAdapter
Ethereum: 0xe41eB5A3F6e35f1A8C77113F372892D09820C3fD
Optimism, Base, Arbitrum, Linea: 0x5e4b49156D23D890e7DC264c378a443C2d22A80E
BSC, Polygon: 0x9c06653D3f1A331eAf4C3833F7235156e47305F1