Skip to content

Releases: MetaMask/delegation-toolkit

12.0.0

15 Sep 20:12
2a8c197
Compare
Choose a tag to compare

@metamask/delegation-core 0.2.0

Added

  • Added a Nonce caveat enforcer terms builder createNonceTerms (#44)

Changed

  • The configuration parameter callData is now calldata in createExactCalldataTerms argument type. (#24)
  • The package is explictly marked as ESM via type: module; with CJS compatibility maintained with dual export. (#27)

@metamask/delegation-toolkit 0.13.0

Added

  • Delegation Scopes and a declarative API to define delegation caveats (#51)
  • New utilities and actions for interacting with the Delegation Framework smart contracts (#45)
  • A new Client for interacting with the Infura Bundler (#59)
  • Utilities for interacting with caveat enforcer contracts
    • SpecificActionERC20TransferBatchEnforcer
    • NonceEnforcer
    • LimitedCallsEnforcer
    • IdEnforcer
    • NativeTokenTransferAmount
    • ERC20TransferAmountEnforcer

Changed

  • Utility and Action interfaces are now more closely aligned with Viem's patterns (#68)
    • signUserOperation and signDelegation utilities now accept privateKey parameter instead of WalletClient
    • signDelegationAction and signUserOperationAction wallet actions makes it easier to extend a WalletClient instance
  • It is now much easier to create Delegations with the required authority
    • allowInsecureUnrestrictedDelegation: true is now required when creating or signing a delegation with no caveats. (#24)
    • The CaveatBuilder.addCaveat function now accepts a single caveat configuration object instead of positional arguments. (#24)
    • A delegation can now be created with a declarative interface, utilising "scopes" to define the scope of authority being granted by the delegation (#63)
  • Signatory is renamed to Signer for more clarity when creating MetaMaskSmartAccount instances (#76)
  • The experimental EIP-7715 actions have been updated to align with the current implementation of the specification:
    • Now integrates with the RPC method wallet_requestExecutionPermissions on the wallet api (#60)
    • The datatypes used in the call have been updated to align with the new Erc7715 interface (#54)
    • The startTime parameter is now optional on all permission types
  • The Viem peer dependency is now viem@^2.31.4. (#22)
  • Individual constants like SINGLE_DEFAULT_MODE have been replaced with the ExecutionMode enum (#16)
  • The test runner is now Vitest, with Hardhat removed entirely (#27)

Fixed

  • sendTransactionWithDelegation failed whenever value was specified in the parameters. (#30)

11.0.0

03 Sep 19:02
ab65c46
Compare
Choose a tag to compare

@metamask/7715-permission-types 0.3.0

Added

  • Export MetaMaskBasePermissionData type (#65)

10.0.0

12 Aug 23:26
71418c6
Compare
Choose a tag to compare

@metamask/delegation-toolkit 0.13.0-rc.3

Added

  • Delegation Scopes and a declarative API to define delegation caveats (#51)

9.0.0

08 Aug 08:49
a9a6f44
Compare
Choose a tag to compare

@metamask/7715-permission-types 0.2.0

Added

  • Type definitions for EIP-7715 Execution Permissions, and definitions for permission types supported by MetaMask

@metamask/delegation-toolkit 0.13.0-rc.2

Added

  • New utilities and actions for interacting with the Delegation Framework smart contracts (#45)

Changed

  • The 7715 experimental actions not align with the new Erc7715 interface (#54)

8.0.0

31 Jul 08:07
711bf5d
Compare
Choose a tag to compare

@metamask/delegation-core 0.2.0-rc.1

Added

  • Added a Nonce caveat enforcer terms builder createNonceTerms (#44)

Changed

  • The configuration parameter callData is now calldata in createExactCalldataTerms argument type. (#24)
  • The package is explictly marked as ESM via type: module; with CJS compatibility maintained with dual export. (#27)

@metamask/delegation-toolkit 0.13.0-rc.1

Changed

  • The startTime parameter is now optional when requesting permissions through the experimental erc7715ProviderActions.
  • The Viem peer dependency is now viem@^2.31.4. (#22)
  • Individual constants like SINGLE_DEFAULT_MODE are now replaced with the ExecutionMode enum. (#16)
  • allowInsecureUnrestrictedDelegation: true is now required when creating or signing a delegation with no caveats. (#24)
  • CaveatBuilder now accepts a single caveat configuration object instead of positional arguments. (#24)
  • The test runner is now Vitest, with Hardhat removed entirely. (#27)

Fixed

  • Fixed a bug where sendTransactionWithDelegation failed whenever value was specified in the parameters. (#30)

7.0.0

02 Jul 21:01
65cd885
Compare
Choose a tag to compare

@metamask/delegation-core 0.1.0

Changed

  • Add @metamask/delegation-core package, providing utility types, delegation hashing, and terms encoding for a limited set of caveat enforcers.