Skip to content

Releases: MetaMask/core

120.0.0

26 Feb 17:01
ec115dd
Compare
Choose a tag to compare

@metamask/transaction-controller 23.1.0

Added

  • Add gasFeeEstimatesLoaded property to TransactionMeta (#3948)
  • Add gasFeeEstimates property to TransactionMeta to be automatically populated on unapproved transactions (#3913)

Changed

  • Use the linea_estimateGas RPC method to provide transaction specific gas fee estimates on Linea networks (#3913)

119.0.0

26 Feb 10:38
a794c31
Compare
Choose a tag to compare

@metamask/permission-controller 8.0.1

Fixed

  • Bump @metamask/rpc-errors to ^6.2.1 (#3954, #3970)

118.0.0

22 Feb 17:54
aa3a16b
Compare
Choose a tag to compare

@metamask/queued-request-controller 0.5.0

Changed

  • BREAKING: Bump @metamask/selected-network-controller peer dependency to ^8.0.0 (#3958)

@metamask/selected-network-controller 8.0.0

Changed

  • BREAKING: setNetworkClientIdForDomain now throws an error if passed metamask for the domain param (#3908).
  • BREAKING: setNetworkClientIdForDomain now fails and throws an error if the passed in domain is not currently permissioned in the PermissionsController (#3908).
  • BREAKING: the domains state now no longer contains a metamask domain key. Consumers should instead use the selectedNetworkClientId from the NetworkController to get the selected network for the metamask domain (#3908).
  • BREAKING: getProviderAndBlockTracker now throws an error if called with any domain while the perDomainNetwork flag is false. Consumers should instead use the provider and blockTracker from the NetworkController when the perDomainNetwork flag is false (#3908).
  • BREAKING: getProviderAndBlockTracker now throws an error if called with a domain that does not have a networkClientId set (#3908).
  • BREAKING: getNetworkClientIdForDomain now returns the selectedNetworkClientId for the globally selected network if the perDomainNetwork flag is false or if the domain is not in the domains state (#3908).

Removed

  • BREAKING: Remove logic in selectedNetworkMiddleware to set a default networkClientId for the requesting origin in the SelectedNetworkController when not already set. Now if networkClientId is not already set for the requesting origin, the middleware will not set a default networkClientId for that origin in the SelectedNetworkController but will continue to add the selectedNetworkClientId from the NetworkController to the networkClientId property on the request object (#3908).

Fixed

  • The SelectedNetworkController now listens for networkConfiguration removal events on the NetworkController and updates domains pointed at a removed networkClientId to the selectedNetworkClientId (#3926).

117.0.0

15 Feb 23:29
5ce07fe
Compare
Choose a tag to compare

@metamask/transaction-controller 23.0.0

Added

  • BREAKING: Constructor now expects a getNetworkClientRegistry callback function (#3643)
  • BREAKING: Messenger now requires NetworkController:stateChange to be an allowed event (#3643)
  • BREAKING: Messenger now requires NetworkController:findNetworkClientByChainId and NetworkController:getNetworkClientById actions (#3643)
  • Adds a feature flag parameter isMultichainEnabled passed via the constructor (and defaulted to false), which when passed a truthy value will enable the controller to submit, process, and track transactions concurrently on multiple networks. (#3643)
  • Adds destroy() method that stops/removes internal polling and listeners (#3643)
  • Adds stopAllIncomingTransactionPolling() method that stops polling Etherscan for transaction updates relevant to the currently selected network.
    • When called with the isMultichainEnabled feature flag on, also stops polling Etherscan for transaction updates relevant to each currently polled networkClientId. (#3643)
  • Exports PendingTransactionOptions type (#3643)
  • Exports TransactionControllerOptions type (#3643)

Changed

  • BREAKING: approveTransactionsWithSameNonce() now requires chainId to be populated in for each TransactionParams that is passed (#3643)
  • addTransaction() now accepts optional networkClientId in its options param which specifies the network client that the transaction will be processed with during its lifecycle if the isMultichainEnabled feature flag is on (#3643)
    • when called with the isMultichainEnabled feature flag off, passing in a networkClientId will cause an error to be thrown.
  • estimateGas() now accepts optional networkClientId as its last param which specifies the network client that should be used to estimate the required gas for the given transaction (#3643)
    • when called with the isMultichainEnabled feature flag is off, the networkClientId param is ignored and the global network client will be used instead.
  • estimateGasBuffered() now accepts optional networkClientId as its last param which specifies the network client that should be used to estimate the required gas plus buffer for the given transaction (#3643)
    • when called with the isMultichainEnabled feature flag is off, the networkClientId param is ignored and the global network client will be used instead.
  • getNonceLock() now accepts optional networkClientId as its last param which specifies which the network client's nonceTracker should be used to determine the next nonce. (#3643)
    • When called with the isMultichainEnabled feature flag on and with networkClientId specified, this method will also restrict acquiring the next nonce by chainId, i.e. if this method is called with two different networkClientIds on the same chainId, only the first call will return immediately with a lock from its respective nonceTracker with the second call being blocked until the first caller releases its lock
    • When called with isMultichainEnabled feature flag off, the networkClientId param is ignored and the global network client will be used instead.
  • startIncomingTransactionPolling() and updateIncomingTransactions() now enforce a 5 second delay between requests per chainId to avoid rate limiting (#3643)
  • TransactionMeta type now specifies an optional networkClientId field (#3643)
  • startIncomingTransactionPolling() now accepts an optional array of networkClientIds. (#3643)
    • When networkClientIds is provided and the isMultichainEnabled feature flag is on, the controller will start polling Etherscan for transaction updates relevant to the networkClientIds.
    • When networkClientIds is provided and the isMultichainEnabled feature flag is off, nothing will happen.
    • If networkClientIds is empty or not provided, the controller will start polling Etherscan for transaction updates relevant to the currently selected network.
  • stopIncomingTransactionPolling() now accepts an optional array of networkClientIds. (#3643)
    • When networkClientIds is provided and the isMultichainEnabled feature flag is on, the controller will stop polling Ethercsan for transaction updates relevant to the networkClientIds.
    • When networkClientIds is provided and the isMultichainEnabled feature flag is off, nothing will happen.
    • If networkClientIds is empty or not provided, the controller will stop polling Etherscan for transaction updates relevant to the currently selected network.

@metamask/user-operation-controller 4.0.0

Changed

  • BREAKING: Bump @metamask/transaction-controller dependency and peer dependency to ^23.0.0 (#3925)

116.0.0

15 Feb 20:49
5cceb68
Compare
Choose a tag to compare

@metamask/controller-utils 8.0.3

Changed

  • Bump @metamask/ethjs-unit to ^0.3.0 (#3897)

@metamask/gas-fee-controller 13.0.1

Changed

  • Bump @metamask/ethjs-unit to ^0.3.0 (#3897)
  • Bump @metamask/controller-utils to ^8.0.3 (#3915)

@metamask/transaction-controller 22.0.0

Changed

  • BREAKING: Add peerDependency on @babel/runtime (#3897)
  • Throw after publishing a canceled or sped-up transaction if already confirmed (#3800)
  • Bump eth-method-registry from ^3.0.0 to ^4.0.0 (#3897)
  • Bump @metamask/controller-utils to ^8.0.3 (#3915)
  • Bump @metamask/gas-fee-controller to ^13.0.1 (#3915)

Removed

  • BREAKING: Remove cancelMultiplier and speedUpMultiplier constructor options as both values are now fixed at 1.1. (#3909)

Fixed

  • Remove implicit peerDependency on babel-runtime (#3897)

115.0.0

02 Feb 22:27
959b920
Compare
Choose a tag to compare

@metamask/transaction-controller 21.2.0

Added

  • Add optional publish hook to support custom logic instead of submission to the RPC provider (#3883)
  • Add hasNonce option to approveTransactionsWithSameNonce method (#3883)

114.0.0

31 Jan 16:39
90ef68a
Compare
Choose a tag to compare

@metamask/transaction-controller 21.1.0

Added

  • Add abortTransactionSigning method (#3870)

113.0.0

29 Jan 17:24
8c09b16
Compare
Choose a tag to compare

@metamask/transaction-controller 21.0.1

Fixed

  • Resolves transaction custodian promise when setting transaction status to submitted or failed (#3845)
  • Fix normalizer ensuring property type is always present in TransactionParams (#3817)

@metamask/user-operation-controller 3.0.0

Changed

  • BREAKING: Add required from property to PrepareUserOperationRequest (#3844)
  • BREAKING: Add required from property to AddUserOperationRequest (#3844)
  • BREAKING: Make smartContractAccount optional in AddUserOperationOptions (#3844)
    • Use current account snap by default if not provided (#3844)
  • Delete user operation if rejected during approval (#3844)
  • Set userFeeLevel to custom in transaction event if using a paymaster (#3844)
  • Validate arguments when calling addUserOperationFromTransaction (#3844)

112.0.0

26 Jan 15:47
4e353c0
Compare
Choose a tag to compare

@metamask/selected-network-controller 7.0.1

Changed

  • Selected network controller should update all domains when perDomainNetwork feature flag is off (#3834)

111.0.0

23 Jan 21:41
b20eb08
Compare
Choose a tag to compare

@metamask/accounts-controller 10.0.0

Changed

  • BREAKING: Bump @metamask/keyring-controller peer dependency to ^12.2.0 (#3821)
  • Bump @metamask/base-controller to ^4.1.1 (#3821)

@metamask/address-book-controller 3.1.7

Changed

  • Bump @metamask/utils to ^8.3.0 (#3769)
  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)
  • Bump @metamask/controller-utils to ^8.0.2 (#3821)

@metamask/announcement-controller 5.0.2

Changed

  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)

@metamask/approval-controller 5.1.2

Changed

  • Bump @metamask/utils to ^8.3.0 (#3769)
  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)

@metamask/assets-controllers 25.0.0

Added

  • Add Linea to price api supported chains (#3797)

Changed

  • BREAKING: Convert TokenBalancesController to BaseControllerV2 (#3750)
    • The constructor parameters have changed; rather than accepting a "config" parameter for interval and tokens we now pass both values as controller options, and a "state" parameter, there is now just a single object for all constructor arguments. This object has a mandatory messenger and an optional state, tokens, interval properties a disabled property has also been added.
    • State now saves tokens balances as strings and not as a BNs.
    • Additional BN export has been removed as it was intended to be removed in the next major release.
  • BREAKING: Bump @metamask/approval-controller peer dependency to ^5.1.2 (#3821)
  • BREAKING: Bump @metamask/network-controller peer dependency to ^17.2.0 (#3821)
  • BREAKING: Bump @metamask/preferences-controller peer dependency to ^7.0.0 (#3821)
  • Bump @metamask/utils to ^8.3.0 (#3769)
  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)
  • Bump @metamask/controller-utils to ^8.0.2 (#3821)
  • Bump @metamask/polling-controller to ^5.0.0 (#3821)

@metamask/base-controller 4.1.1

Changed

  • Bump @metamask/utils to ^8.3.0 (#3769)

@metamask/build-utils 1.0.2

Changed

  • Bump @metamask/utils to ^8.3.0 (#3769)

@metamask/composable-controller 5.0.1

Changed

  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)

@metamask/controller-utils 8.0.2

Changed

  • Bump @metamask/utils to ^8.3.0 (#3769)

@metamask/ens-controller 9.0.0

Changed

  • BREAKING: Bump @metamask/network-controller peer dependency to ^17.2.0 (#3821)
  • Bump @metamask/utils to ^8.3.0 (#3769)
  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)
  • Bump @metamask/controller-utils to ^8.0.2 (#3821)

@metamask/eth-json-rpc-provider 2.3.2

Changed

  • Bump @metamask/utils to ^8.3.0 (#3769)
  • Bump @metamask/json-rpc-engine to ^7.3.2 (#3821)

@metamask/gas-fee-controller 13.0.0

Changed

  • BREAKING: Bump @metamask/network-controller peer dependency to ^17.2.0 (#3821)
  • Bump @metamask/utils to ^8.3.0 (#3769)
  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)
  • Bump @metamask/controller-utils to ^8.0.2 (#3821)
  • Bump @metamask/polling-controller to ^5.0.0 (#3821)

@metamask/json-rpc-engine 7.3.2

Changed

  • Bump @metamask/utils to ^8.3.0 (#3769)

@metamask/json-rpc-middleware-stream 6.0.2

Changed

  • Bump @metamask/utils to ^8.3.0 (#3769)
  • Bump @metamask/json-rpc-engine to ^7.3.2 (#3821)

@metamask/keyring-controller 12.2.0

Added

  • Add getDefaultKeyringState function (#3799)

Changed

  • Bump @metamask/base-controller to ^4.1.1 (#3821)
  • Bump @metamask/message-manager to ^7.3.8 (#3821)

Removed

  • Remove peerDependency and devDependency upon @metamask/preferences-controller (#3799)
    • This dependency was just used to access the types of four methods. Those types are now inlined instead.

@metamask/logging-controller 2.0.2

Changed

  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)
  • Bump @metamask/controller-utils to ^8.0.2 (#3821)

@metamask/message-manager 7.3.8

Changed

  • Bump @metamask/utils to ^8.3.0 (#3769)
  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)
  • Bump @metamask/controller-utils to ^8.0.2 (#3821)

@metamask/name-controller 5.0.0

Changed

  • BREAKING: Add expire limit for proposed names (#3748)
    • Expired names now get removed on every call to updateProposedNames
  • Bump @metamask/base-controller to ^4.1.1 (#3821)

@metamask/network-controller 17.2.0

Changed

  • The setActiveNetwork method and action now supports built-in network types (#3764)
    • Previously this would only accept a network configuration ID. Now it will accept the type of a built-in network as well, using it like an ID. This lets you switch to a built-in or custom network with a single method/action.
  • Deprecate the setProviderType method and action (#3764)
    • Use setActiveNetwork instead
  • Bump @metamask/swappable-obj-proxy to ^2.2.0 (#3784)
  • Bump @metamask/utils to ^8.3.0 (#3769)
  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)
  • Bump @metamask/controller-utils to ^8.0.2 (#3821)
  • Bump @metamask/eth-json-rpc-provider to ^2.3.2 (#3821)
  • Bump @metamask/json-rpc-engine to ^7.3.2 (#3821)

@metamask/notification-controller 4.0.2

Changed

  • Bump @metamask/utils to ^8.3.0 (#3769)
  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)

@metamask/permission-controller 8.0.0

Changed

  • BREAKING: Bump @metamask/approval-controller peer dependency to ^5.1.2 (#3821)
  • Bump @metamask/utils to ^8.3.0 (#3769)
  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)
  • Bump @metamask/controller-utils to ^8.0.2 (#3821)
  • Bump @metamask/json-rpc-engine to ^7.3.2 (#3821)

@metamask/phishing-controller 8.0.2

Changed

  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)
  • Bump @metamask/controller-utils to ^8.0.2 (#3821)

@metamask/polling-controller 5.0.0

Changed

  • BREAKING: Bump @metamask/network-controller peer dependency to ^17.2.0 (#3821)
  • Bump @metamask/utils to ^8.3.0 (#3769)
  • Bump @metamask/base-controller to ^4.1.1 (#3760, #3821)
  • Bump @metamask/controller-utils to ^8.0.2 (#3821)

@me...

Read more