@metamask-previews/transaction-controller 29.1.0-preview-ff0abae → 31.0.0-preview-fbd816b5

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 (84) hide show
  1. package/CHANGELOG.md +29 -1
  2. package/dist/TransactionController.js +9 -9
  3. package/dist/TransactionController.mjs +8 -8
  4. package/dist/{chunk-A7HHUDTE.mjs → chunk-2TUDWNEI.mjs} +3 -3
  5. package/dist/{chunk-PUESYN62.js → chunk-3HSNXR5R.js} +4 -1
  6. package/dist/chunk-3HSNXR5R.js.map +1 -0
  7. package/dist/{chunk-EXPINI6I.js → chunk-3ZRHCVVS.js} +3 -3
  8. package/dist/{chunk-B3KC7EIQ.mjs → chunk-6E6CAV5A.mjs} +11 -11
  9. package/dist/{chunk-MZHBDTIW.js.map → chunk-6E6CAV5A.mjs.map} +1 -1
  10. package/dist/{chunk-E76IQWXN.js → chunk-7MKQDZKY.js} +3 -3
  11. package/dist/{chunk-4GQZF4A5.mjs → chunk-CDF4QNJA.mjs} +2 -2
  12. package/dist/{chunk-XD4HUW35.js → chunk-DLOQPH4M.js} +4 -4
  13. package/dist/{chunk-UCN7HXGX.mjs → chunk-G5U6ABRU.mjs} +2 -2
  14. package/dist/{chunk-B2ED6364.mjs → chunk-METHOFMG.mjs} +1 -2
  15. package/dist/chunk-METHOFMG.mjs.map +1 -0
  16. package/dist/{chunk-MZHBDTIW.js → chunk-N5ZUH35S.js} +16 -16
  17. package/dist/chunk-N5ZUH35S.js.map +1 -0
  18. package/dist/{chunk-JC2WLSM5.mjs → chunk-NRQUBP3S.mjs} +2 -2
  19. package/dist/{chunk-4HP4W5YQ.js → chunk-Q6Q44V4W.js} +6 -6
  20. package/dist/{chunk-LG2JQVTQ.js → chunk-RAOYRJ25.js} +1 -2
  21. package/dist/chunk-RAOYRJ25.js.map +1 -0
  22. package/dist/{chunk-AZ4WIRH3.mjs → chunk-TG3D7VFK.mjs} +4 -1
  23. package/dist/chunk-TG3D7VFK.mjs.map +1 -0
  24. package/dist/{chunk-CQPIO3NZ.mjs → chunk-V6HVF4EN.mjs} +3 -3
  25. package/dist/{chunk-2OH557V3.js → chunk-YXSCBWTU.js} +9 -9
  26. package/dist/errors.js +1 -1
  27. package/dist/errors.mjs +1 -1
  28. package/dist/gas-flows/DefaultGasFeeFlow.js +5 -5
  29. package/dist/gas-flows/DefaultGasFeeFlow.mjs +4 -4
  30. package/dist/gas-flows/LineaGasFeeFlow.js +6 -6
  31. package/dist/gas-flows/LineaGasFeeFlow.mjs +5 -5
  32. package/dist/gas-flows/TestGasFeeFlow.js +1 -1
  33. package/dist/gas-flows/TestGasFeeFlow.mjs +1 -1
  34. package/dist/helpers/EtherscanRemoteTransactionSource.js +1 -1
  35. package/dist/helpers/EtherscanRemoteTransactionSource.mjs +1 -1
  36. package/dist/helpers/GasFeePoller.js +4 -4
  37. package/dist/helpers/GasFeePoller.mjs +3 -3
  38. package/dist/helpers/MultichainTrackingHelper.js +3 -3
  39. package/dist/helpers/MultichainTrackingHelper.mjs +2 -2
  40. package/dist/helpers/PendingTransactionTracker.js +1 -1
  41. package/dist/helpers/PendingTransactionTracker.mjs +1 -1
  42. package/dist/index.js +9 -9
  43. package/dist/index.mjs +8 -8
  44. package/dist/tsconfig.build.tsbuildinfo +1 -1
  45. package/dist/types/TransactionController.d.ts.map +1 -1
  46. package/dist/types/helpers/MultichainTrackingHelper.d.ts.map +1 -1
  47. package/dist/types/types.d.ts +0 -4
  48. package/dist/types/types.d.ts.map +1 -1
  49. package/dist/types.js +2 -2
  50. package/dist/types.mjs +1 -1
  51. package/dist/utils/external-transactions.js +1 -1
  52. package/dist/utils/external-transactions.mjs +1 -1
  53. package/dist/utils/gas-fees.js +4 -4
  54. package/dist/utils/gas-fees.mjs +3 -3
  55. package/dist/utils/gas-flow.js +3 -3
  56. package/dist/utils/gas-flow.mjs +2 -2
  57. package/dist/utils/simulation-api.js +1 -1
  58. package/dist/utils/simulation-api.mjs +1 -1
  59. package/dist/utils/simulation.js +1 -1
  60. package/dist/utils/simulation.mjs +1 -1
  61. package/dist/utils/swaps.js +1 -1
  62. package/dist/utils/swaps.mjs +1 -1
  63. package/dist/utils/transaction-type.js +1 -1
  64. package/dist/utils/transaction-type.mjs +1 -1
  65. package/dist/utils/utils.js +1 -1
  66. package/dist/utils/utils.mjs +1 -1
  67. package/dist/utils/validation.js +1 -1
  68. package/dist/utils/validation.mjs +1 -1
  69. package/package.json +9 -8
  70. package/dist/chunk-AZ4WIRH3.mjs.map +0 -1
  71. package/dist/chunk-B2ED6364.mjs.map +0 -1
  72. package/dist/chunk-B3KC7EIQ.mjs.map +0 -1
  73. package/dist/chunk-LG2JQVTQ.js.map +0 -1
  74. package/dist/chunk-PUESYN62.js.map +0 -1
  75. /package/dist/{chunk-A7HHUDTE.mjs.map → chunk-2TUDWNEI.mjs.map} +0 -0
  76. /package/dist/{chunk-EXPINI6I.js.map → chunk-3ZRHCVVS.js.map} +0 -0
  77. /package/dist/{chunk-E76IQWXN.js.map → chunk-7MKQDZKY.js.map} +0 -0
  78. /package/dist/{chunk-4GQZF4A5.mjs.map → chunk-CDF4QNJA.mjs.map} +0 -0
  79. /package/dist/{chunk-XD4HUW35.js.map → chunk-DLOQPH4M.js.map} +0 -0
  80. /package/dist/{chunk-UCN7HXGX.mjs.map → chunk-G5U6ABRU.mjs.map} +0 -0
  81. /package/dist/{chunk-JC2WLSM5.mjs.map → chunk-NRQUBP3S.mjs.map} +0 -0
  82. /package/dist/{chunk-4HP4W5YQ.js.map → chunk-Q6Q44V4W.js.map} +0 -0
  83. /package/dist/{chunk-CQPIO3NZ.mjs.map → chunk-V6HVF4EN.mjs.map} +0 -0
  84. /package/dist/{chunk-2OH557V3.js.map → chunk-YXSCBWTU.js.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -7,6 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [31.0.0]
11
+
12
+ ### Changed
13
+
14
+ - **BREAKING:** Bump dependency and peer dependency `@metamask/approval-controller` to `^6.0.2` ([#4342](https://github.com/MetaMask/core/pull/4342))
15
+ - **BREAKING:** Bump dependency and peer dependency `@metamask/gas-fee-controller` to `^16.0.0` ([#4342](https://github.com/MetaMask/core/pull/4342))
16
+ - **BREAKING:** Bump dependency and peer dependency `@metamask/network-controller` to `^18.1.3` ([#4342](https://github.com/MetaMask/core/pull/4342))
17
+ - Bump `async-mutex` to `^0.5.0` ([#4335](https://github.com/MetaMask/core/pull/4335))
18
+ - Bump `@metamask/controller-utils` to `^10.0.0` ([#4342](https://github.com/MetaMask/core/pull/4342))
19
+
20
+ ### Removed
21
+
22
+ - **BREAKING:** Remove `sign` from `TransactionType` ([#4319](https://github.com/MetaMask/core/pull/4319))
23
+ - This represented an `eth_sign` transaction, but support for that RPC method is being removed, so this is no longer needed.
24
+
25
+ ### Fixed
26
+
27
+ - Pass an unfrozen transaction to the `afterSign` hook so that it is able to modify the transaction ([#4343](https://github.com/MetaMask/core/pull/4343))
28
+
29
+ ## [30.0.0]
30
+
31
+ ### Fixed
32
+
33
+ - **BREAKING**: Update from `nonce-tracker@^3.0.0` to `@metamask/nonce-tracker@^5.0.0` to mitigate issue with redundant polling loops in block tracker. ([#4309](https://github.com/MetaMask/core/pull/4309))
34
+ - The constructor now expects the `blockTracker` option being an instance of `@metamask/eth-block-tracker` instead of`eth-block-tracker`.
35
+
10
36
  ## [29.1.0]
11
37
 
12
38
  ### Changed
@@ -839,7 +865,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
839
865
 
840
866
  All changes listed after this point were applied to this package following the monorepo conversion.
841
867
 
842
- [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@29.1.0...HEAD
868
+ [Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@31.0.0...HEAD
869
+ [31.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@30.0.0...@metamask/transaction-controller@31.0.0
870
+ [30.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@29.1.0...@metamask/transaction-controller@30.0.0
843
871
  [29.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@29.0.2...@metamask/transaction-controller@29.1.0
844
872
  [29.0.2]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@29.0.1...@metamask/transaction-controller@29.0.2
845
873
  [29.0.1]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@29.0.0...@metamask/transaction-controller@29.0.1
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkMZHBDTIWjs = require('./chunk-MZHBDTIW.js');
7
+ var _chunkN5ZUH35Sjs = require('./chunk-N5ZUH35S.js');
8
8
  require('./chunk-PRUNMTRD.js');
9
9
  require('./chunk-IT3SYNZ6.js');
10
10
  require('./chunk-KT6UAKBB.js');
@@ -18,22 +18,22 @@ require('./chunk-NYKRCWBG.js');
18
18
  require('./chunk-WR5F34OW.js');
19
19
  require('./chunk-YVCX6Z75.js');
20
20
  require('./chunk-TJMQEH57.js');
21
- require('./chunk-E76IQWXN.js');
21
+ require('./chunk-7MKQDZKY.js');
22
22
  require('./chunk-2XKEAKQG.js');
23
23
  require('./chunk-DTDTOMTB.js');
24
- require('./chunk-PUESYN62.js');
24
+ require('./chunk-3HSNXR5R.js');
25
25
  require('./chunk-EQT25RSP.js');
26
26
  require('./chunk-FDUCRHYT.js');
27
27
  require('./chunk-HMOSP33F.js');
28
- require('./chunk-4HP4W5YQ.js');
29
- require('./chunk-2OH557V3.js');
30
- require('./chunk-EXPINI6I.js');
28
+ require('./chunk-Q6Q44V4W.js');
29
+ require('./chunk-YXSCBWTU.js');
30
+ require('./chunk-3ZRHCVVS.js');
31
31
  require('./chunk-UT4M4XI3.js');
32
32
  require('./chunk-UGFBA4GV.js');
33
- require('./chunk-XD4HUW35.js');
33
+ require('./chunk-DLOQPH4M.js');
34
34
  require('./chunk-UGN7PBON.js');
35
35
  require('./chunk-S6VGOPUY.js');
36
- require('./chunk-LG2JQVTQ.js');
36
+ require('./chunk-RAOYRJ25.js');
37
37
  require('./chunk-Z4BLTVTB.js');
38
38
 
39
39
 
@@ -41,5 +41,5 @@ require('./chunk-Z4BLTVTB.js');
41
41
 
42
42
 
43
43
 
44
- exports.ApprovalState = _chunkMZHBDTIWjs.ApprovalState; exports.CANCEL_RATE = _chunkMZHBDTIWjs.CANCEL_RATE; exports.HARDFORK = _chunkMZHBDTIWjs.HARDFORK; exports.SPEED_UP_RATE = _chunkMZHBDTIWjs.SPEED_UP_RATE; exports.TransactionController = _chunkMZHBDTIWjs.TransactionController;
44
+ exports.ApprovalState = _chunkN5ZUH35Sjs.ApprovalState; exports.CANCEL_RATE = _chunkN5ZUH35Sjs.CANCEL_RATE; exports.HARDFORK = _chunkN5ZUH35Sjs.HARDFORK; exports.SPEED_UP_RATE = _chunkN5ZUH35Sjs.SPEED_UP_RATE; exports.TransactionController = _chunkN5ZUH35Sjs.TransactionController;
45
45
  //# sourceMappingURL=TransactionController.js.map
@@ -4,7 +4,7 @@ import {
4
4
  HARDFORK,
5
5
  SPEED_UP_RATE,
6
6
  TransactionController
7
- } from "./chunk-B3KC7EIQ.mjs";
7
+ } from "./chunk-6E6CAV5A.mjs";
8
8
  import "./chunk-6DDVVUJC.mjs";
9
9
  import "./chunk-AHSDUIMT.mjs";
10
10
  import "./chunk-K4KOSAGM.mjs";
@@ -18,22 +18,22 @@ import "./chunk-VEVVBHP3.mjs";
18
18
  import "./chunk-Z4GV3YQQ.mjs";
19
19
  import "./chunk-FG74Z3F5.mjs";
20
20
  import "./chunk-FMRLPVFZ.mjs";
21
- import "./chunk-JC2WLSM5.mjs";
21
+ import "./chunk-NRQUBP3S.mjs";
22
22
  import "./chunk-NOHEXQ7Y.mjs";
23
23
  import "./chunk-Y7ENNK7L.mjs";
24
- import "./chunk-AZ4WIRH3.mjs";
24
+ import "./chunk-TG3D7VFK.mjs";
25
25
  import "./chunk-CPMTUMMZ.mjs";
26
26
  import "./chunk-QZLPYOGC.mjs";
27
27
  import "./chunk-HQSNKCXI.mjs";
28
- import "./chunk-A7HHUDTE.mjs";
29
- import "./chunk-CQPIO3NZ.mjs";
30
- import "./chunk-UCN7HXGX.mjs";
28
+ import "./chunk-2TUDWNEI.mjs";
29
+ import "./chunk-V6HVF4EN.mjs";
30
+ import "./chunk-G5U6ABRU.mjs";
31
31
  import "./chunk-IJ5GUKRO.mjs";
32
32
  import "./chunk-J56A7UCK.mjs";
33
- import "./chunk-4GQZF4A5.mjs";
33
+ import "./chunk-CDF4QNJA.mjs";
34
34
  import "./chunk-O6ZZVIFH.mjs";
35
35
  import "./chunk-UQQWZT6C.mjs";
36
- import "./chunk-B2ED6364.mjs";
36
+ import "./chunk-METHOFMG.mjs";
37
37
  import "./chunk-XUI43LEZ.mjs";
38
38
  export {
39
39
  ApprovalState,
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  DefaultGasFeeFlow
3
- } from "./chunk-CQPIO3NZ.mjs";
3
+ } from "./chunk-V6HVF4EN.mjs";
4
4
  import {
5
5
  projectLogger
6
6
  } from "./chunk-UQQWZT6C.mjs";
7
7
  import {
8
8
  GasFeeEstimateLevel
9
- } from "./chunk-B2ED6364.mjs";
9
+ } from "./chunk-METHOFMG.mjs";
10
10
  import {
11
11
  __privateAdd,
12
12
  __privateMethod
@@ -118,4 +118,4 @@ feesToString_fn = function(fees) {
118
118
  export {
119
119
  LineaGasFeeFlow
120
120
  };
121
- //# sourceMappingURL=chunk-A7HHUDTE.mjs.map
121
+ //# sourceMappingURL=chunk-2TUDWNEI.mjs.map
@@ -125,6 +125,9 @@ var MultichainTrackingHelper = class {
125
125
  networkClientId,
126
126
  chainId
127
127
  } = {}) {
128
+ if (!_chunkZ4BLTVTBjs.__privateGet.call(void 0, this, _isMultichainEnabled)) {
129
+ return new (0, _ethquery2.default)(this.getProvider());
130
+ }
128
131
  return new (0, _ethquery2.default)(this.getProvider({ networkClientId, chainId }));
129
132
  }
130
133
  getProvider({
@@ -332,4 +335,4 @@ getNetworkClient_fn = function({
332
335
 
333
336
 
334
337
  exports.MultichainTrackingHelper = MultichainTrackingHelper;
335
- //# sourceMappingURL=chunk-PUESYN62.js.map
338
+ //# sourceMappingURL=chunk-3HSNXR5R.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/helpers/MultichainTrackingHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import EthQuery from '@metamask/eth-query';\nimport type {\n NetworkClientId,\n NetworkController,\n NetworkClient,\n BlockTracker,\n Provider,\n NetworkControllerStateChangeEvent,\n} from '@metamask/network-controller';\nimport type { NonceLock, NonceTracker } from '@metamask/nonce-tracker';\nimport type { Hex } from '@metamask/utils';\nimport { Mutex } from 'async-mutex';\n\nimport { incomingTransactionsLogger as log } from '../logger';\nimport { EtherscanRemoteTransactionSource } from './EtherscanRemoteTransactionSource';\nimport type {\n IncomingTransactionHelper,\n IncomingTransactionOptions,\n} from './IncomingTransactionHelper';\nimport type { PendingTransactionTracker } from './PendingTransactionTracker';\n\n/**\n * Registry of network clients provided by the NetworkController\n */\ntype NetworkClientRegistry = ReturnType<\n NetworkController['getNetworkClientRegistry']\n>;\n\nexport type MultichainTrackingHelperOptions = {\n isMultichainEnabled: boolean;\n provider: Provider;\n nonceTracker: NonceTracker;\n incomingTransactionOptions: IncomingTransactionOptions;\n\n findNetworkClientIdByChainId: NetworkController['findNetworkClientIdByChainId'];\n getNetworkClientById: NetworkController['getNetworkClientById'];\n getNetworkClientRegistry: NetworkController['getNetworkClientRegistry'];\n\n removeIncomingTransactionHelperListeners: (\n IncomingTransactionHelper: IncomingTransactionHelper,\n ) => void;\n removePendingTransactionTrackerListeners: (\n pendingTransactionTracker: PendingTransactionTracker,\n ) => void;\n createNonceTracker: (opts: {\n provider: Provider;\n blockTracker: BlockTracker;\n chainId?: Hex;\n }) => NonceTracker;\n createIncomingTransactionHelper: (opts: {\n blockTracker: BlockTracker;\n etherscanRemoteTransactionSource: EtherscanRemoteTransactionSource;\n chainId?: Hex;\n }) => IncomingTransactionHelper;\n createPendingTransactionTracker: (opts: {\n provider: Provider;\n blockTracker: BlockTracker;\n chainId?: Hex;\n }) => PendingTransactionTracker;\n onNetworkStateChange: (\n listener: (\n ...payload: NetworkControllerStateChangeEvent['payload']\n ) => void,\n ) => void;\n};\n\nexport class MultichainTrackingHelper {\n #isMultichainEnabled: boolean;\n\n readonly #provider: Provider;\n\n readonly #nonceTracker: NonceTracker;\n\n readonly #incomingTransactionOptions: IncomingTransactionOptions;\n\n readonly #findNetworkClientIdByChainId: NetworkController['findNetworkClientIdByChainId'];\n\n readonly #getNetworkClientById: NetworkController['getNetworkClientById'];\n\n readonly #getNetworkClientRegistry: NetworkController['getNetworkClientRegistry'];\n\n readonly #removeIncomingTransactionHelperListeners: (\n IncomingTransactionHelper: IncomingTransactionHelper,\n ) => void;\n\n readonly #removePendingTransactionTrackerListeners: (\n pendingTransactionTracker: PendingTransactionTracker,\n ) => void;\n\n readonly #createNonceTracker: (opts: {\n provider: Provider;\n blockTracker: BlockTracker;\n chainId?: Hex;\n }) => NonceTracker;\n\n readonly #createIncomingTransactionHelper: (opts: {\n blockTracker: BlockTracker;\n chainId?: Hex;\n etherscanRemoteTransactionSource: EtherscanRemoteTransactionSource;\n }) => IncomingTransactionHelper;\n\n readonly #createPendingTransactionTracker: (opts: {\n provider: Provider;\n blockTracker: BlockTracker;\n chainId?: Hex;\n }) => PendingTransactionTracker;\n\n readonly #nonceMutexesByChainId = new Map<Hex, Map<string, Mutex>>();\n\n readonly #trackingMap: Map<\n NetworkClientId,\n {\n nonceTracker: NonceTracker;\n pendingTransactionTracker: PendingTransactionTracker;\n incomingTransactionHelper: IncomingTransactionHelper;\n }\n > = new Map();\n\n readonly #etherscanRemoteTransactionSourcesMap: Map<\n Hex,\n EtherscanRemoteTransactionSource\n > = new Map();\n\n constructor({\n isMultichainEnabled,\n provider,\n nonceTracker,\n incomingTransactionOptions,\n findNetworkClientIdByChainId,\n getNetworkClientById,\n getNetworkClientRegistry,\n removeIncomingTransactionHelperListeners,\n removePendingTransactionTrackerListeners,\n createNonceTracker,\n createIncomingTransactionHelper,\n createPendingTransactionTracker,\n onNetworkStateChange,\n }: MultichainTrackingHelperOptions) {\n this.#isMultichainEnabled = isMultichainEnabled;\n this.#provider = provider;\n this.#nonceTracker = nonceTracker;\n this.#incomingTransactionOptions = incomingTransactionOptions;\n\n this.#findNetworkClientIdByChainId = findNetworkClientIdByChainId;\n this.#getNetworkClientById = getNetworkClientById;\n this.#getNetworkClientRegistry = getNetworkClientRegistry;\n\n this.#removeIncomingTransactionHelperListeners =\n removeIncomingTransactionHelperListeners;\n this.#removePendingTransactionTrackerListeners =\n removePendingTransactionTrackerListeners;\n this.#createNonceTracker = createNonceTracker;\n this.#createIncomingTransactionHelper = createIncomingTransactionHelper;\n this.#createPendingTransactionTracker = createPendingTransactionTracker;\n\n onNetworkStateChange((_, patches) => {\n if (this.#isMultichainEnabled) {\n const networkClients = this.#getNetworkClientRegistry();\n patches.forEach(({ op, path }) => {\n if (op === 'remove' && path[0] === 'networkConfigurations') {\n const networkClientId = path[1] as NetworkClientId;\n delete networkClients[networkClientId];\n }\n });\n\n this.#refreshTrackingMap(networkClients);\n }\n });\n }\n\n initialize() {\n if (!this.#isMultichainEnabled) {\n return;\n }\n const networkClients = this.#getNetworkClientRegistry();\n this.#refreshTrackingMap(networkClients);\n }\n\n has(networkClientId: NetworkClientId) {\n return this.#trackingMap.has(networkClientId);\n }\n\n getEthQuery({\n networkClientId,\n chainId,\n }: {\n networkClientId?: NetworkClientId;\n chainId?: Hex;\n } = {}): EthQuery {\n if (!this.#isMultichainEnabled) {\n return new EthQuery(this.getProvider());\n }\n return new EthQuery(this.getProvider({ networkClientId, chainId }));\n }\n\n getProvider({\n networkClientId,\n chainId,\n }: {\n networkClientId?: NetworkClientId;\n chainId?: Hex;\n } = {}): Provider {\n if (!this.#isMultichainEnabled) {\n return this.#provider;\n }\n\n const networkClient = this.#getNetworkClient({\n networkClientId,\n chainId,\n });\n\n return networkClient?.provider || this.#provider;\n }\n\n /**\n * Gets the mutex intended to guard the nonceTracker for a particular chainId and key .\n *\n * @param opts - The options object.\n * @param opts.chainId - The hex chainId.\n * @param opts.key - The hex address (or constant) pertaining to the chainId\n * @returns Mutex instance for the given chainId and key pair\n */\n async acquireNonceLockForChainIdKey({\n chainId,\n key = 'global',\n }: {\n chainId: Hex;\n key?: string;\n }): Promise<() => void> {\n let nonceMutexesForChainId = this.#nonceMutexesByChainId.get(chainId);\n if (!nonceMutexesForChainId) {\n nonceMutexesForChainId = new Map<string, Mutex>();\n this.#nonceMutexesByChainId.set(chainId, nonceMutexesForChainId);\n }\n let nonceMutexForKey = nonceMutexesForChainId.get(key);\n if (!nonceMutexForKey) {\n nonceMutexForKey = new Mutex();\n nonceMutexesForChainId.set(key, nonceMutexForKey);\n }\n\n return await nonceMutexForKey.acquire();\n }\n\n /**\n * Gets the next nonce according to the nonce-tracker.\n * Ensure `releaseLock` is called once processing of the `nonce` value is complete.\n *\n * @param address - The hex string address for the transaction.\n * @param networkClientId - The network client ID for the transaction, used to fetch the correct nonce tracker.\n * @returns object with the `nextNonce` `nonceDetails`, and the releaseLock.\n */\n async getNonceLock(\n address: string,\n networkClientId?: NetworkClientId,\n ): Promise<NonceLock> {\n let releaseLockForChainIdKey: (() => void) | undefined;\n let nonceTracker = this.#nonceTracker;\n if (networkClientId && this.#isMultichainEnabled) {\n const networkClient = this.#getNetworkClientById(networkClientId);\n releaseLockForChainIdKey = await this.acquireNonceLockForChainIdKey({\n chainId: networkClient.configuration.chainId,\n key: address,\n });\n const trackers = this.#trackingMap.get(networkClientId);\n if (!trackers) {\n throw new Error('missing nonceTracker for networkClientId');\n }\n nonceTracker = trackers.nonceTracker;\n }\n\n // Acquires the lock for the chainId + address and the nonceLock from the nonceTracker, then\n // couples them together by replacing the nonceLock's releaseLock method with\n // an anonymous function that calls releases both the original nonceLock and the\n // lock for the chainId.\n try {\n const nonceLock = await nonceTracker.getNonceLock(address);\n return {\n ...nonceLock,\n releaseLock: () => {\n nonceLock.releaseLock();\n releaseLockForChainIdKey?.();\n },\n };\n } catch (err) {\n releaseLockForChainIdKey?.();\n throw err;\n }\n }\n\n startIncomingTransactionPolling(networkClientIds: NetworkClientId[] = []) {\n networkClientIds.forEach((networkClientId) => {\n this.#trackingMap.get(networkClientId)?.incomingTransactionHelper.start();\n });\n }\n\n stopIncomingTransactionPolling(networkClientIds: NetworkClientId[] = []) {\n networkClientIds.forEach((networkClientId) => {\n this.#trackingMap.get(networkClientId)?.incomingTransactionHelper.stop();\n });\n }\n\n stopAllIncomingTransactionPolling() {\n for (const [, trackers] of this.#trackingMap) {\n trackers.incomingTransactionHelper.stop();\n }\n }\n\n async updateIncomingTransactions(networkClientIds: NetworkClientId[] = []) {\n const promises = await Promise.allSettled(\n networkClientIds.map(async (networkClientId) => {\n return await this.#trackingMap\n .get(networkClientId)\n ?.incomingTransactionHelper.update();\n }),\n );\n\n promises\n .filter((result) => result.status === 'rejected')\n .forEach((result) => {\n log(\n 'failed to update incoming transactions',\n (result as PromiseRejectedResult).reason,\n );\n });\n }\n\n checkForPendingTransactionAndStartPolling = () => {\n for (const [, trackers] of this.#trackingMap) {\n trackers.pendingTransactionTracker.startIfPendingTransactions();\n }\n };\n\n stopAllTracking() {\n for (const [networkClientId] of this.#trackingMap) {\n this.#stopTrackingByNetworkClientId(networkClientId);\n }\n }\n\n #refreshTrackingMap = (networkClients: NetworkClientRegistry) => {\n this.#refreshEtherscanRemoteTransactionSources(networkClients);\n\n const networkClientIds = Object.keys(networkClients);\n const existingNetworkClientIds = Array.from(this.#trackingMap.keys());\n\n // Remove tracking for NetworkClientIds that no longer exist\n const networkClientIdsToRemove = existingNetworkClientIds.filter(\n (id) => !networkClientIds.includes(id),\n );\n networkClientIdsToRemove.forEach((id) => {\n this.#stopTrackingByNetworkClientId(id);\n });\n\n // Start tracking new NetworkClientIds from the registry\n const networkClientIdsToAdd = networkClientIds.filter(\n (id) => !existingNetworkClientIds.includes(id),\n );\n networkClientIdsToAdd.forEach((id) => {\n this.#startTrackingByNetworkClientId(id);\n });\n };\n\n #stopTrackingByNetworkClientId(networkClientId: NetworkClientId) {\n const trackers = this.#trackingMap.get(networkClientId);\n if (trackers) {\n trackers.pendingTransactionTracker.stop();\n this.#removePendingTransactionTrackerListeners(\n trackers.pendingTransactionTracker,\n );\n trackers.incomingTransactionHelper.stop();\n this.#removeIncomingTransactionHelperListeners(\n trackers.incomingTransactionHelper,\n );\n this.#trackingMap.delete(networkClientId);\n }\n }\n\n #startTrackingByNetworkClientId(networkClientId: NetworkClientId) {\n const trackers = this.#trackingMap.get(networkClientId);\n if (trackers) {\n return;\n }\n\n const {\n provider,\n blockTracker,\n configuration: { chainId },\n } = this.#getNetworkClientById(networkClientId);\n\n let etherscanRemoteTransactionSource =\n this.#etherscanRemoteTransactionSourcesMap.get(chainId);\n if (!etherscanRemoteTransactionSource) {\n etherscanRemoteTransactionSource = new EtherscanRemoteTransactionSource({\n includeTokenTransfers:\n this.#incomingTransactionOptions.includeTokenTransfers,\n });\n this.#etherscanRemoteTransactionSourcesMap.set(\n chainId,\n etherscanRemoteTransactionSource,\n );\n }\n\n const nonceTracker = this.#createNonceTracker({\n provider,\n blockTracker,\n chainId,\n });\n\n const incomingTransactionHelper = this.#createIncomingTransactionHelper({\n blockTracker,\n etherscanRemoteTransactionSource,\n chainId,\n });\n\n const pendingTransactionTracker = this.#createPendingTransactionTracker({\n provider,\n blockTracker,\n chainId,\n });\n\n this.#trackingMap.set(networkClientId, {\n nonceTracker,\n incomingTransactionHelper,\n pendingTransactionTracker,\n });\n }\n\n #refreshEtherscanRemoteTransactionSources = (\n networkClients: NetworkClientRegistry,\n ) => {\n // this will be prettier when we have consolidated network clients with a single chainId:\n // check if there are still other network clients using the same chainId\n // if not remove the etherscanRemoteTransaction source from the map\n const chainIdsInRegistry = new Set();\n Object.values(networkClients).forEach((networkClient) =>\n chainIdsInRegistry.add(networkClient.configuration.chainId),\n );\n const existingChainIds = Array.from(\n this.#etherscanRemoteTransactionSourcesMap.keys(),\n );\n const chainIdsToRemove = existingChainIds.filter(\n (chainId) => !chainIdsInRegistry.has(chainId),\n );\n\n chainIdsToRemove.forEach((chainId) => {\n this.#etherscanRemoteTransactionSourcesMap.delete(chainId);\n });\n };\n\n #getNetworkClient({\n networkClientId,\n chainId,\n }: {\n networkClientId?: NetworkClientId;\n chainId?: Hex;\n } = {}): NetworkClient | undefined {\n let networkClient: NetworkClient | undefined;\n\n if (networkClientId) {\n try {\n networkClient = this.#getNetworkClientById(networkClientId);\n } catch (err) {\n log('failed to get network client by networkClientId');\n }\n }\n if (!networkClient && chainId) {\n try {\n const networkClientIdForChainId =\n this.#findNetworkClientIdByChainId(chainId);\n networkClient = this.#getNetworkClientById(networkClientIdForChainId);\n } catch (err) {\n log('failed to get network client by chainId');\n }\n }\n return networkClient;\n }\n}\n"]}
@@ -3,7 +3,7 @@
3
3
  var _chunkUT4M4XI3js = require('./chunk-UT4M4XI3.js');
4
4
 
5
5
 
6
- var _chunkXD4HUW35js = require('./chunk-XD4HUW35.js');
6
+ var _chunkDLOQPH4Mjs = require('./chunk-DLOQPH4M.js');
7
7
 
8
8
 
9
9
  var _chunkS6VGOPUYjs = require('./chunk-S6VGOPUY.js');
@@ -186,7 +186,7 @@ async function getSuggestedGasFees(request) {
186
186
  if (!eip1559 && txMeta.txParams.gasPrice || eip1559 && txMeta.txParams.maxFeePerGas && txMeta.txParams.maxPriorityFeePerGas) {
187
187
  return {};
188
188
  }
189
- const gasFeeFlow = _chunkXD4HUW35js.getGasFeeFlow.call(void 0, txMeta, gasFeeFlows);
189
+ const gasFeeFlow = _chunkDLOQPH4Mjs.getGasFeeFlow.call(void 0, txMeta, gasFeeFlows);
190
190
  try {
191
191
  const gasFeeControllerData = await getGasFeeEstimates({ networkClientId });
192
192
  const response = await gasFeeFlow.getGasFees({
@@ -221,4 +221,4 @@ async function getSuggestedGasFees(request) {
221
221
 
222
222
 
223
223
  exports.updateGasFees = updateGasFees; exports.gweiDecimalToWeiHex = gweiDecimalToWeiHex;
224
- //# sourceMappingURL=chunk-EXPINI6I.js.map
224
+ //# sourceMappingURL=chunk-3ZRHCVVS.js.map
@@ -38,7 +38,7 @@ import {
38
38
  } from "./chunk-FMRLPVFZ.mjs";
39
39
  import {
40
40
  GasFeePoller
41
- } from "./chunk-JC2WLSM5.mjs";
41
+ } from "./chunk-NRQUBP3S.mjs";
42
42
  import {
43
43
  getTransactionLayer1GasFee,
44
44
  updateTransactionLayer1GasFee
@@ -48,19 +48,19 @@ import {
48
48
  } from "./chunk-Y7ENNK7L.mjs";
49
49
  import {
50
50
  MultichainTrackingHelper
51
- } from "./chunk-AZ4WIRH3.mjs";
51
+ } from "./chunk-TG3D7VFK.mjs";
52
52
  import {
53
53
  EtherscanRemoteTransactionSource
54
54
  } from "./chunk-CPMTUMMZ.mjs";
55
55
  import {
56
56
  LineaGasFeeFlow
57
- } from "./chunk-A7HHUDTE.mjs";
57
+ } from "./chunk-2TUDWNEI.mjs";
58
58
  import {
59
59
  DefaultGasFeeFlow
60
- } from "./chunk-CQPIO3NZ.mjs";
60
+ } from "./chunk-V6HVF4EN.mjs";
61
61
  import {
62
62
  updateGasFees
63
- } from "./chunk-UCN7HXGX.mjs";
63
+ } from "./chunk-G5U6ABRU.mjs";
64
64
  import {
65
65
  updatePostTransactionBalance,
66
66
  updateSwapsTransaction
@@ -79,7 +79,7 @@ import {
79
79
  } from "./chunk-J56A7UCK.mjs";
80
80
  import {
81
81
  getGasFeeFlow
82
- } from "./chunk-4GQZF4A5.mjs";
82
+ } from "./chunk-CDF4QNJA.mjs";
83
83
  import {
84
84
  projectLogger
85
85
  } from "./chunk-UQQWZT6C.mjs";
@@ -2126,16 +2126,17 @@ var TransactionController = class extends BaseController {
2126
2126
  projectLogger("Skipping signed status as no signed transaction");
2127
2127
  return void 0;
2128
2128
  }
2129
- if (!this.afterSign(transactionMeta, signedTx)) {
2129
+ const transactionMetaFromHook = cloneDeep(transactionMeta);
2130
+ if (!this.afterSign(transactionMetaFromHook, signedTx)) {
2130
2131
  this.updateTransaction(
2131
- transactionMeta,
2132
+ transactionMetaFromHook,
2132
2133
  "TransactionController#signTransaction - Update after sign"
2133
2134
  );
2134
2135
  projectLogger("Skipping signed status based on hook");
2135
2136
  return void 0;
2136
2137
  }
2137
2138
  const transactionMetaWithRsv = {
2138
- ...this.updateTransactionMetaRSV(transactionMeta, signedTx),
2139
+ ...this.updateTransactionMetaRSV(transactionMetaFromHook, signedTx),
2139
2140
  status: "signed" /* signed */
2140
2141
  };
2141
2142
  this.updateTransaction(
@@ -2245,7 +2246,6 @@ createNonceTracker_fn = function({
2245
2246
  // TODO: Fix types
2246
2247
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
2247
2248
  provider,
2248
- // @ts-expect-error TODO: Fix types
2249
2249
  blockTracker,
2250
2250
  getPendingTransactions: __privateMethod(this, _getNonceTrackerPendingTransactions, getNonceTrackerPendingTransactions_fn).bind(
2251
2251
  this,
@@ -2550,4 +2550,4 @@ export {
2550
2550
  ApprovalState,
2551
2551
  TransactionController
2552
2552
  };
2553
- //# sourceMappingURL=chunk-B3KC7EIQ.mjs.map
2553
+ //# sourceMappingURL=chunk-6E6CAV5A.mjs.map