All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Bump
@metamask/utilsfrom^11.9.0to^11.11.0(#9074) - Bump
@metamask/transaction-controllerfrom^66.0.0to^68.0.0(#8999, #9021, #9027, #9066, #9089)
- Add
token-approval-revocationexecution permission type decoding (#8823)
- Bump
@metamask/transaction-controllerfrom^65.1.0to^65.3.0(#8722, #8755) - Bump
@metamask/network-controllerfrom^30.1.0to^31.0.0(#8755)
- Add
payeerule decoding for execution permissions, extracting allowed recipient addresses fromAllowedTargetsEnforcer(native token) andAllowedCalldataEnforcer(ERC-20 token) caveats (#8668) - Add
redeemerrule decoding for execution permissions, extracting addresses fromRedeemerEnforcercaveats (#8537) - Add
native-token-allowanceanderc20-token-allowanceexecution permission type decoding (#8553)
- Use
decodeRedeemerTermsfrom@metamask/delegation-coreinstead of a local implementation (#8537) - Bump
@metamask/delegation-corefrom^0.2.0to^1.1.0(#8537) - Bump
@metamask/transaction-controllerfrom^64.2.0to^65.1.0(#8482, #8585, #8613, #8691) - Bump
@metamask/messengerfrom^1.1.1to^1.2.0(#8632) - Bump
@metamask/network-controllerfrom^30.0.1to^30.1.0(#8636)
- BREAKING: Add
statustoPermissionInfoWithMetadatatype, resolved from onchain data (#8445) - Bump
@metamask/messengerfrom^1.0.0to^1.1.1(#8364, #8373) - Bump
@metamask/transaction-controllerfrom^64.0.0to^64.2.0(#8432, #8447) - Bump
@metamask/base-controllerfrom^9.0.1to^9.1.0(#8457)
- Bump
@metamask/transaction-controllerfrom^63.3.1to^64.0.0(#8359)
- BREAKING: Bump
@metamask/snaps-controllersfrom^17.2.0to^19.0.0(#8319)- The controller now requires
SnapController:hasSnapinstead ofSnapController:has.
- The controller now requires
- Bump
@metamask/snaps-sdkfrom^10.3.0to^11.0.0(#8319) - Bump
@metamask/snaps-utilsfrom^11.7.0to^12.1.2(#8319)
- Expose missing public
GatorPermissionsControllermethods through its messenger (#8205)- The following actions are now available:
GatorPermissionsController:initialize
- Corresponding action types (e.g.
GatorPermissionsControllerInitializeAction) are available as well.
- The following actions are now available:
- Bump
@metamask/base-controllerfrom^9.0.0to^9.0.1(#8317) - Bump
@metamask/messengerfrom^0.3.0to^1.0.0(#8317) - Bump
@metamask/transaction-controllerfrom^63.0.0to^63.3.1(#8272, #8301, #8313, #8317)
- Improves permission validation during decoding (#7844, #8127)
- Validates
ExactCalldataEnforcerandValueLteEnforcercaveat terms - Validates that
periodAmountis positive inerc20-token-periodicandnative-token-periodicpermission types - Validates that
tokenAddressis a valid hex string inerc20-token-periodicanderc20-token-streampermission types
- Validates
- Bump
@metamask/transaction-controllerfrom^62.17.0to^62.21.0(#7996, #8005, #8031, #8104, #8140)
- BREAKING: Refactor
GatorPermissionsController: simplified config, permission storage, and public API (#7847)- Constructor now requires
config, internal configuration is removed from controller state - New
initialize()function performs a syncronisation process if required when the controller is first initialized - Replaces
gatorPermissionsMapSerializedwithgrantedPermissionsproperty in internal state, replaces related types, and utility functions fetchAndUpdateGatorPermissions()no longer accepts parameters and resolves tovoidgetPendingRevocations/pendingRevocationsgetter replaced byisPendingRevocation(permissionContext); list onstate.pendingRevocations
- Constructor now requires
- Bump
@metamask/transaction-controllerfrom^62.11.0to^62.17.0, (#7775, #7802, #7832, #7854, #7872, #7897)
- Bump
@metamask/transaction-controllerfrom^62.10.0to^62.11.0to resolve mismatchingWebSocketStateenum export in@metamask/core-backendtransient dependency (#7760)
- Bump
@metamask/transaction-controllerfrom^62.9.2to^62.10.0(#7737)
- Correctly validate
erc20-token-revocationterms when decoding permission. (#7729)
- Calls to
permissionsProvider_submitRevocationnow include the hash of the transaction that revoked the permission if available. (#7503) - Bump
@metamask/transaction-controllerfrom^62.9.1to^62.9.2(#7642)
- Ensure revocation transaction is successful before marking stored permission as revoked (#7503)
- Bump
@metamask/snaps-controllersfrom^14.0.1to^17.2.0(#7550) - Bump
@metamask/snaps-sdkfrom^9.0.0to^10.3.0(#7550) - Bump
@metamask/snaps-utilsfrom^11.0.0to^11.7.0(#7550) - Upgrade
@metamask/utilsfrom^11.8.1to^11.9.0(#7511) - Bump
@metamask/transaction-controllerfrom^62.5.0to^62.9.1(#7430, #7494, #7596, #7602, #7604) - BREAKING: Gator Permissions Controller and Gator Permission Decoder core types have been updated to comply with 7715 spec revisions (#7613)
- Bump
@metamask/7715-permission-typefrom^0.4.0to^0.5.0
- Bump
- Export
DELEGATION_FRAMEWORK_VERSIONconstant to indicate the supported Delegation Framework version (#7195)
- BREAKING: Permission decoding now rejects
TimestampEnforcercaveats with zerotimestampBeforeThresholdvalues (#7195) PermissionResponseSanitizednow includesrulesproperty for stronger typing support (#7195)- Permission decoding now resolves
erc20-token-revocationpermission type (#7299) - Differentiate
erc20-token-revocationpermissions fromotherin controller state (#7318) - Bump
@metamask/transaction-controllerfrom^62.3.1to^62.5.0(#7289, #7325)
- Refresh gator permissions map after revocation state change (#7235)
- New
submitDirectRevocationmethod for already-disabled delegations that don't require an on-chain transaction (#7244)
- Move peer dependencies for controller and service packages to direct dependencies (#7209, #7220, #7236, #7257)
- The dependencies moved are:
@metamask/snaps-controllers(^14.0.1)@metamask/transaction-controller(^62.3.1)
- In clients, it is now possible for multiple versions of these packages to exist in the dependency tree.
- For example, this scenario would be valid: a client relies on
@metamask/controller-a1.0.0 and@metamask/controller-b1.0.0, and@metamask/controller-bdepends on@metamask/controller-a1.1.0.
- For example, this scenario would be valid: a client relies on
- Note, however, that the versions specified in the client's
package.jsonalways "win", and you are expected to keep them up to date so as not to break controller and service intercommunication.
- The dependencies moved are:
- BREAKING: Bump
@metamask/transaction-controllerfrom^61.1.0to^62.0.0(#7202)
- Does not add a pending revocation if user cancels the transaction (#7157)
- BREAKING The GatorPermissionsController messenger must allow
TransactionController:transactionApprovedandTransactionController:transactionRejectedevents (#7157)
- BREAKING: Expose list of pending revocations in state (#7055)
- Add
pendingRevocationsproperty to state - Add
pendingRevocationsgetter to controller, which accesses the same property in state
- Add
- BREAKING: The GatorPermissionsController messenger must allow
TransactionController:transactionConfirmed,TransactionController:transactionFailed, andTransactionController:transactionDroppedevents (#6713) - Add
submitRevocationandaddPendingRevocationmethods to GatorPermissionsController (#6713)- These are also available as actions (
GatorPermissionsController:submitRevocationandGatorPermissionsController:addPendingRevocation)
- These are also available as actions (
- BREAKING: Add
@metamask/transaction-controlleras peer dependency (#7058)
- BREAKING: Use new
Messengerfrom@metamask/messenger(#6461)- Previously,
GatorPermissionsControlleraccepted aRestrictedMessengerinstance from@metamask/base-controller.
- Previously,
- BREAKING: Metadata property
anonymousrenamed toincludeInDebugSnapshot(#6461) - Bump
@metamask/base-controllerfrom^8.4.2to^9.0.0(#6962)
- Bump
@metamask/base-controllerfrom^8.4.1to^8.4.2(#6917)
- Bump
@metamask/utilsfrom^11.8.0to^11.8.1(#6708) - Bump
@metamask/base-controllerfrom^8.4.0to^8.4.1(#6807)
- Add two new controller state metadata properties:
includeInStateLogsandusedInUi(#6552) - Add method to decode permission from
signTypedData(#6556)
- Bump
@metamask/utilsfrom^11.4.2to^11.8.0(#6588) - Bump
@metamask/base-controllerfrom^8.3.0to^8.4.0(#6632) - Function
decodePermissionFromPermissionContextForOriginis now synchronous (#6656)
- Fix incorrect default Gator Permissions SnapId (#6546)
- Initial release (#6033)