@metamask-previews/transaction-controller 63.1.0-preview-a0caca0c0 → 63.1.0-preview-3ce0062c4
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.
- package/CHANGELOG.md +6 -3
- package/dist/TransactionController.cjs +111 -75
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +116 -76
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/gas-flows/LineaGasFeeFlow.cjs +11 -22
- package/dist/gas-flows/LineaGasFeeFlow.cjs.map +1 -1
- package/dist/gas-flows/LineaGasFeeFlow.d.cts.map +1 -1
- package/dist/gas-flows/LineaGasFeeFlow.d.mts.map +1 -1
- package/dist/gas-flows/LineaGasFeeFlow.mjs +12 -23
- package/dist/gas-flows/LineaGasFeeFlow.mjs.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.cjs +2 -2
- package/dist/helpers/AccountsApiRemoteTransactionSource.cjs.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.d.cts.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.d.mts.map +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.mjs +1 -1
- package/dist/helpers/AccountsApiRemoteTransactionSource.mjs.map +1 -1
- package/dist/helpers/GasFeePoller.cjs +19 -5
- package/dist/helpers/GasFeePoller.cjs.map +1 -1
- package/dist/helpers/GasFeePoller.d.cts +6 -1
- package/dist/helpers/GasFeePoller.d.cts.map +1 -1
- package/dist/helpers/GasFeePoller.d.mts +6 -1
- package/dist/helpers/GasFeePoller.d.mts.map +1 -1
- package/dist/helpers/GasFeePoller.mjs +26 -5
- package/dist/helpers/GasFeePoller.mjs.map +1 -1
- package/dist/helpers/MethodDataHelper.cjs +6 -10
- package/dist/helpers/MethodDataHelper.cjs.map +1 -1
- package/dist/helpers/MethodDataHelper.d.cts +4 -4
- package/dist/helpers/MethodDataHelper.d.cts.map +1 -1
- package/dist/helpers/MethodDataHelper.d.mts +4 -4
- package/dist/helpers/MethodDataHelper.d.mts.map +1 -1
- package/dist/helpers/MethodDataHelper.mjs +6 -10
- package/dist/helpers/MethodDataHelper.mjs.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.cjs +2 -0
- package/dist/helpers/MultichainTrackingHelper.cjs.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.d.cts +2 -0
- package/dist/helpers/MultichainTrackingHelper.d.cts.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.d.mts +2 -0
- package/dist/helpers/MultichainTrackingHelper.d.mts.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.mjs +2 -0
- package/dist/helpers/MultichainTrackingHelper.mjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.cjs +24 -38
- package/dist/helpers/PendingTransactionTracker.cjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.cts +7 -3
- package/dist/helpers/PendingTransactionTracker.d.cts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.mts +7 -3
- package/dist/helpers/PendingTransactionTracker.d.mts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.mjs +24 -38
- package/dist/helpers/PendingTransactionTracker.mjs.map +1 -1
- package/dist/hooks/SequentialPublishBatchHook.cjs +6 -4
- package/dist/hooks/SequentialPublishBatchHook.cjs.map +1 -1
- package/dist/hooks/SequentialPublishBatchHook.d.cts +4 -2
- package/dist/hooks/SequentialPublishBatchHook.d.cts.map +1 -1
- package/dist/hooks/SequentialPublishBatchHook.d.mts +4 -2
- package/dist/hooks/SequentialPublishBatchHook.d.mts.map +1 -1
- package/dist/hooks/SequentialPublishBatchHook.mjs +6 -4
- package/dist/hooks/SequentialPublishBatchHook.mjs.map +1 -1
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -0
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -0
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +17 -0
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +17 -0
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/balance-changes.cjs +2 -2
- package/dist/utils/balance-changes.cjs.map +1 -1
- package/dist/utils/balance-changes.d.cts +2 -4
- package/dist/utils/balance-changes.d.cts.map +1 -1
- package/dist/utils/balance-changes.d.mts +2 -4
- package/dist/utils/balance-changes.d.mts.map +1 -1
- package/dist/utils/balance-changes.mjs +2 -2
- package/dist/utils/balance-changes.mjs.map +1 -1
- package/dist/utils/balance.cjs +10 -14
- package/dist/utils/balance.cjs.map +1 -1
- package/dist/utils/balance.d.cts +5 -8
- package/dist/utils/balance.d.cts.map +1 -1
- package/dist/utils/balance.d.mts +5 -8
- package/dist/utils/balance.d.mts.map +1 -1
- package/dist/utils/balance.mjs +10 -14
- package/dist/utils/balance.mjs.map +1 -1
- package/dist/utils/batch.cjs +19 -16
- package/dist/utils/batch.cjs.map +1 -1
- package/dist/utils/batch.d.cts +5 -1
- package/dist/utils/batch.d.cts.map +1 -1
- package/dist/utils/batch.d.mts +5 -1
- package/dist/utils/batch.d.mts.map +1 -1
- package/dist/utils/batch.mjs +20 -17
- package/dist/utils/batch.mjs.map +1 -1
- package/dist/utils/eip7702.cjs +6 -13
- package/dist/utils/eip7702.cjs.map +1 -1
- package/dist/utils/eip7702.d.cts +5 -6
- package/dist/utils/eip7702.d.cts.map +1 -1
- package/dist/utils/eip7702.d.mts +5 -6
- package/dist/utils/eip7702.d.mts.map +1 -1
- package/dist/utils/eip7702.mjs +7 -14
- package/dist/utils/eip7702.mjs.map +1 -1
- package/dist/utils/gas-fee-tokens.cjs +3 -4
- package/dist/utils/gas-fee-tokens.cjs.map +1 -1
- package/dist/utils/gas-fee-tokens.d.cts +4 -6
- package/dist/utils/gas-fee-tokens.d.cts.map +1 -1
- package/dist/utils/gas-fee-tokens.d.mts +4 -6
- package/dist/utils/gas-fee-tokens.d.mts.map +1 -1
- package/dist/utils/gas-fee-tokens.mjs +3 -4
- package/dist/utils/gas-fee-tokens.mjs.map +1 -1
- package/dist/utils/gas-fees.cjs +6 -8
- package/dist/utils/gas-fees.cjs.map +1 -1
- package/dist/utils/gas-fees.d.cts +2 -0
- package/dist/utils/gas-fees.d.cts.map +1 -1
- package/dist/utils/gas-fees.d.mts +2 -0
- package/dist/utils/gas-fees.d.mts.map +1 -1
- package/dist/utils/gas-fees.mjs +7 -9
- package/dist/utils/gas-fees.mjs.map +1 -1
- package/dist/utils/gas.cjs +34 -60
- package/dist/utils/gas.cjs.map +1 -1
- package/dist/utils/gas.d.cts +11 -6
- package/dist/utils/gas.d.cts.map +1 -1
- package/dist/utils/gas.d.mts +11 -6
- package/dist/utils/gas.d.mts.map +1 -1
- package/dist/utils/gas.mjs +35 -61
- package/dist/utils/gas.mjs.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.cjs +3 -7
- package/dist/utils/layer1-gas-fee-flow.cjs.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.d.cts +5 -2
- package/dist/utils/layer1-gas-fee-flow.d.cts.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.d.mts +5 -2
- package/dist/utils/layer1-gas-fee-flow.d.mts.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.mjs +3 -7
- package/dist/utils/layer1-gas-fee-flow.mjs.map +1 -1
- package/dist/utils/swaps.cjs +7 -11
- package/dist/utils/swaps.cjs.map +1 -1
- package/dist/utils/swaps.d.cts +4 -6
- package/dist/utils/swaps.d.cts.map +1 -1
- package/dist/utils/swaps.d.mts +4 -6
- package/dist/utils/swaps.d.mts.map +1 -1
- package/dist/utils/swaps.mjs +7 -11
- package/dist/utils/swaps.mjs.map +1 -1
- package/dist/utils/transaction-type.cjs +8 -17
- package/dist/utils/transaction-type.cjs.map +1 -1
- package/dist/utils/transaction-type.d.cts +3 -9
- package/dist/utils/transaction-type.d.cts.map +1 -1
- package/dist/utils/transaction-type.d.mts +3 -9
- package/dist/utils/transaction-type.d.mts.map +1 -1
- package/dist/utils/transaction-type.mjs +8 -17
- package/dist/utils/transaction-type.mjs.map +1 -1
- package/package.json +2 -2
- package/dist/utils/provider.cjs +0 -74
- package/dist/utils/provider.cjs.map +0 -1
- package/dist/utils/provider.d.cts +0 -65
- package/dist/utils/provider.d.cts.map +0 -1
- package/dist/utils/provider.d.mts +0 -65
- package/dist/utils/provider.d.mts.map +0 -1
- package/dist/utils/provider.mjs +0 -67
- package/dist/utils/provider.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,10 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
###
|
|
10
|
+
### Changed
|
|
11
11
|
|
|
12
|
-
-
|
|
13
|
-
-
|
|
12
|
+
- Add extra parameters in types and change `addTransaction` behavior ([#8052](https://github.com/MetaMask/core/pull/8052))
|
|
13
|
+
- Add optional `excludeNativeTokenForFee` in `TransactionMeta` type.
|
|
14
|
+
- Add optional `actionId` and optional `excludeNativeTokenForFee` in `TransactionBatchRequest` type.
|
|
15
|
+
- Add optional `excludeNativeTokenForFee` to `AddTransactionOptions` type.
|
|
16
|
+
- Changed `isGasFeeTokenIgnoredIfBalance` to be false if `excludeNativeTokenForFee` is passed in `addTransaction`.
|
|
14
17
|
|
|
15
18
|
## [63.1.0]
|
|
16
19
|
|
|
@@ -10,11 +10,15 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
10
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
var _TransactionController_instances, _TransactionController_afterAdd, _TransactionController_afterSign, _TransactionController_afterSimulate, _TransactionController_approvingTransactionIds, _TransactionController_beforeCheckPendingTransaction, _TransactionController_beforePublish, _TransactionController_beforeSign, _TransactionController_gasFeeFlows, _TransactionController_getAdditionalSignArguments, _TransactionController_getCurrentAccountEIP1559Compatibility, _TransactionController_getCurrentNetworkEIP1559Compatibility, _TransactionController_getExternalPendingTransactions, _TransactionController_getGasFeeEstimates, _TransactionController_getNetworkState, _TransactionController_getPermittedAccounts, _TransactionController_getSavedGasFees, _TransactionController_getSimulationConfig, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_internalEvents, _TransactionController_isAutomaticGasFeeUpdateEnabled, _TransactionController_isEIP7702GasFeeTokensEnabled, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _TransactionController_isTimeoutEnabled, _TransactionController_layer1GasFeeFlows, _TransactionController_methodDataHelper, _TransactionController_multichainTrackingHelper, _TransactionController_pendingTransactionOptions, _TransactionController_publicKeyEIP7702, _TransactionController_publish, _TransactionController_publishBatchHook, _TransactionController_securityProviderRequest, _TransactionController_sign, _TransactionController_signAbortCallbacks, _TransactionController_skipSimulationTransactionIds, _TransactionController_testGasFeeFlows, _TransactionController_trace, _TransactionController_retryTransaction, _TransactionController_signExternalTransaction, _TransactionController_addMetadata, _TransactionController_updateGasProperties, _TransactionController_onBootCleanup, _TransactionController_failIncompleteTransactions, _TransactionController_processApproval, _TransactionController_approveTransaction, _TransactionController_publishTransaction, _TransactionController_rejectTransaction, _TransactionController_trimTransactionsForState, _TransactionController_isFinalState, _TransactionController_isLocalFinalState, _TransactionController_requestApproval, _TransactionController_getTransaction, _TransactionController_getTransactionOrThrow, _TransactionController_getApprovalId, _TransactionController_isTransactionCompleted, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_onIncomingTransactions, _TransactionController_generateDappSuggestedGasFees, _TransactionController_addExternalTransaction, _TransactionController_markNonceDuplicatesDropped, _TransactionController_setTransactionStatusDropped, _TransactionController_waitForTransactionFinished, _TransactionController_updateTransactionMetaRSV, _TransactionController_getEIP1559Compatibility, _TransactionController_signTransaction, _TransactionController_onTransactionStatusChange, _TransactionController_getNonceTrackerTransactions, _TransactionController_onConfirmedTransaction, _TransactionController_updatePostBalance, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_publishTransactionForRetry, _TransactionController_isTransactionAlreadyConfirmedError, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_onGasFeePollerTransactionBatchUpdate, _TransactionController_updateTransactionBatch, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory, _TransactionController_updateGasEstimate, _TransactionController_registerActionHandlers, _TransactionController_deleteTransaction, _TransactionController_isRejectError, _TransactionController_rejectTransactionAndThrow, _TransactionController_failTransaction, _TransactionController_runAfterSimulateHook, _TransactionController_defaultPublishHook, _TransactionController_getGasFeeTokens;
|
|
14
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
18
|
exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = void 0;
|
|
16
19
|
const base_controller_1 = require("@metamask/base-controller");
|
|
17
20
|
const controller_utils_1 = require("@metamask/controller-utils");
|
|
21
|
+
const eth_query_1 = __importDefault(require("@metamask/eth-query"));
|
|
18
22
|
const network_controller_1 = require("@metamask/network-controller");
|
|
19
23
|
const nonce_tracker_1 = require("@metamask/nonce-tracker");
|
|
20
24
|
const rpc_errors_1 = require("@metamask/rpc-errors");
|
|
@@ -53,7 +57,6 @@ const gas_flow_1 = require("./utils/gas-flow.cjs");
|
|
|
53
57
|
const layer1_gas_fee_flow_1 = require("./utils/layer1-gas-fee-flow.cjs");
|
|
54
58
|
const nonce_1 = require("./utils/nonce.cjs");
|
|
55
59
|
const prepare_1 = require("./utils/prepare.cjs");
|
|
56
|
-
const provider_1 = require("./utils/provider.cjs");
|
|
57
60
|
const retry_1 = require("./utils/retry.cjs");
|
|
58
61
|
const swaps_1 = require("./utils/swaps.cjs");
|
|
59
62
|
const transaction_type_1 = require("./utils/transaction-type.cjs");
|
|
@@ -287,8 +290,10 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
287
290
|
__classPrivateFieldSet(this, _TransactionController_gasFeeFlows, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeFlows).call(this), "f");
|
|
288
291
|
__classPrivateFieldSet(this, _TransactionController_layer1GasFeeFlows, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getLayer1GasFeeFlows).call(this), "f");
|
|
289
292
|
const gasFeePoller = new GasFeePoller_1.GasFeePoller({
|
|
293
|
+
findNetworkClientIdByChainId,
|
|
290
294
|
gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
|
|
291
295
|
getGasFeeControllerEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
|
|
296
|
+
getProvider: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId }),
|
|
292
297
|
getTransactions: () => this.state.transactions,
|
|
293
298
|
getTransactionBatches: () => this.state.transactionBatches,
|
|
294
299
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
@@ -300,7 +305,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
300
305
|
gasFeePoller.hub.on('transaction-updated', __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onGasFeePollerTransactionUpdate).bind(this));
|
|
301
306
|
gasFeePoller.hub.on('transaction-batch-updated', __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onGasFeePollerTransactionBatchUpdate).bind(this));
|
|
302
307
|
__classPrivateFieldSet(this, _TransactionController_methodDataHelper, new MethodDataHelper_1.MethodDataHelper({
|
|
303
|
-
|
|
308
|
+
getProvider: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId }),
|
|
304
309
|
getState: () => this.state.methodData,
|
|
305
310
|
}), "f");
|
|
306
311
|
__classPrivateFieldGet(this, _TransactionController_methodDataHelper, "f").hub.on('update', ({ fourBytePrefix, methodData }) => {
|
|
@@ -362,11 +367,15 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
362
367
|
return await (0, batch_1.addTransactionBatch)({
|
|
363
368
|
addTransaction: this.addTransaction.bind(this),
|
|
364
369
|
estimateGas: this.estimateGas.bind(this),
|
|
370
|
+
getChainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).bind(this),
|
|
371
|
+
getEthQuery: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId }),
|
|
365
372
|
getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
|
|
366
373
|
getInternalAccounts: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getInternalAccounts).bind(this),
|
|
367
374
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f").bind(this),
|
|
368
375
|
getPendingTransactionTracker: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createPendingTransactionTracker).call(this, {
|
|
376
|
+
provider: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId }),
|
|
369
377
|
blockTracker,
|
|
378
|
+
chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
|
|
370
379
|
networkClientId,
|
|
371
380
|
}),
|
|
372
381
|
getTransaction: (transactionId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId),
|
|
@@ -374,7 +383,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
374
383
|
messenger: this.messenger,
|
|
375
384
|
publishBatchHook: __classPrivateFieldGet(this, _TransactionController_publishBatchHook, "f"),
|
|
376
385
|
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
377
|
-
publishTransaction: (transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta),
|
|
386
|
+
publishTransaction: (ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, transactionMeta),
|
|
378
387
|
request,
|
|
379
388
|
signTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).bind(this),
|
|
380
389
|
update: this.update.bind(this),
|
|
@@ -390,6 +399,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
390
399
|
async isAtomicBatchSupported(request) {
|
|
391
400
|
return (0, batch_1.isAtomicBatchSupported)({
|
|
392
401
|
...request,
|
|
402
|
+
getEthQuery: (chainId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId }),
|
|
393
403
|
messenger: this.messenger,
|
|
394
404
|
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
395
405
|
});
|
|
@@ -405,13 +415,16 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
405
415
|
*/
|
|
406
416
|
async addTransaction(txParams, options) {
|
|
407
417
|
(0, logger_1.projectLogger)('Adding transaction', txParams, options);
|
|
408
|
-
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, isStateOnly, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requiredAssets, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
|
|
418
|
+
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, excludeNativeTokenForFee, isGasFeeIncluded, isGasFeeSponsored, isStateOnly, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requiredAssets, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
|
|
409
419
|
// eslint-disable-next-line no-param-reassign
|
|
410
420
|
txParams = (0, utils_2.normalizeTransactionParams)(txParams);
|
|
411
421
|
if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
|
|
412
422
|
throw new Error(`Network client not found - ${networkClientId}`);
|
|
413
423
|
}
|
|
414
|
-
const chainId = (
|
|
424
|
+
const chainId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId);
|
|
425
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
426
|
+
networkClientId,
|
|
427
|
+
});
|
|
415
428
|
const permittedAddresses = origin === undefined
|
|
416
429
|
? undefined
|
|
417
430
|
: await __classPrivateFieldGet(this, _TransactionController_getPermittedAccounts, "f")?.call(this, origin);
|
|
@@ -425,7 +438,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
425
438
|
txParams,
|
|
426
439
|
type,
|
|
427
440
|
});
|
|
428
|
-
const delegationAddressPromise = (0, eip7702_1.getDelegationAddress)(txParams.from,
|
|
441
|
+
const delegationAddressPromise = (0, eip7702_1.getDelegationAddress)(txParams.from, ethQuery).catch(() => undefined);
|
|
429
442
|
const isEIP1559Compatible = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEIP1559Compatibility).call(this, networkClientId);
|
|
430
443
|
(0, validation_1.validateTxParams)(txParams, isEIP1559Compatible, chainId);
|
|
431
444
|
if (!txParams.type) {
|
|
@@ -438,11 +451,11 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
438
451
|
throw new rpc_errors_1.JsonRpcError(validation_1.ErrorCode.DuplicateBundleId, 'Batch ID already exists');
|
|
439
452
|
}
|
|
440
453
|
const dappSuggestedGasFees = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_generateDappSuggestedGasFees).call(this, txParams, origin);
|
|
441
|
-
const transactionType = type ??
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
454
|
+
const transactionType = type ?? (await (0, transaction_type_1.determineTransactionType)(txParams, ethQuery)).type;
|
|
455
|
+
// Original behavior was that this was set to 'true' whenever a gasFeeToken was passed.
|
|
456
|
+
// 'excludeNativeTokenForFee' optionnally overrides this behavior to prevent native token from
|
|
457
|
+
// being used when another gasFeeToken is set.
|
|
458
|
+
const isGasFeeTokenIgnoredIfBalance = Boolean(gasFeeToken) && !excludeNativeTokenForFee;
|
|
446
459
|
let addedTransactionMeta = {
|
|
447
460
|
actionId,
|
|
448
461
|
assetsFiatValues,
|
|
@@ -452,9 +465,13 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
452
465
|
deviceConfirmedOn,
|
|
453
466
|
disableGasBuffer,
|
|
454
467
|
id: (0, uuid_1.v1)(),
|
|
455
|
-
isGasFeeTokenIgnoredIfBalance
|
|
468
|
+
isGasFeeTokenIgnoredIfBalance,
|
|
456
469
|
isGasFeeIncluded,
|
|
457
470
|
isGasFeeSponsored,
|
|
471
|
+
// To avoid the property to be set as undefined.
|
|
472
|
+
...(excludeNativeTokenForFee === undefined
|
|
473
|
+
? {}
|
|
474
|
+
: { excludeNativeTokenForFee }),
|
|
458
475
|
isFirstTimeInteraction: undefined,
|
|
459
476
|
isStateOnly,
|
|
460
477
|
nestedTransactions,
|
|
@@ -646,12 +663,16 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
646
663
|
* @returns The gas and gas price.
|
|
647
664
|
*/
|
|
648
665
|
async estimateGas(transaction, networkClientId, { ignoreDelegationSignatures, } = {}) {
|
|
666
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
667
|
+
networkClientId,
|
|
668
|
+
});
|
|
649
669
|
const { estimatedGas, simulationFails } = await (0, gas_1.estimateGas)({
|
|
670
|
+
chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
|
|
671
|
+
ethQuery,
|
|
650
672
|
ignoreDelegationSignatures,
|
|
651
673
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
652
674
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
653
675
|
messenger: this.messenger,
|
|
654
|
-
networkClientId,
|
|
655
676
|
txParams: transaction,
|
|
656
677
|
});
|
|
657
678
|
return { gas: estimatedGas, simulationFails };
|
|
@@ -666,15 +687,16 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
666
687
|
* @returns Object containing the gas limit.
|
|
667
688
|
*/
|
|
668
689
|
async estimateGasBatch({ chainId, from, transactions, }) {
|
|
690
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
691
|
+
chainId,
|
|
692
|
+
});
|
|
669
693
|
return (0, gas_1.estimateGasBatch)({
|
|
694
|
+
chainId,
|
|
695
|
+
ethQuery,
|
|
670
696
|
from,
|
|
671
697
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
672
698
|
isAtomicBatchSupported: this.isAtomicBatchSupported.bind(this),
|
|
673
699
|
messenger: this.messenger,
|
|
674
|
-
networkClientId: (0, provider_1.getNetworkClientId)({
|
|
675
|
-
messenger: this.messenger,
|
|
676
|
-
chainId,
|
|
677
|
-
}),
|
|
678
700
|
transactions,
|
|
679
701
|
});
|
|
680
702
|
}
|
|
@@ -687,11 +709,15 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
687
709
|
* @returns The buffered estimated gas and whether the estimation failed.
|
|
688
710
|
*/
|
|
689
711
|
async estimateGasBuffered(transaction, multiplier, networkClientId) {
|
|
712
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
713
|
+
networkClientId,
|
|
714
|
+
});
|
|
690
715
|
const { blockGasLimit, estimatedGas, simulationFails } = await (0, gas_1.estimateGas)({
|
|
716
|
+
chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
|
|
717
|
+
ethQuery,
|
|
691
718
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
692
719
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
693
720
|
messenger: this.messenger,
|
|
694
|
-
networkClientId,
|
|
695
721
|
txParams: transaction,
|
|
696
722
|
});
|
|
697
723
|
const gas = (0, gas_1.addGasBuffer)(estimatedGas, blockGasLimit, multiplier);
|
|
@@ -971,11 +997,10 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
971
997
|
editableParams.txParams = (0, lodash_1.pickBy)(editableParams.txParams);
|
|
972
998
|
const updatedTransaction = (0, lodash_1.merge)({}, transactionMeta, editableParams);
|
|
973
999
|
const { networkClientId } = transactionMeta;
|
|
1000
|
+
const provider = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId });
|
|
1001
|
+
const ethQuery = new eth_query_1.default(provider);
|
|
974
1002
|
if (updateType !== false) {
|
|
975
|
-
const { type } = await (0, transaction_type_1.determineTransactionType)(updatedTransaction.txParams,
|
|
976
|
-
messenger: this.messenger,
|
|
977
|
-
networkClientId,
|
|
978
|
-
});
|
|
1003
|
+
const { type } = await (0, transaction_type_1.determineTransactionType)(updatedTransaction.txParams, ethQuery);
|
|
979
1004
|
updatedTransaction.type = type;
|
|
980
1005
|
}
|
|
981
1006
|
if (containerTypes) {
|
|
@@ -984,6 +1009,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
984
1009
|
await (0, layer1_gas_fee_flow_1.updateTransactionLayer1GasFee)({
|
|
985
1010
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
986
1011
|
messenger: this.messenger,
|
|
1012
|
+
provider,
|
|
987
1013
|
transactionMeta: updatedTransaction,
|
|
988
1014
|
});
|
|
989
1015
|
this.updateTransaction(updatedTransaction, `Update Editable Params for ${txId}`);
|
|
@@ -1025,10 +1051,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1025
1051
|
}
|
|
1026
1052
|
const initialTx = listOfTxParams[0];
|
|
1027
1053
|
const { chainId } = initialTx;
|
|
1028
|
-
const networkClientId = (
|
|
1029
|
-
messenger: this.messenger,
|
|
1030
|
-
chainId,
|
|
1031
|
-
});
|
|
1054
|
+
const networkClientId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNetworkClientId).call(this, { chainId });
|
|
1032
1055
|
const initialTxAsEthTx = (0, prepare_1.prepareTransaction)(chainId, initialTx);
|
|
1033
1056
|
const initialTxAsSerializedHex = (0, prepare_1.serializeTransaction)(initialTxAsEthTx);
|
|
1034
1057
|
if (__classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").has(initialTxAsSerializedHex)) {
|
|
@@ -1207,7 +1230,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1207
1230
|
* @returns A promise that resolves to the estimated gas fee response.
|
|
1208
1231
|
*/
|
|
1209
1232
|
async estimateGasFee({ transactionParams, chainId, networkClientId: requestNetworkClientId, }) {
|
|
1210
|
-
const { id: networkClientId } = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
|
|
1233
|
+
const { id: networkClientId, provider } = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
|
|
1211
1234
|
chainId,
|
|
1212
1235
|
networkClientId: requestNetworkClientId,
|
|
1213
1236
|
});
|
|
@@ -1218,10 +1241,12 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1218
1241
|
};
|
|
1219
1242
|
// Guaranteed as the default gas fee flow matches all transactions.
|
|
1220
1243
|
const gasFeeFlow = (0, gas_flow_1.getGasFeeFlow)(transactionMeta, __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"), this.messenger);
|
|
1244
|
+
const ethQuery = new eth_query_1.default(provider);
|
|
1221
1245
|
const gasFeeControllerData = await __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f").call(this, {
|
|
1222
1246
|
networkClientId,
|
|
1223
1247
|
});
|
|
1224
1248
|
return gasFeeFlow.getGasFees({
|
|
1249
|
+
ethQuery,
|
|
1225
1250
|
gasFeeControllerData,
|
|
1226
1251
|
messenger: this.messenger,
|
|
1227
1252
|
transactionMeta,
|
|
@@ -1237,18 +1262,17 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1237
1262
|
* @returns The layer 1 gas fee.
|
|
1238
1263
|
*/
|
|
1239
1264
|
async getLayer1GasFee({ transactionParams, chainId, networkClientId, }) {
|
|
1240
|
-
const
|
|
1241
|
-
messenger: this.messenger,
|
|
1265
|
+
const provider = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, {
|
|
1242
1266
|
chainId,
|
|
1243
1267
|
networkClientId,
|
|
1244
1268
|
});
|
|
1245
1269
|
return await (0, layer1_gas_fee_flow_1.getTransactionLayer1GasFee)({
|
|
1246
1270
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
1247
1271
|
messenger: this.messenger,
|
|
1272
|
+
provider,
|
|
1248
1273
|
transactionMeta: {
|
|
1249
1274
|
txParams: transactionParams,
|
|
1250
1275
|
chainId,
|
|
1251
|
-
networkClientId: resolvedNetworkClientId,
|
|
1252
1276
|
},
|
|
1253
1277
|
});
|
|
1254
1278
|
}
|
|
@@ -1425,11 +1449,8 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1425
1449
|
*/
|
|
1426
1450
|
async getGasFeeTokens(request) {
|
|
1427
1451
|
const { chainId, data, from, to, value } = request;
|
|
1428
|
-
const
|
|
1429
|
-
|
|
1430
|
-
chainId,
|
|
1431
|
-
});
|
|
1432
|
-
const delegationAddress = await (0, eip7702_1.getDelegationAddress)(from, this.messenger, networkClientId);
|
|
1452
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId });
|
|
1453
|
+
const delegationAddress = await (0, eip7702_1.getDelegationAddress)(from, ethQuery);
|
|
1433
1454
|
const transaction = {
|
|
1434
1455
|
chainId,
|
|
1435
1456
|
delegationAddress,
|
|
@@ -1478,6 +1499,8 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1478
1499
|
newFee,
|
|
1479
1500
|
txParams: newTxParams,
|
|
1480
1501
|
});
|
|
1502
|
+
const { networkClientId } = transactionMeta;
|
|
1503
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1481
1504
|
const newTransactionMeta = {
|
|
1482
1505
|
...transactionMetaWithRsv,
|
|
1483
1506
|
actionId,
|
|
@@ -1490,7 +1513,7 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1490
1513
|
txParams: newTxParams,
|
|
1491
1514
|
type: transactionType,
|
|
1492
1515
|
};
|
|
1493
|
-
const hash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransactionForRetry).call(this, {
|
|
1516
|
+
const hash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransactionForRetry).call(this, ethQuery, {
|
|
1494
1517
|
...newTransactionMeta,
|
|
1495
1518
|
origin: label,
|
|
1496
1519
|
});
|
|
@@ -1536,11 +1559,15 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1536
1559
|
}, _TransactionController_updateGasProperties = async function _TransactionController_updateGasProperties(transactionMeta, { traceContext } = {}) {
|
|
1537
1560
|
const isEIP1559Compatible = transactionMeta.txParams.type !== types_1.TransactionEnvelopeType.legacy &&
|
|
1538
1561
|
(await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEIP1559Compatibility).call(this, transactionMeta.networkClientId));
|
|
1562
|
+
const { networkClientId } = transactionMeta;
|
|
1563
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1564
|
+
const provider = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId });
|
|
1539
1565
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas', parentContext: traceContext }, async () => {
|
|
1540
1566
|
await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, transactionMeta);
|
|
1541
1567
|
});
|
|
1542
1568
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas Fees', parentContext: traceContext }, async () => await (0, gas_fees_1.updateGasFees)({
|
|
1543
1569
|
eip1559: isEIP1559Compatible,
|
|
1570
|
+
ethQuery,
|
|
1544
1571
|
gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
|
|
1545
1572
|
getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
|
|
1546
1573
|
getSavedGasFees: __classPrivateFieldGet(this, _TransactionController_getSavedGasFees, "f").bind(this),
|
|
@@ -1550,6 +1577,7 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1550
1577
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Layer 1 Gas Fees', parentContext: traceContext }, async () => await (0, layer1_gas_fee_flow_1.updateTransactionLayer1GasFee)({
|
|
1551
1578
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
1552
1579
|
messenger: this.messenger,
|
|
1580
|
+
provider,
|
|
1553
1581
|
transactionMeta,
|
|
1554
1582
|
}));
|
|
1555
1583
|
}, _TransactionController_onBootCleanup = function _TransactionController_onBootCleanup() {
|
|
@@ -1690,6 +1718,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1690
1718
|
__classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").add(transactionId);
|
|
1691
1719
|
clearApprovingTransactionId = () => __classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").delete(transactionId);
|
|
1692
1720
|
const { networkClientId } = transactionMeta;
|
|
1721
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1693
1722
|
const [nonce, releaseNonce] = await (0, nonce_1.getNextNonce)(transactionMeta, (address) => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, transactionMeta.networkClientId));
|
|
1694
1723
|
clearNonceLock = releaseNonce;
|
|
1695
1724
|
// eslint-disable-next-line require-atomic-updates
|
|
@@ -1722,18 +1751,15 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1722
1751
|
const shouldUpdatePreTxBalance = transactionMeta.type === types_1.TransactionType.swap;
|
|
1723
1752
|
if (shouldUpdatePreTxBalance) {
|
|
1724
1753
|
(0, logger_1.projectLogger)('Determining pre-transaction balance');
|
|
1725
|
-
preTxBalance =
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
method: 'eth_getBalance',
|
|
1729
|
-
params: [transactionMeta.txParams.from, 'latest'],
|
|
1730
|
-
}));
|
|
1754
|
+
preTxBalance = await (0, controller_utils_1.query)(ethQuery, 'getBalance', [
|
|
1755
|
+
transactionMeta.txParams.from,
|
|
1756
|
+
]);
|
|
1731
1757
|
}
|
|
1732
1758
|
(0, logger_1.projectLogger)('Publishing transaction', transactionMeta.txParams);
|
|
1733
1759
|
clearNonceLock?.();
|
|
1734
1760
|
clearNonceLock = undefined;
|
|
1735
1761
|
let publishHook = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_defaultPublishHook).bind(this, {
|
|
1736
|
-
|
|
1762
|
+
ethQuery,
|
|
1737
1763
|
publishHookOverride,
|
|
1738
1764
|
traceContext,
|
|
1739
1765
|
});
|
|
@@ -1777,18 +1803,11 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1777
1803
|
clearApprovingTransactionId?.();
|
|
1778
1804
|
clearNonceLock?.();
|
|
1779
1805
|
}
|
|
1780
|
-
}, _TransactionController_publishTransaction = async function _TransactionController_publishTransaction(transactionMeta, { skipSubmitHistory } = {}) {
|
|
1806
|
+
}, _TransactionController_publishTransaction = async function _TransactionController_publishTransaction(ethQuery, transactionMeta, { skipSubmitHistory } = {}) {
|
|
1781
1807
|
try {
|
|
1782
|
-
const
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
}
|
|
1786
|
-
const transactionHash = (await (0, provider_1.rpcRequest)({
|
|
1787
|
-
messenger: this.messenger,
|
|
1788
|
-
networkClientId,
|
|
1789
|
-
method: 'eth_sendRawTransaction',
|
|
1790
|
-
params: [rawTx],
|
|
1791
|
-
}));
|
|
1808
|
+
const transactionHash = await (0, controller_utils_1.query)(ethQuery, 'sendRawTransaction', [
|
|
1809
|
+
transactionMeta.rawTx,
|
|
1810
|
+
]);
|
|
1792
1811
|
if (skipSubmitHistory !== true) {
|
|
1793
1812
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSubmitHistory).call(this, transactionMeta, transactionHash);
|
|
1794
1813
|
}
|
|
@@ -1886,6 +1905,23 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1886
1905
|
}
|
|
1887
1906
|
const isCompleted = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isLocalFinalState).call(this, transaction.status);
|
|
1888
1907
|
return { meta: transaction, isCompleted };
|
|
1908
|
+
}, _TransactionController_getChainId = function _TransactionController_getChainId(networkClientId) {
|
|
1909
|
+
return __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({ networkClientId })
|
|
1910
|
+
.configuration.chainId;
|
|
1911
|
+
}, _TransactionController_getNetworkClientId = function _TransactionController_getNetworkClientId({ chainId, networkClientId, }) {
|
|
1912
|
+
if (networkClientId) {
|
|
1913
|
+
return networkClientId;
|
|
1914
|
+
}
|
|
1915
|
+
return __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
|
|
1916
|
+
chainId,
|
|
1917
|
+
}).id;
|
|
1918
|
+
}, _TransactionController_getEthQuery = function _TransactionController_getEthQuery({ chainId, networkClientId, }) {
|
|
1919
|
+
return new eth_query_1.default(__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { chainId, networkClientId }));
|
|
1920
|
+
}, _TransactionController_getProvider = function _TransactionController_getProvider({ chainId, networkClientId, }) {
|
|
1921
|
+
return __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
|
|
1922
|
+
chainId,
|
|
1923
|
+
networkClientId,
|
|
1924
|
+
}).provider;
|
|
1889
1925
|
}, _TransactionController_onIncomingTransactions = function _TransactionController_onIncomingTransactions(transactions) {
|
|
1890
1926
|
if (!transactions.length) {
|
|
1891
1927
|
return;
|
|
@@ -1894,10 +1930,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1894
1930
|
for (const tx of transactions) {
|
|
1895
1931
|
const { chainId } = tx;
|
|
1896
1932
|
try {
|
|
1897
|
-
const networkClientId = (
|
|
1898
|
-
messenger: this.messenger,
|
|
1899
|
-
chainId,
|
|
1900
|
-
});
|
|
1933
|
+
const networkClientId = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNetworkClientId).call(this, { chainId });
|
|
1901
1934
|
finalTransactions.push({
|
|
1902
1935
|
...tx,
|
|
1903
1936
|
networkClientId,
|
|
@@ -2033,9 +2066,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2033
2066
|
}
|
|
2034
2067
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
2035
2068
|
const { networkClientId } = transactionMeta;
|
|
2069
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
2036
2070
|
await (0, gas_fee_tokens_1.checkGasFeeTokenBeforePublish)({
|
|
2037
|
-
|
|
2038
|
-
networkClientId,
|
|
2071
|
+
ethQuery,
|
|
2039
2072
|
fetchGasFeeTokens: async (tx) => (await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, tx)).gasFeeTokens,
|
|
2040
2073
|
transaction: transactionMeta,
|
|
2041
2074
|
updateTransaction: (txId, fn) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId: txId }, fn),
|
|
@@ -2113,9 +2146,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2113
2146
|
if (type !== types_1.TransactionType.swap) {
|
|
2114
2147
|
return;
|
|
2115
2148
|
}
|
|
2149
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
2116
2150
|
const { updatedTransactionMeta, approvalTransactionMeta } = await (0, swaps_1.updatePostTransactionBalance)(transactionMeta, {
|
|
2117
|
-
|
|
2118
|
-
networkClientId,
|
|
2151
|
+
ethQuery,
|
|
2119
2152
|
getTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).bind(this),
|
|
2120
2153
|
updateTransaction: this.updateTransaction.bind(this),
|
|
2121
2154
|
});
|
|
@@ -2138,13 +2171,16 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2138
2171
|
getPendingTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNonceTrackerPendingTransactions).bind(this, chainId),
|
|
2139
2172
|
getConfirmedTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNonceTrackerTransactions).bind(this, [types_1.TransactionStatus.confirmed], chainId),
|
|
2140
2173
|
});
|
|
2141
|
-
}, _TransactionController_createPendingTransactionTracker = function _TransactionController_createPendingTransactionTracker({ blockTracker, networkClientId, }) {
|
|
2142
|
-
const
|
|
2174
|
+
}, _TransactionController_createPendingTransactionTracker = function _TransactionController_createPendingTransactionTracker({ provider, blockTracker, chainId, networkClientId, }) {
|
|
2175
|
+
const ethQuery = new eth_query_1.default(provider);
|
|
2143
2176
|
const pendingTransactionTracker = new PendingTransactionTracker_1.PendingTransactionTracker({
|
|
2144
2177
|
blockTracker,
|
|
2178
|
+
getChainId: () => chainId,
|
|
2179
|
+
getEthQuery: () => ethQuery,
|
|
2145
2180
|
getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
|
|
2146
2181
|
chainId,
|
|
2147
2182
|
}),
|
|
2183
|
+
getNetworkClientId: () => networkClientId,
|
|
2148
2184
|
getTransactions: () => this.state.transactions,
|
|
2149
2185
|
hooks: {
|
|
2150
2186
|
beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
|
|
@@ -2152,8 +2188,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2152
2188
|
isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
|
|
2153
2189
|
isTimeoutEnabled: __classPrivateFieldGet(this, _TransactionController_isTimeoutEnabled, "f"),
|
|
2154
2190
|
messenger: this.messenger,
|
|
2155
|
-
|
|
2156
|
-
publishTransaction: (transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta, {
|
|
2191
|
+
publishTransaction: (_ethQuery, transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, _ethQuery, transactionMeta, {
|
|
2157
2192
|
skipSubmitHistory: true,
|
|
2158
2193
|
}),
|
|
2159
2194
|
});
|
|
@@ -2181,9 +2216,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2181
2216
|
], address, chainId);
|
|
2182
2217
|
const externalPendingTransactions = __classPrivateFieldGet(this, _TransactionController_getExternalPendingTransactions, "f").call(this, address, chainId);
|
|
2183
2218
|
return [...standardPendingTransactions, ...externalPendingTransactions];
|
|
2184
|
-
}, _TransactionController_publishTransactionForRetry = async function _TransactionController_publishTransactionForRetry(transactionMeta) {
|
|
2219
|
+
}, _TransactionController_publishTransactionForRetry = async function _TransactionController_publishTransactionForRetry(ethQuery, transactionMeta) {
|
|
2185
2220
|
try {
|
|
2186
|
-
return await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta);
|
|
2221
|
+
return await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, transactionMeta);
|
|
2187
2222
|
}
|
|
2188
2223
|
catch (error) {
|
|
2189
2224
|
if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isTransactionAlreadyConfirmedError).call(this, error)) {
|
|
@@ -2251,8 +2286,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2251
2286
|
const balanceChangesResult = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Simulate', parentContext: traceContext }, () => (0, balance_changes_1.getBalanceChanges)({
|
|
2252
2287
|
blockTime,
|
|
2253
2288
|
chainId,
|
|
2254
|
-
|
|
2255
|
-
networkClientId,
|
|
2289
|
+
ethQuery: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId }),
|
|
2256
2290
|
getSimulationConfig: (url, opts) => {
|
|
2257
2291
|
return __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f").call(this, url, {
|
|
2258
2292
|
txMeta: transactionMeta,
|
|
@@ -2353,10 +2387,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2353
2387
|
submitHistory.unshift(submitHistoryEntry);
|
|
2354
2388
|
});
|
|
2355
2389
|
}, _TransactionController_updateGasEstimate = async function _TransactionController_updateGasEstimate(transactionMeta) {
|
|
2356
|
-
const { networkClientId } = transactionMeta;
|
|
2390
|
+
const { chainId, networkClientId } = transactionMeta;
|
|
2357
2391
|
const isCustomNetwork = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({ networkClientId })
|
|
2358
2392
|
.configuration.type === network_controller_1.NetworkClientType.Custom;
|
|
2393
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
2359
2394
|
await (0, gas_1.updateGas)({
|
|
2395
|
+
chainId,
|
|
2396
|
+
ethQuery,
|
|
2360
2397
|
isCustomNetwork,
|
|
2361
2398
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
2362
2399
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
@@ -2435,15 +2472,14 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2435
2472
|
updateTransaction(txMeta);
|
|
2436
2473
|
});
|
|
2437
2474
|
(0, logger_1.projectLogger)('Updated transaction with afterSimulate data', updatedTransactionMeta);
|
|
2438
|
-
}, _TransactionController_defaultPublishHook = async function _TransactionController_defaultPublishHook({
|
|
2475
|
+
}, _TransactionController_defaultPublishHook = async function _TransactionController_defaultPublishHook({ ethQuery, publishHookOverride, traceContext, }, transactionMeta, signedTx) {
|
|
2439
2476
|
let transactionHash;
|
|
2440
2477
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {
|
|
2441
2478
|
const publishHook = publishHookOverride ?? __classPrivateFieldGet(this, _TransactionController_publish, "f");
|
|
2442
2479
|
({ transactionHash } = await publishHook(transactionMeta, signedTx));
|
|
2443
2480
|
// eslint-disable-next-line require-atomic-updates
|
|
2444
|
-
transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, {
|
|
2481
|
+
transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, ethQuery, {
|
|
2445
2482
|
...transactionMeta,
|
|
2446
|
-
networkClientId,
|
|
2447
2483
|
rawTx: signedTx,
|
|
2448
2484
|
}));
|
|
2449
2485
|
});
|