Releases: MetaMask/core
Releases · MetaMask/core
120.0.0
@metamask/transaction-controller 23.1.0
Added
- Add
gasFeeEstimatesLoaded
property toTransactionMeta
(#3948) - Add
gasFeeEstimates
property toTransactionMeta
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
118.0.0
@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 passedmetamask
for the domain param (#3908). - BREAKING:
setNetworkClientIdForDomain
now fails and throws an error if the passed indomain
is not currently permissioned in thePermissionsController
(#3908). - BREAKING: the
domains
state now no longer contains ametamask
domain key. Consumers should instead use theselectedNetworkClientId
from theNetworkController
to get the selected network for themetamask
domain (#3908). - BREAKING:
getProviderAndBlockTracker
now throws an error if called with any domain while theperDomainNetwork
flag is false. Consumers should instead use theprovider
andblockTracker
from theNetworkController
when theperDomainNetwork
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 theselectedNetworkClientId
for the globally selected network if theperDomainNetwork
flag is false or if the domain is not in thedomains
state (#3908).
Removed
- BREAKING: Remove logic in
selectedNetworkMiddleware
to set a defaultnetworkClientId
for the requesting origin in theSelectedNetworkController
when not already set. Now ifnetworkClientId
is not already set for the requesting origin, the middleware will not set a defaultnetworkClientId
for that origin in theSelectedNetworkController
but will continue to add theselectedNetworkClientId
from theNetworkController
to thenetworkClientId
property on the request object (#3908).
Fixed
- The
SelectedNetworkController
now listens fornetworkConfiguration
removal events on theNetworkController
and updates domains pointed at a removednetworkClientId
to theselectedNetworkClientId
(#3926).
117.0.0
@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
andNetworkController: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)
- When called with the
- Exports
PendingTransactionOptions
type (#3643) - Exports
TransactionControllerOptions
type (#3643)
Changed
- BREAKING:
approveTransactionsWithSameNonce()
now requireschainId
to be populated in for each TransactionParams that is passed (#3643) addTransaction()
now accepts optionalnetworkClientId
in its options param which specifies the network client that the transaction will be processed with during its lifecycle if theisMultichainEnabled
feature flag is on (#3643)- when called with the
isMultichainEnabled
feature flag off, passing in a networkClientId will cause an error to be thrown.
- when called with the
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.
- when called with the
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.
- when called with the
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.
- When called with the
startIncomingTransactionPolling()
andupdateIncomingTransactions()
now enforce a 5 second delay between requests per chainId to avoid rate limiting (#3643)TransactionMeta
type now specifies an optionalnetworkClientId
field (#3643)startIncomingTransactionPolling()
now accepts an optional array ofnetworkClientIds
. (#3643)- When
networkClientIds
is provided and theisMultichainEnabled
feature flag is on, the controller will start polling Etherscan for transaction updates relevant to the networkClientIds. - When
networkClientIds
is provided and theisMultichainEnabled
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.
- When
stopIncomingTransactionPolling()
now accepts an optional array ofnetworkClientIds
. (#3643)- When
networkClientIds
is provided and theisMultichainEnabled
feature flag is on, the controller will stop polling Ethercsan for transaction updates relevant to the networkClientIds. - When
networkClientIds
is provided and theisMultichainEnabled
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.
- When
@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
@metamask/controller-utils 8.0.3
Changed
- Bump
@metamask/ethjs-unit
to^0.3.0
(#3897)
@metamask/gas-fee-controller 13.0.1
Changed
@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
andspeedUpMultiplier
constructor options as both values are now fixed at1.1
. (#3909)
Fixed
- Remove implicit peerDependency on
babel-runtime
(#3897)
115.0.0
114.0.0
113.0.0
@metamask/transaction-controller 21.0.1
Fixed
- Resolves transaction custodian promise when setting transaction status to
submitted
orfailed
(#3845) - Fix normalizer ensuring property
type
is always present inTransactionParams
(#3817)
@metamask/user-operation-controller 3.0.0
Changed
- BREAKING: Add required
from
property toPrepareUserOperationRequest
(#3844) - BREAKING: Add required
from
property toAddUserOperationRequest
(#3844) - BREAKING: Make
smartContractAccount
optional inAddUserOperationOptions
(#3844)- Use current account snap by default if not provided (#3844)
- Delete user operation if rejected during approval (#3844)
- Set
userFeeLevel
tocustom
in transaction event if using a paymaster (#3844) - Validate arguments when calling
addUserOperationFromTransaction
(#3844)
112.0.0
111.0.0
@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
@metamask/approval-controller 5.1.2
Changed
@metamask/assets-controllers 25.0.0
Added
- Add Linea to price api supported chains (#3797)
Changed
- BREAKING: Convert
TokenBalancesController
toBaseControllerV2
(#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 optionalstate
,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.
- 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
- 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
@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
@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
@metamask/keyring-controller 12.2.0
Added
- Add
getDefaultKeyringState
function (#3799)
Changed
Removed
- Remove
peerDependency
anddevDependency
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
- Expired names now get removed on every call to
- 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
- Use
- 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
@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)