Skip to main content

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 to nativeBalanceChange.
  • 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 and BalanceChangeType.Decrease.
caveatBuilder.addCaveat("nativeBalanceGte",
caveatBuilder.addCaveat("nativeBalanceChange",
"0x3fF528De37cd95b67845C1c55303e7685c72F319",
1_000_000n,
BalanceChangeType.Increase,
);

⚠️ erc20BalanceGte caveat

  • Renames erc20BalanceGte caveat to erc20BalanceChange.
  • 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 and BalanceChangeType.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 to erc721BalanceChange.
  • 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 and BalanceChangeType.Decrease.
caveatBuilder.addCaveat("erc721BalanceGte",
caveatBuilder.addCaveat("erc721BalanceChange",
"0xc11F3a8E5C7D16b75c9E2F60d26f5321C6Af5E92",
"0x3fF528De37cd95b67845C1c55303e7685c72F319",
1_000_000n,
BalanceChangeType.Increase,
);

⚠️ erc1155BalanceGte caveat

  • Renames erc1155BalanceGte caveat to erc1155BalanceChange.
  • 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 and BalanceChangeType.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. See multiTokenPeriod 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

ContractAddress
EntryPoint0x0000000071727De22E5E9d8BAf0edAc6f37da032
SimpleFactory0x69Aa2f9fe1572F1B640E1bbc512f5c3a734fc77c
DelegationManager0xdb9B1e94B5b69Df7e401DDbedE43491141047dB3
MultiSigDeleGatorImpl0x56a9EdB16a0105eb5a4C54f4C062e2868844f3A7
HybridDeleGatorImpl0x48dBe696A4D990079e039489bA2053B36E8FFEC4

Caveat enforcers

EnforcerAddress
AllowedCalldataEnforcer0xc2b0d624c1c4319760C96503BA27C347F3260f55
AllowedMethodsEnforcer0x2c21fD0Cb9DC8445CB3fb0DC5E7Bb0Aca01842B5
AllowedTargetsEnforcer0x7F20f61b1f09b08D970938F6fa563634d65c4EeB
ArgsEqualityCheckEnforcer0x44B8C6ae3C304213c3e298495e12497Ed3E56E41
BlockNumberEnforcer0x5d9818dF0AE3f66e9c3D0c5029DAF99d1823ca6c
DeployedEnforcer0x24ff2AA430D53a8CD6788018E902E098083dcCd2
ERC20BalanceChangeEnforcer0xcdF6aB796408598Cea671d79506d7D48E97a5437
ERC20TransferAmountEnforcer0xf100b0819427117EcF76Ed94B358B1A5b5C6D2Fc
ERC20PeriodTransferEnforcer0x474e3Ae7E169e940607cC624Da8A15Eb120139aB
ERC20StreamingEnforcer0x56c97aE02f233B29fa03502Ecc0457266d9be00e
ERC721BalanceChangeEnforcer0x8aFdf96eDBbe7e1eD3f5Cd89C7E084841e12A09e
ERC721TransferEnforcer0x3790e6B7233f779b09DA74C72b6e94813925b9aF
ERC1155BalanceChangeEnforcer0x63c322732695cAFbbD488Fc6937A0A7B66fC001A
ExactCalldataBatchEnforcer0x982FD5C86BBF425d7d1451f974192d4525113DfD
ExactCalldataEnforcer0x99F2e9bF15ce5eC84685604836F71aB835DBBdED
ExactExecutionBatchEnforcer0x1e141e455d08721Dd5BCDA1BaA6Ea5633Afd5017
ExactExecutionEnforcer0x146713078D39eCC1F5338309c28405ccf85Abfbb
IdEnforcer0xC8B5D93463c893401094cc70e66A206fb5987997
LimitedCallsEnforcer0x04658B29F6b82ed55274221a06Fc97D318E25416
MultiTokenPeriodEnforcer0xFB2f1a9BD76d3701B730E5d69C3219D42D80eBb7
NonceEnforcer0xDE4f2FAC4B3D87A1d9953Ca5FC09FCa7F366254f
NativeBalanceChangeEnforcer0xbD7B277507723490Cd50b12EaaFe87C616be6880
NativeTokenPaymentEnforcer0x4803a326ddED6dDBc60e659e5ed12d85c7582811
NativeTokenTransferAmountEnforcer0xF71af580b9c3078fbc2BBF16FbB8EEd82b330320
NativeTokenStreamingEnforcer0xD10b97905a320b13a0608f7E9cC506b56747df19
NativeTokenPeriodTransferEnforcer0x9BC0FAf4Aca5AE429F4c06aEEaC517520CB16BD9
OwnershipTransferEnforcer0x7EEf9734E7092032B5C56310Eb9BbD1f4A524681
RedeemerEnforcer0xE144b0b2618071B4E56f746313528a669c7E65c5
SpecificActionERC20TransferBatchEnforcer0x00e0251aaA263dfE3B3541B758A82D1CBA1c3B6D
TimestampEnforcer0x1046bb45C8d673d4ea75321280DB34899413c069
ValueLteEnforcer0x92Bf12322527cAA612fd31a0e810472BBB106A8F

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