What's new in v0.11.0?
Breaking changes
The ⚠️ symbol denotes potentially breaking API changes. As per the semantic versioning specification, from v1.0.0 onwards, breaking changes will be released only in major version bumps.
Breaking Changes
⚠️ nativeBalanceGte
caveat
- Renames
nativeBalanceGte
caveat tonativeBalanceChange
. - Previously, the caveat only considered an increase in the native token
balance. It now accepts a new parameter,
BalanceChangeType
, which defines the expected type of balance change. This parameter allows specifying whether the native token balance should have increased or decreased, using the valid options:BalanceChangeType.Increase
andBalanceChangeType.Decrease
.
caveatBuilder.addCaveat("nativeBalanceGte",
caveatBuilder.addCaveat("nativeBalanceChange",
"0x3fF528De37cd95b67845C1c55303e7685c72F319",
1_000_000n,
BalanceChangeType.Increase,
);
⚠️ erc20BalanceGte
caveat
- Renames
erc20BalanceGte
caveat toerc20BalanceChange
. - Previously, the caveat only considered an increase in the ERC-20 token
balance. It now accepts a new parameter,
BalanceChangeType
, which defines the expected type of balance change. This parameter allows specifying whether the ERC-20 token balance should have increased or decreased, using the valid options:BalanceChangeType.Increase
andBalanceChangeType.Decrease
. - Introduces a new parameter to specify the recipient address associated with the ERC-20 balance change.
caveatBuilder.addCaveat("erc20BalanceGte",
caveatBuilder.addCaveat("erc20BalanceChange",
"0xc11F3a8E5C7D16b75c9E2F60d26f5321C6Af5E92",
// Specifies the address associated with the ERC-20 balance change
"0x3fF528De37cd95b67845C1c55303e7685c72F319",
1_000_000n,
BalanceChangeType.Increase,
);
⚠️ erc721BalanceGte
caveat
- Renames
erc721BalanceGte
caveat toerc721BalanceChange
. - Previously, the caveat only considered an increase in the ERC-721 token
balance. It now accepts a new parameter,
BalanceChangeType
, which defines the expected type of balance change. This parameter allows specifying whether the ERC-721 token balance should have increased or decreased, using the valid options:BalanceChangeType.Increase
andBalanceChangeType.Decrease
.
caveatBuilder.addCaveat("erc721BalanceGte",
caveatBuilder.addCaveat("erc721BalanceChange",
"0xc11F3a8E5C7D16b75c9E2F60d26f5321C6Af5E92",
"0x3fF528De37cd95b67845C1c55303e7685c72F319",
1_000_000n,
BalanceChangeType.Increase,
);
⚠️ erc1155BalanceGte
caveat
- Renames
erc1155BalanceGte
caveat toerc1155BalanceChange
. - Previously, the caveat only considered an increase in the ERC-1155 token
balance. It now accepts a new parameter,
BalanceChangeType
, which defines the expected type of balance change. This parameter allows specifying whether the ERC-1155 token balance should have increased or decreased, using the valid options:BalanceChangeType.Increase
andBalanceChangeType.Decrease
.
caveatBuilder.addCaveat("erc1155BalanceGte",
caveatBuilder.addCaveat("erc1155BalanceChange",
"0xc11F3a8E5C7D16b75c9E2F60d26f5321C6Af5E92",
"0x3fF528De37cd95b67845C1c55303e7685c72F319",
1n,
1_000_000n,
BalanceChangeType.Increase,
);
Enhancements
- Delegation Framework now supports the Gnosis Chiado testnet 🎉.
isValidSignature
function has been added to verify signatures from smart contract accounts.aggregateSignature
function is now exposed in the toolkit, allowing multiple required signatures to be combined into a single aggregated signature. Learn how to generate a multisig signature- A new caveat,
multiTokenPeriod
, has been introduced to ensure that transfers involving multiple tokens remain within defined limits over specified time periods. SeemultiTokenPeriod
to learn more.
Contract addresses
The following are the contract addresses for the Delegation Framework version 1.3.0, as used by this version of the toolkit.
Delegation Framework
Contract | Address |
---|---|
EntryPoint | 0x0000000071727De22E5E9d8BAf0edAc6f37da032 |
SimpleFactory | 0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c |
DelegationManager | 0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3 |
MultiSigDeleGatorImpl | 0x56a9EdB16a0105eb5a4C54f4C062e2868844f3A7 |
HybridDeleGatorImpl | 0x48dBe696A4D990079e039489bA2053B36E8FFEC4 |
Caveat enforcers
Enforcer | Address |
---|---|
AllowedCalldataEnforcer | 0xc2b0d624c1c4319760C96503BA27C347F3260f55 |
AllowedMethodsEnforcer | 0x2c21fD0Cb9DC8445CB3fb0DC5E7Bb0Aca01842B5 |
AllowedTargetsEnforcer | 0x7F20f61b1f09b08D970938F6fa563634d65c4EeB |
ArgsEqualityCheckEnforcer | 0x44B8C6ae3C304213c3e298495e12497Ed3E56E41 |
BlockNumberEnforcer | 0x5d9818dF0AE3f66e9c3D0c5029DAF99d1823ca6c |
DeployedEnforcer | 0x24ff2AA430D53a8CD6788018E902E098083dcCd2 |
ERC20BalanceChangeEnforcer | 0xcdF6aB796408598Cea671d79506d7D48E97a5437 |
ERC20TransferAmountEnforcer | 0xf100b0819427117EcF76Ed94B358B1A5b5C6D2Fc |
ERC20PeriodTransferEnforcer | 0x474e3Ae7E169e940607cC624Da8A15Eb120139aB |
ERC20StreamingEnforcer | 0x56c97aE02f233B29fa03502Ecc0457266d9be00e |
ERC721BalanceChangeEnforcer | 0x8aFdf96eDBbe7e1eD3f5Cd89C7E084841e12A09e |
ERC721TransferEnforcer | 0x3790e6B7233f779b09DA74C72b6e94813925b9aF |
ERC1155BalanceChangeEnforcer | 0x63c322732695cAFbbD488Fc6937A0A7B66fC001A |
ExactCalldataBatchEnforcer | 0x982FD5C86BBF425d7d1451f974192d4525113DfD |
ExactCalldataEnforcer | 0x99F2e9bF15ce5eC84685604836F71aB835DBBdED |
ExactExecutionBatchEnforcer | 0x1e141e455d08721Dd5BCDA1BaA6Ea5633Afd5017 |
ExactExecutionEnforcer | 0x146713078D39eCC1F5338309c28405ccf85Abfbb |
IdEnforcer | 0xC8B5D93463c893401094cc70e66A206fb5987997 |
LimitedCallsEnforcer | 0x04658B29F6b82ed55274221a06Fc97D318E25416 |
MultiTokenPeriodEnforcer | 0xFB2f1a9BD76d3701B730E5d69C3219D42D80eBb7 |
NonceEnforcer | 0xDE4f2FAC4B3D87A1d9953Ca5FC09FCa7F366254f |
NativeBalanceChangeEnforcer | 0xbD7B277507723490Cd50b12EaaFe87C616be6880 |
NativeTokenPaymentEnforcer | 0x4803a326ddED6dDBc60e659e5ed12d85c7582811 |
NativeTokenTransferAmountEnforcer | 0xF71af580b9c3078fbc2BBF16FbB8EEd82b330320 |
NativeTokenStreamingEnforcer | 0xD10b97905a320b13a0608f7E9cC506b56747df19 |
NativeTokenPeriodTransferEnforcer | 0x9BC0FAf4Aca5AE429F4c06aEEaC517520CB16BD9 |
OwnershipTransferEnforcer | 0x7EEf9734E7092032B5C56310Eb9BbD1f4A524681 |
RedeemerEnforcer | 0xE144b0b2618071B4E56f746313528a669c7E65c5 |
SpecificActionERC20TransferBatchEnforcer | 0x00e0251aaA263dfE3B3541B758A82D1CBA1c3B6D |
TimestampEnforcer | 0x1046bb45C8d673d4ea75321280DB34899413c069 |
ValueLteEnforcer | 0x92Bf12322527cAA612fd31a0e810472BBB106A8F |
Supported mainnet networks
- Ethereum
- Polygon
- Binance Smart Chain
- Optimism
- Arbitrum
- Linea
- Base
- Gnosis Chain
Supported testnet networks
- Ethereum Sepolia
- Linea Sepolia
- Base Sepolia
- MegaEth
- Gnosis Chiado