@metamask/transaction-controller 18.0.0 → 18.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/EtherscanRemoteTransactionSource.d.ts +15 -0
  2. package/dist/EtherscanRemoteTransactionSource.d.ts.map +1 -0
  3. package/dist/EtherscanRemoteTransactionSource.js +122 -0
  4. package/dist/EtherscanRemoteTransactionSource.js.map +1 -0
  5. package/dist/IncomingTransactionHelper.d.ts +25 -0
  6. package/dist/IncomingTransactionHelper.d.ts.map +1 -0
  7. package/dist/IncomingTransactionHelper.js +198 -0
  8. package/dist/IncomingTransactionHelper.js.map +1 -0
  9. package/dist/TransactionController.d.ts +7 -1
  10. package/dist/TransactionController.d.ts.map +1 -1
  11. package/dist/TransactionController.js +55 -23
  12. package/dist/TransactionController.js.map +1 -1
  13. package/dist/constants.d.ts +4 -0
  14. package/dist/constants.d.ts.map +1 -1
  15. package/dist/constants.js +5 -1
  16. package/dist/constants.js.map +1 -1
  17. package/dist/etherscan.d.ts +64 -0
  18. package/dist/etherscan.d.ts.map +1 -0
  19. package/dist/etherscan.js +109 -0
  20. package/dist/etherscan.js.map +1 -0
  21. package/dist/external-transactions.d.ts +10 -0
  22. package/dist/external-transactions.d.ts.map +1 -0
  23. package/dist/external-transactions.js +36 -0
  24. package/dist/external-transactions.js.map +1 -0
  25. package/dist/helpers/EtherscanRemoteTransactionSource.d.ts.map +1 -1
  26. package/dist/helpers/EtherscanRemoteTransactionSource.js +1 -0
  27. package/dist/helpers/EtherscanRemoteTransactionSource.js.map +1 -1
  28. package/dist/history.d.ts +15 -0
  29. package/dist/history.d.ts.map +1 -0
  30. package/dist/history.js +75 -0
  31. package/dist/history.js.map +1 -0
  32. package/dist/mocks/txsMock.d.ts +64 -0
  33. package/dist/mocks/txsMock.d.ts.map +1 -0
  34. package/dist/mocks/txsMock.js +515 -0
  35. package/dist/mocks/txsMock.js.map +1 -0
  36. package/dist/transaction-type.d.ts +14 -0
  37. package/dist/transaction-type.d.ts.map +1 -0
  38. package/dist/transaction-type.js +114 -0
  39. package/dist/transaction-type.js.map +1 -0
  40. package/dist/types.d.ts +2 -0
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/types.js.map +1 -1
  43. package/dist/utils/gas.d.ts.map +1 -1
  44. package/dist/utils/gas.js +4 -1
  45. package/dist/utils/gas.js.map +1 -1
  46. package/dist/utils/history.d.ts.map +1 -1
  47. package/dist/utils/history.js +3 -0
  48. package/dist/utils/history.js.map +1 -1
  49. package/dist/utils/nonce.d.ts +21 -0
  50. package/dist/utils/nonce.d.ts.map +1 -0
  51. package/dist/utils/nonce.js +76 -0
  52. package/dist/utils/nonce.js.map +1 -0
  53. package/dist/utils/utils.d.ts +0 -12
  54. package/dist/utils/utils.d.ts.map +1 -1
  55. package/dist/utils/utils.js +1 -33
  56. package/dist/utils/utils.js.map +1 -1
  57. package/dist/utils.d.ts +72 -0
  58. package/dist/utils.d.ts.map +1 -0
  59. package/dist/utils.js +235 -0
  60. package/dist/utils.js.map +1 -0
  61. package/package.json +3 -3
  62. package/CHANGELOG.md +0 -339
package/CHANGELOG.md DELETED
@@ -1,339 +0,0 @@
1
- # Changelog
2
- All notable changes to this project will be documented in this file.
3
-
4
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
-
7
- ## [Unreleased]
8
-
9
- ## [18.0.0]
10
- ### Added
11
- - Add `updateEditableParams` method ([#2056](https://github.com/MetaMask/core/pull/2056))
12
- - Add `initApprovals` method to trigger the approval flow for any pending transactions during initialisation ([#2056](https://github.com/MetaMask/core/pull/2056))
13
- - Add `getTransactions` method to search transactions using the given criteria and options ([#2056](https://github.com/MetaMask/core/pull/2056))
14
-
15
- ### Changed
16
- - **BREAKING:** Bump `@metamask/base-controller` to ^4.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063))
17
- - This is breaking because the type of the `messenger` has backward-incompatible changes. See the changelog for this package for more.
18
- - **BREAKING:** Add `finished` and `publish-skip` events to `Events` type
19
- - **BREAKING:** Update `TransactionReceipt` type so `transactionIndex` is now a string rather than a number ([#2063](https://github.com/MetaMask/core/pull/2063))
20
- - Bump `nonce-tracker` to ^3.0.0 ([#2040](https://github.com/MetaMask/core/pull/2040))
21
- - The controller now emits a `transaction-status-update` event each time the status of a transaction changes (e.g. submitted, rejected, etc.) ([#2027](https://github.com/MetaMask/core/pull/2027))
22
- - Make `getCurrentAccountEIP1559Compatibility` constructor parameter optional ([#2056](https://github.com/MetaMask/core/pull/2056))
23
- - Normalize the gas values provided to the `speedUpTransaction` and `stopTransaction` methods ([#2056](https://github.com/MetaMask/core/pull/2056))
24
- - Persist any property changes performed by the `afterSign` hook ([#2056](https://github.com/MetaMask/core/pull/2056))
25
- - Report success to the approver if publishing is skipped by the `beforePublish` hook ([#2056](https://github.com/MetaMask/core/pull/2056))
26
- - Update `postTxBalance` after all swap transactions ([#2056](https://github.com/MetaMask/core/pull/2056))
27
- - Bump `@metamask/approval-controller` to ^5.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063))
28
- - Bump `@metamask/controller-utils` to ^6.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063))
29
- - Bump `@metamask/gas-fee-controller` to ^11.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063))
30
- - Bump `@metamask/network-controller` to ^17.0.0 ([#2063](https://github.com/MetaMask/core/pull/2063))
31
-
32
- ## [17.0.0]
33
- ### Added
34
- - **BREAKING:** Add additional support swaps support ([#1877](https://github.com/MetaMask/core/pull/1877))
35
- - Swap transaction updates can be prevented by setting `disableSwaps` as `true`. If not set it will default to `false`.
36
- - If `disableSwaps` is `false` or not set, then the `createSwapsTransaction` callback MUST be defined.
37
- - Add optional hooks to support alternate flows ([#1787](https://github.com/MetaMask/core/pull/1787))
38
- - Add the `getAdditionalSignArguments` hook to provide additional arguments when signing.
39
- - Add the `beforeApproveOnInit` hook to execute additional logic before starting an approval flow for a transaction during initialization. Return `false` to skip the transaction.
40
- - Add the `afterSign` hook to execute additional logic after signing a transaction. Return `false` to not change the `status` to `signed`.
41
- - Add the `beforePublish` hook to execute additional logic before publishing a transaction. Return `false` to prevent the transaction being submitted.
42
- - Add additional persisted transaction support during initialization and on network change ([#1916](https://github.com/MetaMask/core/pull/1916))
43
- - Initialise approvals for unapproved transactions on the current network.
44
- - Add missing gas values for unapproved transactions on the current network.
45
- - Submit any approved transactions on the current network.
46
- - Support saved gas fees ([#1966](https://github.com/MetaMask/core/pull/1966))
47
- - Add optional `getSavedGasFees` callback to constructor.
48
- - Add `updateCustodialTransaction` method to update custodial transactions ([#2018](https://github.com/MetaMask/core/pull/2018))
49
- - Add `accessList` to txParam types ([#2016](https://github.com/MetaMask/core/pull/2016))
50
- - Add `estimateGasBuffered` method to estimate gas and apply a specific buffer multiplier ([#2021](https://github.com/MetaMask/core/pull/2021))
51
- - Add `updateSecurityAlertResponse` method ([#1985](https://github.com/MetaMask/core/pull/1985))
52
- - Add gas values validation ([#1978](https://github.com/MetaMask/core/pull/1978))
53
- - Add `approveTransactionsWithSameNonce` method ([#1961](https://github.com/MetaMask/core/pull/1961))
54
- - Add `clearUnapprovedTransactions` method ([#1979](https://github.com/MetaMask/core/pull/1979))
55
- - Add `updatePreviousGasParams` method ([#1943](https://github.com/MetaMask/core/pull/1943))
56
- - Emit additional events to support metrics in the clients ([#1894](https://github.com/MetaMask/core/pull/1894))
57
- - Populate the `firstRetryBlockNumber`, `retryCount`, and `warning` properties in the transaction metadata. ([#1896](https://github.com/MetaMask/core/pull/1896))
58
-
59
- ### Changed
60
- - **BREAKING:** Pending transactions are now automatically resubmitted. ([#1896](https://github.com/MetaMask/core/pull/1896))
61
- - This can be disabled by setting the new `pendingTransactions.isResubmitEnabled` constructor option to `false`.
62
- - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^16.0.0
63
- - Persist specific error properties in core transaction metadata ([#1915](https://github.com/MetaMask/core/pull/1915))
64
- - Create `TransactionError` type with explicit properties.
65
- - Align core transaction error messages with extension ([#1980](https://github.com/MetaMask/core/pull/1980))
66
- - Catch of the `initApprovals` method to skip logging when the error is `userRejectedRequest`.
67
- - Create an additional transaction metadata entry when calling `stopTransaction` ([#1998](https://github.com/MetaMask/core/pull/1998))
68
- - Bump dependency `@metamask/eth-query` from ^3.0.1 to ^4.0.0 ([#2028](https://github.com/MetaMask/core/pull/2028))
69
- - Bump dependency and peer dependency on `@metamask/gas-fee-controller` to ^10.0.1
70
- - Bump @metamask/utils from 8.1.0 to 8.2.0 ([#1957](https://github.com/MetaMask/core/pull/1957))
71
-
72
- ## [16.0.0]
73
- ### Changed
74
- - **BREAKING:** Bump dependency and peer dependency on `@metamask/gas-fee-controller` to ^10.0.0
75
- - Bump dependency and peer dependency on `@metamask/network-controller` to ^15.1.0
76
-
77
- ## [15.0.0]
78
- ### Changed
79
- - **BREAKING:** Bump dependency and peer dependency on `@metamask/network-controller` to ^15.0.0
80
- - Bump dependency on `@metamask/rpc-errors` to ^6.1.0 ([#1653](https://github.com/MetaMask/core/pull/1653))
81
- - Bump dependency and peer dependency on `@metamask/approval-controller` to ^4.0.1
82
-
83
- ## [14.0.0]
84
- ### Added
85
- - **BREAKING:** Add required `getPermittedAccounts` argument to constructor, used to validate `from` addresses ([#1722](https://github.com/MetaMask/core/pull/1722))
86
- - Add `securityProviderRequest` option to constructor ([#1725](https://github.com/MetaMask/core/pull/1725))
87
- - Add `method` option to `addTransaction` method ([#1725](https://github.com/MetaMask/core/pull/1725))
88
- - Add `securityProviderRequest` property to TransactionMetaBase ([#1725](https://github.com/MetaMask/core/pull/1725))
89
- - Add SecurityProviderRequest type ([#1725](https://github.com/MetaMask/core/pull/1725))
90
- - Update `addTransaction` to set `securityProviderRequest` on transaction metadata when requested to do so ([#1725](https://github.com/MetaMask/core/pull/1725))
91
- - Update `txParams` validation to validate `chainId` ([#1723](https://github.com/MetaMask/core/pull/1723))
92
- - Update `addTransaction` to ensure allowed `from` address when `origin` is specified ([#1722](https://github.com/MetaMask/core/pull/1722))
93
-
94
- ### Changed
95
- - Bump dependency on `@metamask/utils` to ^8.1.0 ([#1639](https://github.com/MetaMask/core/pull/1639))
96
- - Bump dependency and peer dependency on `@metamask/approval-controller` to ^4.0.0
97
- - Bump dependency on `@metamask/base-controller` to ^3.2.3
98
- - Bump dependency on `@metamask/controller-utils` to ^5.0.2
99
- - Bump dependency and peer dependency on `@metamask/network-controller` to ^14.0.0
100
-
101
- ### Removed
102
- - **BREAKING:** Remove `interval` config option ([#1746](https://github.com/MetaMask/core/pull/1746))
103
- - The block tracker (which has its own interval) is now used to poll for pending transactions instead.
104
- - **BREAKING:** Remove `poll` method ([#1746](https://github.com/MetaMask/core/pull/1746))
105
- - The block tracker is assumed to be running, TransactionController does not offer a way to stop it.
106
- - **BREAKING:** Remove `queryTransactionStatuses` method ([#1746](https://github.com/MetaMask/core/pull/1746))
107
- - This functionality has been moved to a private interface and there is no way to use it externally.
108
-
109
- ## [13.0.0]
110
- ### Changed
111
- - **BREAKING**: Add required `getCurrentAccountEIP1559Compatibility` and `getCurrentNetworkEIP1559Compatibility` callback arguments to constructor ([#1693](https://github.com/MetaMask/core/pull/1693))
112
- - Update `validateTxParams` to throw standardised errors using the `@metamask/rpc-errors` package ([#1690](https://github.com/MetaMask/core/pull/1690))
113
- - The dependency `eth-rpc-errors` has been replaced by `@metamask/rpc-errors`
114
- - Preserve `type` transaction parameter for legacy transactions ([#1713](https://github.com/MetaMask/core/pull/1713))
115
- - Update TypeScript to v4.8.x ([#1718](https://github.com/MetaMask/core/pull/1718))
116
-
117
- ## [12.0.0]
118
- ### Changed
119
- - **BREAKING**: Use only `chainId` to determine if a transaction belongs to the current network ([#1633](https://github.com/MetaMask/core/pull/1633))
120
- - No longer uses `networkID` as a fallback if `chainId` is missing
121
- - **BREAKING**: Change `TransactionMeta.chainId` to be required ([#1633](https://github.com/MetaMask/core/pull/1633))
122
- - **BREAKING**: Bump peer dependency on `@metamask/network-controller` to ^13.0.0 ([#1633](https://github.com/MetaMask/core/pull/1633))
123
- - Update `TransactionMeta.networkID` as deprecated ([#1633](https://github.com/MetaMask/core/pull/1633))
124
- - Change `TransactionMeta.networkID` to be readonly ([#1633](https://github.com/MetaMask/core/pull/1633))
125
- - Bump dependency on `@metamask/controller-utils` to ^5.0.0 ([#1633](https://github.com/MetaMask/core/pull/1633))
126
-
127
- ### Removed
128
- - Remove `networkId` param from `RemoteTransactionSource.isSupportedNetwork()` interface ([#1633](https://github.com/MetaMask/core/pull/1633))
129
- - Remove `currentNetworkId` property from `RemoteTransactionSourceRequest` ([#1633](https://github.com/MetaMask/core/pull/1633))
130
-
131
- ## [11.1.0]
132
- ### Added
133
- - Add `type` property to the transaction metadata ([#1670](https://github.com/MetaMask/core/pull/1670))
134
-
135
- ## [11.0.0]
136
- ### Added
137
- - Add optional `getLastBlockVariations` method to `RemoteTransactionSource` type ([#1668](https://github.com/MetaMask/core/pull/1668))
138
- - Add `updateTransactionGasFees` method to `TransactionController` ([#1674](https://github.com/MetaMask/core/pull/1674))
139
- - Add `r`, `s` and `v` properties to the transaction metadata ([#1664](https://github.com/MetaMask/core/pull/1664))
140
- - Add `sendFlowHistory` property to the transaction metadata ([#1665](https://github.com/MetaMask/core/pull/1665))
141
- - Add `updateTransactionSendFlowHistory` method to `TransactionController` ([#1665](https://github.com/MetaMask/core/pull/1665))
142
- - Add `originalGasEstimate` property to the transaction metadata ([#1656](https://github.com/MetaMask/core/pull/1656))
143
- - Add `incomingTransactions.queryEntireHistory` constructor option ([#1652](https://github.com/MetaMask/core/pull/1652))
144
-
145
- ### Changed
146
- - **BREAKING**: Remove `apiKey` property from `RemoteTransactionSourceRequest` type ([#1668](https://github.com/MetaMask/core/pull/1668))
147
- - **BREAKING**: Remove unused `FetchAllOptions` type from `TransactionController` ([#1668](https://github.com/MetaMask/core/pull/1668))
148
- - **BREAKING**: Remove `incomingTransactions.apiKey` constructor option ([#1668](https://github.com/MetaMask/core/pull/1668))
149
- - **BREAKING**: Rename the `transaction` object to `txParams` in the transaction metadata ([#1651](https://github.com/MetaMask/core/pull/1651))
150
- - **BREAKING**: Add `disableHistory` constructor option ([#1657](https://github.com/MetaMask/core/pull/1657))
151
- - Defaults to `false` but will increase state size considerably unless disabled
152
- - **BREAKING**: Add `disableSendFlowHistory` constructor option ([#1665](https://github.com/MetaMask/core/pull/1665))
153
- - Defaults to `false` but will increase state size considerably unless disabled
154
- - **BREAKING**: Rename the `transactionHash` property to `hash` in the transaction metadata
155
-
156
- ### Fixed
157
- - Fix the sorting of incoming and updated transactions ([#1652](https://github.com/MetaMask/core/pull/1652))
158
- - Prevent rate limit errors when `incomingTransactions.includeTokenTransfers` is `true` by by alternating Etherscan request types on each update ([#1668](https://github.com/MetaMask/core/pull/1668))
159
-
160
- ## [10.0.0]
161
- ### Added
162
- - Add `submittedTime` to the transaction metadata ([#1645](https://github.com/MetaMask/core/pull/1645))
163
- - Add optional `actionId` argument to `addTransaction` and `speedUpTransaction` to prevent duplicate requests ([#1582](https://github.com/MetaMask/core/pull/1582))
164
- - Add `confirmExternalTransaction` method ([#1625](https://github.com/MetaMask/core/pull/1625))
165
-
166
- ### Changed
167
- - **BREAKING**: Rename `rawTransaction` to `rawTx` in the transaction metadata ([#1624](https://github.com/MetaMask/core/pull/1624))
168
-
169
- ## [9.2.0]
170
- ### Added
171
- - Persist `estimatedBaseFee` in `stopTransaction` and `speedUpTransaction` ([#1621](https://github.com/MetaMask/core/pull/1621))
172
- - Add `securityAlertResponse` to `addTransaction` `opts` argument ([#1636](https://github.com/MetaMask/core/pull/1636))
173
-
174
- ## [9.1.0]
175
- ### Added
176
- - Add `blockTimestamp` to `TransactionMetaBase` type ([#1616](https://github.com/MetaMask/core/pull/1616))
177
- - Update `queryTransactionStatuses` to populate `blockTimestamp` on each transaction when it is verified ([#1616](https://github.com/MetaMask/core/pull/1616))
178
-
179
- ### Changed
180
- - Bump dependency and peer dependency on `@metamask/approval-controller` to ^3.5.1
181
- - Bump dependency on `@metamask/base-controller` to ^3.2.1
182
- - Bump dependency on `@metamask/controller-utils` to ^4.3.2
183
- - Bump dependency and peer dependency on `@metamask/network-controller` to ^12.1.2
184
-
185
- ## [9.0.0]
186
- ### Added
187
- - Add `baseFeePerGas` to transaction metadata ([#1590](https://github.com/MetaMask/core/pull/1590))
188
- - Add `txReceipt` to transaction metadata ([#1592](https://github.com/MetaMask/core/pull/1592))
189
- - Add `initApprovals` method to generate approval requests from unapproved transactions ([#1575](https://github.com/MetaMask/core/pull/1575))
190
- - Add `dappSuggestedGasFees` to transaction metadata ([#1617](https://github.com/MetaMask/core/pull/1617))
191
- - Add optional `incomingTransactions` constructor arguments ([#1579](https://github.com/MetaMask/core/pull/1579))
192
- - `apiKey`
193
- - `includeTokenTransfers`
194
- - `isEnabled`
195
- - `updateTransactions`
196
- - Add incoming transaction methods ([#1579](https://github.com/MetaMask/core/pull/1579))
197
- - `startIncomingTransactionPolling`
198
- - `stopIncomingTransactionPolling`
199
- - `updateIncomingTransactions`
200
- - Add `requireApproval` option to `addTransaction` method options ([#1580](https://github.com/MetaMask/core/pull/1580))
201
- - Add `address` argument to `wipeTransactions` method ([#1573](https://github.com/MetaMask/core/pull/1573))
202
-
203
- ### Changed
204
- - **BREAKING**: Add required `getSelectedAddress` callback argument to constructor ([#1579](https://github.com/MetaMask/core/pull/1579))
205
- - **BREAKING**: Add `isSupportedNetwork` method to `RemoteTransactionSource` interface ([#1579](https://github.com/MetaMask/core/pull/1579))
206
- - **BREAKING**: Move all but first argument to options bag in `addTransaction` method ([#1576](https://github.com/MetaMask/core/pull/1576))
207
- - **BREAKING**: Update properties of `RemoteTransactionSourceRequest` type ([#1579](https://github.com/MetaMask/core/pull/1579))
208
- - The `fromBlock` property has changed from `string` to `number`
209
- - The `networkType` property has been removed
210
- - This type is intended mainly for internal use, so it's likely this change doesn't affect most projects
211
-
212
- ### Removed
213
- - **BREAKING**: Remove `fetchAll` method ([#1579](https://github.com/MetaMask/core/pull/1579))
214
- - This method was used to fetch transaction history from Etherscan
215
- - This is now handled automatically by the controller on each new block, if polling is enabled
216
- - Polling can be enabled or disabled by calling `startIncomingTransactionPolling` or `stopIncomingTransactionPolling` respectively
217
- - An immediate update can be requested by calling `updateIncomingTransactions`
218
- - The new constructor parameter `incomingTransactions.isEnabled` acts as an override to disable this functionality based on a client preference for example
219
- - **BREAKING**: Remove `prepareUnsignedEthTx` and `getCommonConfiguration` methods ([#1581](https://github.com/MetaMask/core/pull/1581))
220
- - These methods were intended mainly for internal use, so it's likely this change doesn't affect most projects
221
-
222
- ## [8.0.1]
223
- ### Changed
224
- - Replace `eth-query` ^2.1.2 with `@metamask/eth-query` ^3.0.1 ([#1546](https://github.com/MetaMask/core/pull/1546))
225
-
226
- ## [8.0.0]
227
- ### Changed
228
- - **BREAKING**: Change `babel-runtime` from a `dependency` to a `peerDependency` ([#1504](https://github.com/MetaMask/core/pull/1504))
229
- - Update `@metamask/utils` to `^6.2.0` ([#1514](https://github.com/MetaMask/core/pull/1514))
230
-
231
- ## [7.1.0]
232
- ### Added
233
- - Expose `HARDFORK` constant ([#1423](https://github.com/MetaMask/core/pull/1423))
234
- - Add support for transactions on Linea networks ([#1423](https://github.com/MetaMask/core/pull/1423))
235
-
236
- ## [7.0.0]
237
- ### Changed
238
- - **BREAKING**: Change the approveTransaction and cancelTransaction methods to private ([#1435](https://github.com/MetaMask/core/pull/1435))
239
- - Consumers should migrate from use of these methods to use of `processApproval`.
240
- - Update the TransactionController to await the approval request promise before automatically performing the relevant logic, either signing and submitting the transaction, or cancelling it ([#1435](https://github.com/MetaMask/core/pull/1435))
241
-
242
- ## [6.1.0]
243
- ### Changed
244
- - Relax types of `provider` and `blockTracker` options ([#1443](https://github.com/MetaMask/core/pull/1443))
245
- - The types used to require proxy versions of Provider and BlockTracker. Now they just require the non-proxy versions, which are a strict subset of the proxied versions.
246
-
247
- ## [6.0.0]
248
- ### Added
249
- - Update transaction controller to automatically initiate, finalize, and cancel approval requests as transactions move through states ([#1241](https://github.com/MetaMask/core/pull/1241))
250
- - The `ApprovalController:addRequest` action will be called when a new transaction is initiated
251
- - The `ApprovalController:rejectRequest` action will be called if a transaction fails
252
- - The `ApprovalController:acceptRequest` action will be called when a transaction is approved
253
-
254
- ### Changed
255
- - **BREAKING:** Bump to Node 16 ([#1262](https://github.com/MetaMask/core/pull/1262))
256
- - **BREAKING:** Update `@metamask/network-controller` dependency and peer dependency ([#1367](https://github.com/MetaMask/core/pull/1367))
257
- - This affects the `getNetworkState` and `onNetworkStateChange` constructor parameters
258
- - **BREAKING:** Change format of chain ID in state to `Hex` ([#1367](https://github.com/MetaMask/core/pull/1367))
259
- - The `chainId` property of the `Transaction` type has been changed from `number` to `Hex`
260
- - The `chainId` property of the `TransactionMeta` type has been changed from a decimal `string` to `Hex`, and the `transaction` property has been updated along with the `Transaction` type (as described above).
261
- - The state property `transactions` is an array of `TransactionMeta` objects, so it has changed according to the description above.
262
- - This requires a state migration: each entry should have the `chainId` property converted from a decimal `string` to `Hex`, and the `transaction.chainId` property changed from `number` to `Hex`.
263
- - The `addTransaction` and `estimateGas` methods now expect the first parameter (`transaction`) to use type `Hex` for the `chainId` property.
264
- - The `updateTransaction` method now expects the `transactionMeta` parameter to use type `Hex` for the `chainId` property (and for the nested `transaction.chainId` property)
265
- - **BREAKING:** Add `messenger` as required constructor parameter ([#1241](https://github.com/MetaMask/core/pull/1241))
266
- - **BREAKING:** Add `@metamask/approval-controller` as a dependency and peer dependency ([#1241](https://github.com/MetaMask/core/pull/1241), [#1393](https://github.com/MetaMask/core/pull/1393))
267
- - Add `@metamask/utils` dependency ([#1367](https://github.com/MetaMask/core/pull/1367))
268
-
269
- ### Fixed
270
- - Fix inaccurate hard-coded `chainId` on incoming token transactions ([#1366](https://github.com/MetaMask/core/pull/1366))
271
-
272
- ## [5.0.0]
273
- ### Changed
274
- - **BREAKING**: peerDeps: @metamask/network-controller@6.0.0->8.0.0 ([#1196](https://github.com/MetaMask/core/pull/1196))
275
- - deps: eth-rpc-errors@4.0.0->4.0.2 ([#1215](https://github.com/MetaMask/core/pull/1215))
276
- - Add nonce tracker to transactions controller ([#1147](https://github.com/MetaMask/core/pull/1147))
277
- - Previously this controller would get the next nonce by calling `eth_getTransactionCount` with a block reference of `pending`. The next nonce would then be returned from our middleware (within `web3-provider-engine`).
278
- - Instead we're now using the nonce tracker to get the next nonce, dropping our reliance on this `eth_getTransactionCount` middleware. This will let us drop that middleware in a future update without impacting the transaction controller.
279
- - This should result in no functional changes, except that the nonce middleware is no longer required.
280
-
281
- ## [4.0.1]
282
- ### Changed
283
- - Use `NetworkType` enum for chain configuration ([#1132](https://github.com/MetaMask/core/pull/1132))
284
-
285
- ## [4.0.0]
286
- ### Removed
287
- - **BREAKING:** Remove `isomorphic-fetch` ([#1106](https://github.com/MetaMask/controllers/pull/1106))
288
- - Consumers must now import `isomorphic-fetch` or another polyfill themselves if they are running in an environment without `fetch`
289
-
290
- ## [3.0.0]
291
- ### Added
292
- - Add Etherscan API support for Sepolia and Goerli ([#1041](https://github.com/MetaMask/controllers/pull/1041))
293
- - Export `isEIP1559Transaction` function from package ([#1058](https://github.com/MetaMask/controllers/pull/1058))
294
-
295
- ### Changed
296
- - **BREAKING**: Drop Etherscan API support for Ropsten, Rinkeby, and Kovan ([#1041](https://github.com/MetaMask/controllers/pull/1041))
297
- - Rename this repository to `core` ([#1031](https://github.com/MetaMask/controllers/pull/1031))
298
- - Update `@metamask/controller-utils` package ([#1041](https://github.com/MetaMask/controllers/pull/1041))
299
-
300
- ## [2.0.0]
301
- ### Changed
302
- - **BREAKING:** Update `getNetworkState` constructor option to take an object with `providerConfig` property rather than `providerConfig` ([#995](https://github.com/MetaMask/core/pull/995))
303
- - Relax dependency on `@metamask/base-controller`, `@metamask/controller-utils`, and `@metamask/network-controller` (use `^` instead of `~`) ([#998](https://github.com/MetaMask/core/pull/998))
304
-
305
- ## [1.0.0]
306
- ### Added
307
- - Initial release
308
- - As a result of converting our shared controllers repo into a monorepo ([#831](https://github.com/MetaMask/core/pull/831)), we've created this package from select parts of [`@metamask/controllers` v33.0.0](https://github.com/MetaMask/core/tree/v33.0.0), namely:
309
- - Everything in `src/transaction`
310
- - Transaction-related functions from `src/util.ts` and accompanying tests
311
-
312
- All changes listed after this point were applied to this package following the monorepo conversion.
313
-
314
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@18.0.0...HEAD
315
- [18.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@17.0.0...@metamask/transaction-controller@18.0.0
316
- [17.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@16.0.0...@metamask/transaction-controller@17.0.0
317
- [16.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@15.0.0...@metamask/transaction-controller@16.0.0
318
- [15.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@14.0.0...@metamask/transaction-controller@15.0.0
319
- [14.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@13.0.0...@metamask/transaction-controller@14.0.0
320
- [13.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@12.0.0...@metamask/transaction-controller@13.0.0
321
- [12.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@11.1.0...@metamask/transaction-controller@12.0.0
322
- [11.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@11.0.0...@metamask/transaction-controller@11.1.0
323
- [11.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@10.0.0...@metamask/transaction-controller@11.0.0
324
- [10.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@9.2.0...@metamask/transaction-controller@10.0.0
325
- [9.2.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@9.1.0...@metamask/transaction-controller@9.2.0
326
- [9.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@9.0.0...@metamask/transaction-controller@9.1.0
327
- [9.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@8.0.1...@metamask/transaction-controller@9.0.0
328
- [8.0.1]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@8.0.0...@metamask/transaction-controller@8.0.1
329
- [8.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@7.1.0...@metamask/transaction-controller@8.0.0
330
- [7.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@7.0.0...@metamask/transaction-controller@7.1.0
331
- [7.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@6.1.0...@metamask/transaction-controller@7.0.0
332
- [6.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@6.0.0...@metamask/transaction-controller@6.1.0
333
- [6.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@5.0.0...@metamask/transaction-controller@6.0.0
334
- [5.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@4.0.1...@metamask/transaction-controller@5.0.0
335
- [4.0.1]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@4.0.0...@metamask/transaction-controller@4.0.1
336
- [4.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@3.0.0...@metamask/transaction-controller@4.0.0
337
- [3.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@2.0.0...@metamask/transaction-controller@3.0.0
338
- [2.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@1.0.0...@metamask/transaction-controller@2.0.0
339
- [1.0.0]: https://github.com/MetaMask/core/releases/tag/@metamask/transaction-controller@1.0.0