You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
BREAKING: Track fees and liveness for multiple chains by adding feesByChainId and livenessByChainId properties to SmartTransactionsControllerState (#237)
In particular, clients should prefer accessing feesByChainId and livenessByChainId instead of fees and liveness, which will be removed in a future major version.
SmartTransactionsController now inherits from StaticIntervalPollingControllerV1 (#237, #265)
This change introduces a set of public methods to the controller which is designed to manage polling on a particular network instead of the globally selected network. Internally, updateSmartTransactions will still be called as the legacy polling does. The methods added are:
setIntervalLength
getIntervalLength
startPollingByNetworkClientId
stopAllPolling
stopPollingByPollingToken
onPollingCompleteByNetworkClientId
Validation can be now be circumvented by passing the skipConfirm option (#271)
Several methods now take a networkClientId option within an options object which can be used to operate on smart transactions that live on a particular chain instead of the globally selected one (#237)
submitSignedTransactions now takes a transactionMeta option which is used to set the type of the submitted smart transaction (#298)
submitSignedTransactions now sets uuid and txHash on the submitted smart transaction (#298)
submitSignedTransactions now returns metadata about the submitted transaction (#298)
Add getTxHash utility function which can be used to get the transaction hash from a signed transaction (#298)
<transaction-uuid>:smartTransaction is now emitted whenever a smart transaction is updated (#298)
This occurs after transactions are submitted, after they are confirmed, after statuses are updated, and also explicitly via updateSmartTransaction.
Changed
BREAKING: Bump @metamask/network-controller from ^15.0.0 to ^17.0.0 (#238#241)
This is breaking because the type of the messenger has backward-incompatible changes. See the changelog for @metamask/[email protected] for more.
BREAKING: The set of supported chains (configurable via supportedChainIds) now defaults to including Goerli instead of Rinkeby (#237)
BREAKING: Minimum Node.js version is now 18.18 (#270)
BREAKING: Constrain the type of the constructor provider option to Provider from @metamask/network-controller (#237)
BREAKING: The constructor now takes a required argument getNetworkClientById, which should be bound from NetworkController's getNetworkClientById method (#237)
BREAKING:fetchSmartTransactionsStatus now emits <transaction-uuid>:smartTransaction instead of <transaction-uuid>:transaction-hash (#279)
This event contains more information than just the transaction hash.
This event is also always emitted even if there is no transaction hash.
BREAKING: Use a category of "Transactions" for MetaMetrics events rather than "swaps" (#282)
Bump @metamask/base-controller from ^3.2.1 to ^4.0.0 (#237)
Deprecate time property on SmartTransaction type in favor of creationTime (#298)
Removed
BREAKING: Remove property ethersProvider from SmartTransactionsController (#237)
Fixed
Fix getFees so that it does not blow away an existing nonce on the trade transaction (#271)
Fix submitSignedTransactions so that it sets a nonce on the resulting transaction if it doesn't have one (#271)
Fix updating a smart transaction to no longer throw when no smart transactions have been previously saved under the current chain (#271)
Properly override controller name to SmartTransactionController (#273)
Properly mark getFees as having an optional second argument, since it was being handled that way anyway (#271)
The controller now waits until the first NetworkController update before making use of the provider constructor argument to hit the currently selected network (#274)
This change was made because in the future, the provider may no longer be defined initially.
This change may cause errors to be thrown immediately following a network switch until a future NetworkController state update or polling iteration.