diff --git a/CHANGELOG.md b/CHANGELOG.md index b6fb35d9..5c31955a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [12.0.0] + ## [11.0.0] ## [10.0.0] @@ -17,7 +19,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [7.0.0] -[Unreleased]: https://github.com/MetaMask/delegation-toolkit/compare/delegator-sdk-monorepo@11.0.0...HEAD +[Unreleased]: https://github.com/MetaMask/delegation-toolkit/compare/delegator-sdk-monorepo@12.0.0...HEAD +[12.0.0]: https://github.com/MetaMask/delegation-toolkit/compare/delegator-sdk-monorepo@11.0.0...delegator-sdk-monorepo@12.0.0 [11.0.0]: https://github.com/MetaMask/delegation-toolkit/compare/delegator-sdk-monorepo@10.0.0...delegator-sdk-monorepo@11.0.0 [10.0.0]: https://github.com/MetaMask/delegation-toolkit/compare/delegator-sdk-monorepo@9.0.0...delegator-sdk-monorepo@10.0.0 [9.0.0]: https://github.com/MetaMask/delegation-toolkit/compare/delegator-sdk-monorepo@8.0.0...delegator-sdk-monorepo@9.0.0 diff --git a/package.json b/package.json index 6815d1a1..faf79475 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "delegator-sdk-monorepo", - "version": "11.0.0", + "version": "12.0.0", "license": "(MIT-0 OR Apache-2.0)", "private": true, "repository": { diff --git a/packages/delegation-core/CHANGELOG.md b/packages/delegation-core/CHANGELOG.md index 0b3801a8..380b29dc 100644 --- a/packages/delegation-core/CHANGELOG.md +++ b/packages/delegation-core/CHANGELOG.md @@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.2.0] + +### Added + +- Added a Nonce caveat enforcer terms builder `createNonceTerms` ([#44](https://github.com/metamask/delegation-toolkit/pull/44)) + +### Changed + +- The configuration parameter `callData` is now `calldata` in `createExactCalldataTerms` argument type. ([#24](https://github.com/metamask/delegation-toolkit/pull/24)) +- The package is explictly marked as ESM via `type: module`; with CJS compatibility maintained with dual export. ([#27](https://github.com/metamask/delegation-toolkit/pull/27)) + ## [0.2.0-rc.1] ### Added @@ -24,6 +35,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add @metamask/delegation-core package, providing utility types, delegation hashing, and terms encoding for a limited set of caveat enforcers. -[Unreleased]: https://github.com/metamask/delegation-toolkit/compare/@metamask/delegation-core@0.2.0-rc.1...HEAD +[Unreleased]: https://github.com/metamask/delegation-toolkit/compare/@metamask/delegation-core@0.2.0...HEAD +[0.2.0]: https://github.com/metamask/delegation-toolkit/compare/@metamask/delegation-core@0.2.0-rc.1...@metamask/delegation-core@0.2.0 [0.2.0-rc.1]: https://github.com/metamask/delegation-toolkit/compare/@metamask/delegation-core@0.1.0...@metamask/delegation-core@0.2.0-rc.1 [0.1.0]: https://github.com/metamask/delegation-toolkit/releases/tag/@metamask/delegation-core@0.1.0 diff --git a/packages/delegation-core/package.json b/packages/delegation-core/package.json index a7a2fa8e..c633903e 100644 --- a/packages/delegation-core/package.json +++ b/packages/delegation-core/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/delegation-core", - "version": "0.2.0-rc.1", + "version": "0.2.0", "description": "Low level core functionality for interacting with the Delegation Framework", "license": "(MIT-0 OR Apache-2.0)", "type": "module", diff --git a/packages/delegation-toolkit/CHANGELOG.md b/packages/delegation-toolkit/CHANGELOG.md index cd94105a..d1f9fbe5 100644 --- a/packages/delegation-toolkit/CHANGELOG.md +++ b/packages/delegation-toolkit/CHANGELOG.md @@ -7,6 +7,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.13.0] + +### Added + +- Delegation Scopes and a declarative API to define delegation caveats ([#51](https://github.com/MetaMask/delegation-toolkit/pull/51)) +- New utilities and actions for interacting with the Delegation Framework smart contracts ([#45](https://github.com/MetaMask/delegation-toolkit/pull/45)) +- A new Client for interacting with the Infura Bundler ([#59](https://github.com/MetaMask/delegation-toolkit/pull/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](https://github.com/MetaMask/delegation-toolkit/pull/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](https://github.com/metamask/delegation-toolkit/pull/24)) + - The `CaveatBuilder.addCaveat` function now accepts a single caveat configuration object instead of positional arguments. ([#24](https://github.com/metamask/delegation-toolkit/pull/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](https://github.com/MetaMask/delegation-toolkit/pull/63)) +- `Signatory` is renamed to `Signer` for more clarity when creating `MetaMaskSmartAccount` instances ([#76](https://github.com/MetaMask/delegation-toolkit/pull/76)) +- The experimental EIP-7715 actions have been updated to align with the current implementation of the specification: + - Now requires are direct to the `wallet_requestExecutionPermissions` method on the wallet api ([#60](https://github.com/MetaMask/delegation-toolkit/pull/60)) + - The datatypes used in the call have been updated to align with the new Erc7715 interface ([#54](https://github.com/MetaMask/delegation-toolkit/pull/54)) + - The `startTime` parameter is now optional on all permission types +- The Viem peer dependency is now `viem@^2.31.4`. ([#22](https://github.com/metamask/delegation-toolkit/pull/22)) +- Individual constants like `SINGLE_DEFAULT_MODE` have been replaced with the `ExecutionMode` enum ([#16](https://github.com/metamask/delegation-toolkit/pull/16)) +- The test runner is now Vitest, with Hardhat removed entirely ([#27](https://github.com/metamask/delegation-toolkit/pull/27)) + +### Fixed + +- `sendTransactionWithDelegation` failed whenever `value` was specified in the parameters. ([#30](https://github.com/metamask/delegation-toolkit/pull/30)) + ## [0.13.0-rc.3] ### Added @@ -38,7 +75,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed a bug where `sendTransactionWithDelegation` failed whenever `value` was specified in the parameters. ([#30](https://github.com/metamask/delegation-toolkit/pull/30)) -[Unreleased]: https://github.com/metamask/delegation-toolkit/compare/@metamask/delegation-toolkit@0.13.0-rc.3...HEAD +[Unreleased]: https://github.com/metamask/delegation-toolkit/compare/@metamask/delegation-toolkit@0.13.0...HEAD +[0.13.0]: https://github.com/metamask/delegation-toolkit/compare/@metamask/delegation-toolkit@0.13.0-rc.3...@metamask/delegation-toolkit@0.13.0 [0.13.0-rc.3]: https://github.com/metamask/delegation-toolkit/compare/@metamask/delegation-toolkit@0.13.0-rc.2...@metamask/delegation-toolkit@0.13.0-rc.3 [0.13.0-rc.2]: https://github.com/metamask/delegation-toolkit/compare/@metamask/delegation-toolkit@0.13.0-rc.1...@metamask/delegation-toolkit@0.13.0-rc.2 [0.13.0-rc.1]: https://github.com/metamask/delegation-toolkit/releases/tag/@metamask/delegation-toolkit@0.13.0-rc.1 diff --git a/packages/delegation-toolkit/package.json b/packages/delegation-toolkit/package.json index b7a07a38..93bd0df1 100644 --- a/packages/delegation-toolkit/package.json +++ b/packages/delegation-toolkit/package.json @@ -1,6 +1,6 @@ { "name": "@metamask/delegation-toolkit", - "version": "0.13.0-rc.3", + "version": "0.13.0", "type": "module", "description": "The Delegation Toolkit built on top of Viem - a library for interacting with DeleGator Smart Accounts", "license": "(MIT-0 OR Apache-2.0)", @@ -115,7 +115,7 @@ "dependencies": { "@metamask/7715-permission-types": "^0.3.0", "@metamask/delegation-abis": "^0.11.0", - "@metamask/delegation-core": "^0.2.0-rc.1", + "@metamask/delegation-core": "^0.2.0", "@metamask/delegation-deployments": "^0.12.0", "buffer": "^6.0.3", "webauthn-p256": "^0.0.10" diff --git a/yarn.lock b/yarn.lock index 6f6e9f78..f7b09e2d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -579,7 +579,7 @@ __metadata: languageName: unknown linkType: soft -"@metamask/delegation-core@npm:^0.2.0-rc.1, @metamask/delegation-core@workspace:packages/delegation-core": +"@metamask/delegation-core@npm:^0.2.0, @metamask/delegation-core@workspace:packages/delegation-core": version: 0.0.0-use.local resolution: "@metamask/delegation-core@workspace:packages/delegation-core" dependencies: @@ -614,7 +614,7 @@ __metadata: "@metamask/7715-permission-types": "npm:^0.3.0" "@metamask/auto-changelog": "npm:^5.0.2" "@metamask/delegation-abis": "npm:^0.11.0" - "@metamask/delegation-core": "npm:^0.2.0-rc.1" + "@metamask/delegation-core": "npm:^0.2.0" "@metamask/delegation-deployments": "npm:^0.12.0" "@metamask/eslint-config": "npm:^12.0.0" "@metamask/eslint-config-nodejs": "npm:^12.0.0"