@metamask/transaction-controller 63.3.0 → 64.0.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.
- package/CHANGELOG.md +33 -1
- package/dist/TransactionController.cjs +85 -103
- 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 +86 -108
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/gas-flows/LineaGasFeeFlow.cjs +22 -11
- 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 +23 -12
- 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 +5 -19
- package/dist/helpers/GasFeePoller.cjs.map +1 -1
- package/dist/helpers/GasFeePoller.d.cts +1 -6
- package/dist/helpers/GasFeePoller.d.cts.map +1 -1
- package/dist/helpers/GasFeePoller.d.mts +1 -6
- package/dist/helpers/GasFeePoller.d.mts.map +1 -1
- package/dist/helpers/GasFeePoller.mjs +5 -26
- package/dist/helpers/GasFeePoller.mjs.map +1 -1
- package/dist/helpers/MethodDataHelper.cjs +10 -6
- 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 +10 -6
- package/dist/helpers/MethodDataHelper.mjs.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.cjs +0 -2
- package/dist/helpers/MultichainTrackingHelper.cjs.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.d.cts +0 -2
- package/dist/helpers/MultichainTrackingHelper.d.cts.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.d.mts +0 -2
- package/dist/helpers/MultichainTrackingHelper.d.mts.map +1 -1
- package/dist/helpers/MultichainTrackingHelper.mjs +0 -2
- package/dist/helpers/MultichainTrackingHelper.mjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.cjs +38 -24
- package/dist/helpers/PendingTransactionTracker.cjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.cts +3 -7
- package/dist/helpers/PendingTransactionTracker.d.cts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.mts +3 -7
- package/dist/helpers/PendingTransactionTracker.d.mts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.mjs +38 -24
- package/dist/helpers/PendingTransactionTracker.mjs.map +1 -1
- package/dist/hooks/SequentialPublishBatchHook.cjs +4 -6
- package/dist/hooks/SequentialPublishBatchHook.cjs.map +1 -1
- package/dist/hooks/SequentialPublishBatchHook.d.cts +2 -4
- package/dist/hooks/SequentialPublishBatchHook.d.cts.map +1 -1
- package/dist/hooks/SequentialPublishBatchHook.d.mts +2 -4
- package/dist/hooks/SequentialPublishBatchHook.d.mts.map +1 -1
- package/dist/hooks/SequentialPublishBatchHook.mjs +4 -6
- package/dist/hooks/SequentialPublishBatchHook.mjs.map +1 -1
- package/dist/index.cjs +1 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +0 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +0 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +0 -1
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +14 -3
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +14 -3
- 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 +4 -2
- package/dist/utils/balance-changes.d.cts.map +1 -1
- package/dist/utils/balance-changes.d.mts +4 -2
- 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 +14 -10
- package/dist/utils/balance.cjs.map +1 -1
- package/dist/utils/balance.d.cts +8 -5
- package/dist/utils/balance.d.cts.map +1 -1
- package/dist/utils/balance.d.mts +8 -5
- package/dist/utils/balance.d.mts.map +1 -1
- package/dist/utils/balance.mjs +14 -10
- package/dist/utils/balance.mjs.map +1 -1
- package/dist/utils/batch.cjs +19 -19
- package/dist/utils/batch.cjs.map +1 -1
- package/dist/utils/batch.d.cts +1 -5
- package/dist/utils/batch.d.cts.map +1 -1
- package/dist/utils/batch.d.mts +1 -5
- package/dist/utils/batch.d.mts.map +1 -1
- package/dist/utils/batch.mjs +20 -20
- package/dist/utils/batch.mjs.map +1 -1
- package/dist/utils/eip7702.cjs +13 -6
- package/dist/utils/eip7702.cjs.map +1 -1
- package/dist/utils/eip7702.d.cts +6 -5
- package/dist/utils/eip7702.d.cts.map +1 -1
- package/dist/utils/eip7702.d.mts +6 -5
- package/dist/utils/eip7702.d.mts.map +1 -1
- package/dist/utils/eip7702.mjs +14 -7
- package/dist/utils/eip7702.mjs.map +1 -1
- package/dist/utils/gas-fee-tokens.cjs +4 -3
- package/dist/utils/gas-fee-tokens.cjs.map +1 -1
- package/dist/utils/gas-fee-tokens.d.cts +6 -4
- package/dist/utils/gas-fee-tokens.d.cts.map +1 -1
- package/dist/utils/gas-fee-tokens.d.mts +6 -4
- package/dist/utils/gas-fee-tokens.d.mts.map +1 -1
- package/dist/utils/gas-fee-tokens.mjs +4 -3
- package/dist/utils/gas-fee-tokens.mjs.map +1 -1
- package/dist/utils/gas-fees.cjs +8 -6
- package/dist/utils/gas-fees.cjs.map +1 -1
- package/dist/utils/gas-fees.d.cts +0 -2
- package/dist/utils/gas-fees.d.cts.map +1 -1
- package/dist/utils/gas-fees.d.mts +0 -2
- package/dist/utils/gas-fees.d.mts.map +1 -1
- package/dist/utils/gas-fees.mjs +9 -7
- package/dist/utils/gas-fees.mjs.map +1 -1
- package/dist/utils/gas.cjs +60 -34
- package/dist/utils/gas.cjs.map +1 -1
- package/dist/utils/gas.d.cts +6 -11
- package/dist/utils/gas.d.cts.map +1 -1
- package/dist/utils/gas.d.mts +6 -11
- package/dist/utils/gas.d.mts.map +1 -1
- package/dist/utils/gas.mjs +61 -35
- package/dist/utils/gas.mjs.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.cjs +7 -3
- package/dist/utils/layer1-gas-fee-flow.cjs.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.d.cts +2 -5
- package/dist/utils/layer1-gas-fee-flow.d.cts.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.d.mts +2 -5
- package/dist/utils/layer1-gas-fee-flow.d.mts.map +1 -1
- package/dist/utils/layer1-gas-fee-flow.mjs +7 -3
- package/dist/utils/layer1-gas-fee-flow.mjs.map +1 -1
- package/dist/utils/provider.cjs +74 -0
- package/dist/utils/provider.cjs.map +1 -0
- package/dist/utils/provider.d.cts +65 -0
- package/dist/utils/provider.d.cts.map +1 -0
- package/dist/utils/provider.d.mts +65 -0
- package/dist/utils/provider.d.mts.map +1 -0
- package/dist/utils/provider.mjs +67 -0
- package/dist/utils/provider.mjs.map +1 -0
- package/dist/utils/swaps.cjs +11 -7
- package/dist/utils/swaps.cjs.map +1 -1
- package/dist/utils/swaps.d.cts +6 -4
- package/dist/utils/swaps.d.cts.map +1 -1
- package/dist/utils/swaps.d.mts +6 -4
- package/dist/utils/swaps.d.mts.map +1 -1
- package/dist/utils/swaps.mjs +11 -7
- package/dist/utils/swaps.mjs.map +1 -1
- package/dist/utils/transaction-type.cjs +17 -8
- package/dist/utils/transaction-type.cjs.map +1 -1
- package/dist/utils/transaction-type.d.cts +9 -3
- package/dist/utils/transaction-type.d.cts.map +1 -1
- package/dist/utils/transaction-type.d.mts +9 -3
- package/dist/utils/transaction-type.d.mts.map +1 -1
- package/dist/utils/transaction-type.mjs +17 -8
- package/dist/utils/transaction-type.mjs.map +1 -1
- package/package.json +13 -13
|
@@ -9,17 +9,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
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");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
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,
|
|
13
|
-
function $importDefault(module) {
|
|
14
|
-
if (module?.__esModule) {
|
|
15
|
-
return module.default;
|
|
16
|
-
}
|
|
17
|
-
return module;
|
|
18
|
-
}
|
|
12
|
+
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_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;
|
|
19
13
|
import { BaseController } from "@metamask/base-controller";
|
|
20
|
-
import {
|
|
21
|
-
import $EthQuery from "@metamask/eth-query";
|
|
22
|
-
const EthQuery = $importDefault($EthQuery);
|
|
14
|
+
import { ApprovalType, ORIGIN_METAMASK, convertHexToDecimal } from "@metamask/controller-utils";
|
|
23
15
|
import { NetworkClientType } from "@metamask/network-controller";
|
|
24
16
|
import { NonceTracker } from "@metamask/nonce-tracker";
|
|
25
17
|
import { errorCodes, rpcErrors, providerErrors, JsonRpcError } from "@metamask/rpc-errors";
|
|
@@ -59,6 +51,7 @@ import { getGasFeeFlow } from "./utils/gas-flow.mjs";
|
|
|
59
51
|
import { getTransactionLayer1GasFee, updateTransactionLayer1GasFee } from "./utils/layer1-gas-fee-flow.mjs";
|
|
60
52
|
import { getAndFormatTransactionsForNonceTracker, getNextNonce } from "./utils/nonce.mjs";
|
|
61
53
|
import { prepareTransaction, serializeTransaction } from "./utils/prepare.mjs";
|
|
54
|
+
import { getChainId, getNetworkClientId, rpcRequest } from "./utils/provider.mjs";
|
|
62
55
|
import { getTransactionParamsWithIncreasedGasFee } from "./utils/retry.mjs";
|
|
63
56
|
import { updatePostTransactionBalance, updateSwapsTransaction } from "./utils/swaps.mjs";
|
|
64
57
|
import { determineTransactionType } from "./utils/transaction-type.mjs";
|
|
@@ -292,10 +285,8 @@ export class TransactionController extends BaseController {
|
|
|
292
285
|
__classPrivateFieldSet(this, _TransactionController_gasFeeFlows, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeFlows).call(this), "f");
|
|
293
286
|
__classPrivateFieldSet(this, _TransactionController_layer1GasFeeFlows, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getLayer1GasFeeFlows).call(this), "f");
|
|
294
287
|
const gasFeePoller = new GasFeePoller({
|
|
295
|
-
findNetworkClientIdByChainId,
|
|
296
288
|
gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
|
|
297
289
|
getGasFeeControllerEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
|
|
298
|
-
getProvider: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId }),
|
|
299
290
|
getTransactions: () => this.state.transactions,
|
|
300
291
|
getTransactionBatches: () => this.state.transactionBatches,
|
|
301
292
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
@@ -307,7 +298,7 @@ export class TransactionController extends BaseController {
|
|
|
307
298
|
gasFeePoller.hub.on('transaction-updated', __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onGasFeePollerTransactionUpdate).bind(this));
|
|
308
299
|
gasFeePoller.hub.on('transaction-batch-updated', __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onGasFeePollerTransactionBatchUpdate).bind(this));
|
|
309
300
|
__classPrivateFieldSet(this, _TransactionController_methodDataHelper, new MethodDataHelper({
|
|
310
|
-
|
|
301
|
+
messenger: this.messenger,
|
|
311
302
|
getState: () => this.state.methodData,
|
|
312
303
|
}), "f");
|
|
313
304
|
__classPrivateFieldGet(this, _TransactionController_methodDataHelper, "f").hub.on('update', ({ fourBytePrefix, methodData }) => {
|
|
@@ -369,15 +360,11 @@ export class TransactionController extends BaseController {
|
|
|
369
360
|
return await addTransactionBatch({
|
|
370
361
|
addTransaction: this.addTransaction.bind(this),
|
|
371
362
|
estimateGas: this.estimateGas.bind(this),
|
|
372
|
-
getChainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).bind(this),
|
|
373
|
-
getEthQuery: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId }),
|
|
374
363
|
getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
|
|
375
364
|
getInternalAccounts: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getInternalAccounts).bind(this),
|
|
376
365
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f").bind(this),
|
|
377
366
|
getPendingTransactionTracker: (networkClientId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_createPendingTransactionTracker).call(this, {
|
|
378
|
-
provider: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId }),
|
|
379
367
|
blockTracker,
|
|
380
|
-
chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
|
|
381
368
|
networkClientId,
|
|
382
369
|
}),
|
|
383
370
|
getTransaction: (transactionId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId),
|
|
@@ -385,7 +372,7 @@ export class TransactionController extends BaseController {
|
|
|
385
372
|
messenger: this.messenger,
|
|
386
373
|
publishBatchHook: __classPrivateFieldGet(this, _TransactionController_publishBatchHook, "f"),
|
|
387
374
|
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
388
|
-
publishTransaction: (
|
|
375
|
+
publishTransaction: (transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta),
|
|
389
376
|
request,
|
|
390
377
|
signTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).bind(this),
|
|
391
378
|
update: this.update.bind(this),
|
|
@@ -401,7 +388,6 @@ export class TransactionController extends BaseController {
|
|
|
401
388
|
async isAtomicBatchSupported(request) {
|
|
402
389
|
return isAtomicBatchSupported({
|
|
403
390
|
...request,
|
|
404
|
-
getEthQuery: (chainId) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId }),
|
|
405
391
|
messenger: this.messenger,
|
|
406
392
|
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
407
393
|
});
|
|
@@ -417,16 +403,13 @@ export class TransactionController extends BaseController {
|
|
|
417
403
|
*/
|
|
418
404
|
async addTransaction(txParams, options) {
|
|
419
405
|
log('Adding transaction', txParams, options);
|
|
420
|
-
const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, isStateOnly, method, nestedTransactions, networkClientId, origin, publishHook, requestId, requiredAssets, requireApproval, securityAlertResponse, skipInitialGasEstimate, swaps = {}, traceContext, type, } = options;
|
|
406
|
+
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;
|
|
421
407
|
// eslint-disable-next-line no-param-reassign
|
|
422
408
|
txParams = normalizeTransactionParams(txParams);
|
|
423
409
|
if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
|
|
424
410
|
throw new Error(`Network client not found - ${networkClientId}`);
|
|
425
411
|
}
|
|
426
|
-
const chainId =
|
|
427
|
-
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
428
|
-
networkClientId,
|
|
429
|
-
});
|
|
412
|
+
const chainId = getChainId({ messenger: this.messenger, networkClientId });
|
|
430
413
|
const permittedAddresses = origin === undefined
|
|
431
414
|
? undefined
|
|
432
415
|
: await __classPrivateFieldGet(this, _TransactionController_getPermittedAccounts, "f")?.call(this, origin);
|
|
@@ -440,7 +423,7 @@ export class TransactionController extends BaseController {
|
|
|
440
423
|
txParams,
|
|
441
424
|
type,
|
|
442
425
|
});
|
|
443
|
-
const delegationAddressPromise = getDelegationAddress(txParams.from,
|
|
426
|
+
const delegationAddressPromise = getDelegationAddress(txParams.from, this.messenger, networkClientId).catch(() => undefined);
|
|
444
427
|
const isEIP1559Compatible = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEIP1559Compatibility).call(this, networkClientId);
|
|
445
428
|
validateTxParams(txParams, isEIP1559Compatible, chainId);
|
|
446
429
|
if (!txParams.type) {
|
|
@@ -453,7 +436,17 @@ export class TransactionController extends BaseController {
|
|
|
453
436
|
throw new JsonRpcError(ErrorCode.DuplicateBundleId, 'Batch ID already exists');
|
|
454
437
|
}
|
|
455
438
|
const dappSuggestedGasFees = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_generateDappSuggestedGasFees).call(this, txParams, origin);
|
|
456
|
-
const transactionType = type ??
|
|
439
|
+
const transactionType = type ??
|
|
440
|
+
(await determineTransactionType(txParams, {
|
|
441
|
+
messenger: this.messenger,
|
|
442
|
+
networkClientId,
|
|
443
|
+
})).type;
|
|
444
|
+
/**
|
|
445
|
+
* Original behavior was that this was set to 'true' whenever a gasFeeToken was passed.
|
|
446
|
+
* 'excludeNativeTokenForFee' optionally overrides this behavior to prevent native token from
|
|
447
|
+
* being used when another gasFeeToken is set.
|
|
448
|
+
*/
|
|
449
|
+
const isGasFeeTokenIgnoredIfBalance = Boolean(gasFeeToken) && !excludeNativeTokenForFee;
|
|
457
450
|
let addedTransactionMeta = {
|
|
458
451
|
actionId,
|
|
459
452
|
assetsFiatValues,
|
|
@@ -463,9 +456,13 @@ export class TransactionController extends BaseController {
|
|
|
463
456
|
deviceConfirmedOn,
|
|
464
457
|
disableGasBuffer,
|
|
465
458
|
id: random(),
|
|
466
|
-
isGasFeeTokenIgnoredIfBalance
|
|
459
|
+
isGasFeeTokenIgnoredIfBalance,
|
|
467
460
|
isGasFeeIncluded,
|
|
468
461
|
isGasFeeSponsored,
|
|
462
|
+
// To avoid the property to be set as undefined.
|
|
463
|
+
...(excludeNativeTokenForFee === undefined
|
|
464
|
+
? {}
|
|
465
|
+
: { excludeNativeTokenForFee }),
|
|
469
466
|
isFirstTimeInteraction: undefined,
|
|
470
467
|
isStateOnly,
|
|
471
468
|
nestedTransactions,
|
|
@@ -657,16 +654,12 @@ export class TransactionController extends BaseController {
|
|
|
657
654
|
* @returns The gas and gas price.
|
|
658
655
|
*/
|
|
659
656
|
async estimateGas(transaction, networkClientId, { ignoreDelegationSignatures, } = {}) {
|
|
660
|
-
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
661
|
-
networkClientId,
|
|
662
|
-
});
|
|
663
657
|
const { estimatedGas, simulationFails } = await estimateGas({
|
|
664
|
-
chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
|
|
665
|
-
ethQuery,
|
|
666
658
|
ignoreDelegationSignatures,
|
|
667
659
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
668
660
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
669
661
|
messenger: this.messenger,
|
|
662
|
+
networkClientId,
|
|
670
663
|
txParams: transaction,
|
|
671
664
|
});
|
|
672
665
|
return { gas: estimatedGas, simulationFails };
|
|
@@ -681,16 +674,15 @@ export class TransactionController extends BaseController {
|
|
|
681
674
|
* @returns Object containing the gas limit.
|
|
682
675
|
*/
|
|
683
676
|
async estimateGasBatch({ chainId, from, transactions, }) {
|
|
684
|
-
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
685
|
-
chainId,
|
|
686
|
-
});
|
|
687
677
|
return estimateGasBatch({
|
|
688
|
-
chainId,
|
|
689
|
-
ethQuery,
|
|
690
678
|
from,
|
|
691
679
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
692
680
|
isAtomicBatchSupported: this.isAtomicBatchSupported.bind(this),
|
|
693
681
|
messenger: this.messenger,
|
|
682
|
+
networkClientId: getNetworkClientId({
|
|
683
|
+
messenger: this.messenger,
|
|
684
|
+
chainId,
|
|
685
|
+
}),
|
|
694
686
|
transactions,
|
|
695
687
|
});
|
|
696
688
|
}
|
|
@@ -703,15 +695,11 @@ export class TransactionController extends BaseController {
|
|
|
703
695
|
* @returns The buffered estimated gas and whether the estimation failed.
|
|
704
696
|
*/
|
|
705
697
|
async estimateGasBuffered(transaction, multiplier, networkClientId) {
|
|
706
|
-
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, {
|
|
707
|
-
networkClientId,
|
|
708
|
-
});
|
|
709
698
|
const { blockGasLimit, estimatedGas, simulationFails } = await estimateGas({
|
|
710
|
-
chainId: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getChainId).call(this, networkClientId),
|
|
711
|
-
ethQuery,
|
|
712
699
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
713
700
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
714
701
|
messenger: this.messenger,
|
|
702
|
+
networkClientId,
|
|
715
703
|
txParams: transaction,
|
|
716
704
|
});
|
|
717
705
|
const gas = addGasBuffer(estimatedGas, blockGasLimit, multiplier);
|
|
@@ -991,10 +979,11 @@ export class TransactionController extends BaseController {
|
|
|
991
979
|
editableParams.txParams = pickBy(editableParams.txParams);
|
|
992
980
|
const updatedTransaction = merge({}, transactionMeta, editableParams);
|
|
993
981
|
const { networkClientId } = transactionMeta;
|
|
994
|
-
const provider = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId });
|
|
995
|
-
const ethQuery = new EthQuery(provider);
|
|
996
982
|
if (updateType !== false) {
|
|
997
|
-
const { type } = await determineTransactionType(updatedTransaction.txParams,
|
|
983
|
+
const { type } = await determineTransactionType(updatedTransaction.txParams, {
|
|
984
|
+
messenger: this.messenger,
|
|
985
|
+
networkClientId,
|
|
986
|
+
});
|
|
998
987
|
updatedTransaction.type = type;
|
|
999
988
|
}
|
|
1000
989
|
if (containerTypes) {
|
|
@@ -1003,7 +992,6 @@ export class TransactionController extends BaseController {
|
|
|
1003
992
|
await updateTransactionLayer1GasFee({
|
|
1004
993
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
1005
994
|
messenger: this.messenger,
|
|
1006
|
-
provider,
|
|
1007
995
|
transactionMeta: updatedTransaction,
|
|
1008
996
|
});
|
|
1009
997
|
this.updateTransaction(updatedTransaction, `Update Editable Params for ${txId}`);
|
|
@@ -1045,7 +1033,10 @@ export class TransactionController extends BaseController {
|
|
|
1045
1033
|
}
|
|
1046
1034
|
const initialTx = listOfTxParams[0];
|
|
1047
1035
|
const { chainId } = initialTx;
|
|
1048
|
-
const networkClientId =
|
|
1036
|
+
const networkClientId = getNetworkClientId({
|
|
1037
|
+
messenger: this.messenger,
|
|
1038
|
+
chainId,
|
|
1039
|
+
});
|
|
1049
1040
|
const initialTxAsEthTx = prepareTransaction(chainId, initialTx);
|
|
1050
1041
|
const initialTxAsSerializedHex = serializeTransaction(initialTxAsEthTx);
|
|
1051
1042
|
if (__classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").has(initialTxAsSerializedHex)) {
|
|
@@ -1224,7 +1215,7 @@ export class TransactionController extends BaseController {
|
|
|
1224
1215
|
* @returns A promise that resolves to the estimated gas fee response.
|
|
1225
1216
|
*/
|
|
1226
1217
|
async estimateGasFee({ transactionParams, chainId, networkClientId: requestNetworkClientId, }) {
|
|
1227
|
-
const { id: networkClientId
|
|
1218
|
+
const { id: networkClientId } = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
|
|
1228
1219
|
chainId,
|
|
1229
1220
|
networkClientId: requestNetworkClientId,
|
|
1230
1221
|
});
|
|
@@ -1235,12 +1226,10 @@ export class TransactionController extends BaseController {
|
|
|
1235
1226
|
};
|
|
1236
1227
|
// Guaranteed as the default gas fee flow matches all transactions.
|
|
1237
1228
|
const gasFeeFlow = getGasFeeFlow(transactionMeta, __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"), this.messenger);
|
|
1238
|
-
const ethQuery = new EthQuery(provider);
|
|
1239
1229
|
const gasFeeControllerData = await __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f").call(this, {
|
|
1240
1230
|
networkClientId,
|
|
1241
1231
|
});
|
|
1242
1232
|
return gasFeeFlow.getGasFees({
|
|
1243
|
-
ethQuery,
|
|
1244
1233
|
gasFeeControllerData,
|
|
1245
1234
|
messenger: this.messenger,
|
|
1246
1235
|
transactionMeta,
|
|
@@ -1256,17 +1245,18 @@ export class TransactionController extends BaseController {
|
|
|
1256
1245
|
* @returns The layer 1 gas fee.
|
|
1257
1246
|
*/
|
|
1258
1247
|
async getLayer1GasFee({ transactionParams, chainId, networkClientId, }) {
|
|
1259
|
-
const
|
|
1248
|
+
const resolvedNetworkClientId = getNetworkClientId({
|
|
1249
|
+
messenger: this.messenger,
|
|
1260
1250
|
chainId,
|
|
1261
1251
|
networkClientId,
|
|
1262
1252
|
});
|
|
1263
1253
|
return await getTransactionLayer1GasFee({
|
|
1264
1254
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
1265
1255
|
messenger: this.messenger,
|
|
1266
|
-
provider,
|
|
1267
1256
|
transactionMeta: {
|
|
1268
1257
|
txParams: transactionParams,
|
|
1269
1258
|
chainId,
|
|
1259
|
+
networkClientId: resolvedNetworkClientId,
|
|
1270
1260
|
},
|
|
1271
1261
|
});
|
|
1272
1262
|
}
|
|
@@ -1443,8 +1433,11 @@ export class TransactionController extends BaseController {
|
|
|
1443
1433
|
*/
|
|
1444
1434
|
async getGasFeeTokens(request) {
|
|
1445
1435
|
const { chainId, data, from, to, value } = request;
|
|
1446
|
-
const
|
|
1447
|
-
|
|
1436
|
+
const networkClientId = getNetworkClientId({
|
|
1437
|
+
messenger: this.messenger,
|
|
1438
|
+
chainId,
|
|
1439
|
+
});
|
|
1440
|
+
const delegationAddress = await getDelegationAddress(from, this.messenger, networkClientId);
|
|
1448
1441
|
const transaction = {
|
|
1449
1442
|
chainId,
|
|
1450
1443
|
delegationAddress,
|
|
@@ -1492,8 +1485,6 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1492
1485
|
newFee,
|
|
1493
1486
|
txParams: newTxParams,
|
|
1494
1487
|
});
|
|
1495
|
-
const { networkClientId } = transactionMeta;
|
|
1496
|
-
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1497
1488
|
const newTransactionMeta = {
|
|
1498
1489
|
...transactionMetaWithRsv,
|
|
1499
1490
|
actionId,
|
|
@@ -1506,7 +1497,7 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1506
1497
|
txParams: newTxParams,
|
|
1507
1498
|
type: transactionType,
|
|
1508
1499
|
};
|
|
1509
|
-
const hash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransactionForRetry).call(this,
|
|
1500
|
+
const hash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransactionForRetry).call(this, {
|
|
1510
1501
|
...newTransactionMeta,
|
|
1511
1502
|
origin: label,
|
|
1512
1503
|
});
|
|
@@ -1552,15 +1543,11 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1552
1543
|
}, _TransactionController_updateGasProperties = async function _TransactionController_updateGasProperties(transactionMeta, { traceContext } = {}) {
|
|
1553
1544
|
const isEIP1559Compatible = transactionMeta.txParams.type !== TransactionEnvelopeType.legacy &&
|
|
1554
1545
|
(await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEIP1559Compatibility).call(this, transactionMeta.networkClientId));
|
|
1555
|
-
const { networkClientId } = transactionMeta;
|
|
1556
|
-
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1557
|
-
const provider = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId });
|
|
1558
1546
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas', parentContext: traceContext }, async () => {
|
|
1559
1547
|
await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, transactionMeta);
|
|
1560
1548
|
});
|
|
1561
1549
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas Fees', parentContext: traceContext }, async () => await updateGasFees({
|
|
1562
1550
|
eip1559: isEIP1559Compatible,
|
|
1563
|
-
ethQuery,
|
|
1564
1551
|
gasFeeFlows: __classPrivateFieldGet(this, _TransactionController_gasFeeFlows, "f"),
|
|
1565
1552
|
getGasFeeEstimates: __classPrivateFieldGet(this, _TransactionController_getGasFeeEstimates, "f"),
|
|
1566
1553
|
getSavedGasFees: __classPrivateFieldGet(this, _TransactionController_getSavedGasFees, "f").bind(this),
|
|
@@ -1570,7 +1557,6 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1570
1557
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Layer 1 Gas Fees', parentContext: traceContext }, async () => await updateTransactionLayer1GasFee({
|
|
1571
1558
|
layer1GasFeeFlows: __classPrivateFieldGet(this, _TransactionController_layer1GasFeeFlows, "f"),
|
|
1572
1559
|
messenger: this.messenger,
|
|
1573
|
-
provider,
|
|
1574
1560
|
transactionMeta,
|
|
1575
1561
|
}));
|
|
1576
1562
|
}, _TransactionController_onBootCleanup = function _TransactionController_onBootCleanup() {
|
|
@@ -1711,7 +1697,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1711
1697
|
__classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").add(transactionId);
|
|
1712
1698
|
clearApprovingTransactionId = () => __classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").delete(transactionId);
|
|
1713
1699
|
const { networkClientId } = transactionMeta;
|
|
1714
|
-
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1715
1700
|
const [nonce, releaseNonce] = await getNextNonce(transactionMeta, (address) => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, transactionMeta.networkClientId));
|
|
1716
1701
|
clearNonceLock = releaseNonce;
|
|
1717
1702
|
// eslint-disable-next-line require-atomic-updates
|
|
@@ -1744,15 +1729,18 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1744
1729
|
const shouldUpdatePreTxBalance = transactionMeta.type === TransactionType.swap;
|
|
1745
1730
|
if (shouldUpdatePreTxBalance) {
|
|
1746
1731
|
log('Determining pre-transaction balance');
|
|
1747
|
-
preTxBalance = await
|
|
1748
|
-
|
|
1749
|
-
|
|
1732
|
+
preTxBalance = (await rpcRequest({
|
|
1733
|
+
messenger: this.messenger,
|
|
1734
|
+
networkClientId,
|
|
1735
|
+
method: 'eth_getBalance',
|
|
1736
|
+
params: [transactionMeta.txParams.from, 'latest'],
|
|
1737
|
+
}));
|
|
1750
1738
|
}
|
|
1751
1739
|
log('Publishing transaction', transactionMeta.txParams);
|
|
1752
1740
|
clearNonceLock?.();
|
|
1753
1741
|
clearNonceLock = undefined;
|
|
1754
1742
|
let publishHook = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_defaultPublishHook).bind(this, {
|
|
1755
|
-
|
|
1743
|
+
networkClientId,
|
|
1756
1744
|
publishHookOverride,
|
|
1757
1745
|
traceContext,
|
|
1758
1746
|
});
|
|
@@ -1796,11 +1784,18 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1796
1784
|
clearApprovingTransactionId?.();
|
|
1797
1785
|
clearNonceLock?.();
|
|
1798
1786
|
}
|
|
1799
|
-
}, _TransactionController_publishTransaction = async function _TransactionController_publishTransaction(
|
|
1787
|
+
}, _TransactionController_publishTransaction = async function _TransactionController_publishTransaction(transactionMeta, { skipSubmitHistory } = {}) {
|
|
1800
1788
|
try {
|
|
1801
|
-
const
|
|
1802
|
-
|
|
1803
|
-
|
|
1789
|
+
const { networkClientId, rawTx } = transactionMeta;
|
|
1790
|
+
if (!rawTx) {
|
|
1791
|
+
throw new Error('Missing raw transaction');
|
|
1792
|
+
}
|
|
1793
|
+
const transactionHash = (await rpcRequest({
|
|
1794
|
+
messenger: this.messenger,
|
|
1795
|
+
networkClientId,
|
|
1796
|
+
method: 'eth_sendRawTransaction',
|
|
1797
|
+
params: [rawTx],
|
|
1798
|
+
}));
|
|
1804
1799
|
if (skipSubmitHistory !== true) {
|
|
1805
1800
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateSubmitHistory).call(this, transactionMeta, transactionHash);
|
|
1806
1801
|
}
|
|
@@ -1898,23 +1893,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1898
1893
|
}
|
|
1899
1894
|
const isCompleted = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isLocalFinalState).call(this, transaction.status);
|
|
1900
1895
|
return { meta: transaction, isCompleted };
|
|
1901
|
-
}, _TransactionController_getChainId = function _TransactionController_getChainId(networkClientId) {
|
|
1902
|
-
return __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({ networkClientId })
|
|
1903
|
-
.configuration.chainId;
|
|
1904
|
-
}, _TransactionController_getNetworkClientId = function _TransactionController_getNetworkClientId({ chainId, networkClientId, }) {
|
|
1905
|
-
if (networkClientId) {
|
|
1906
|
-
return networkClientId;
|
|
1907
|
-
}
|
|
1908
|
-
return __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
|
|
1909
|
-
chainId,
|
|
1910
|
-
}).id;
|
|
1911
|
-
}, _TransactionController_getEthQuery = function _TransactionController_getEthQuery({ chainId, networkClientId, }) {
|
|
1912
|
-
return new EthQuery(__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { chainId, networkClientId }));
|
|
1913
|
-
}, _TransactionController_getProvider = function _TransactionController_getProvider({ chainId, networkClientId, }) {
|
|
1914
|
-
return __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({
|
|
1915
|
-
chainId,
|
|
1916
|
-
networkClientId,
|
|
1917
|
-
}).provider;
|
|
1918
1896
|
}, _TransactionController_onIncomingTransactions = function _TransactionController_onIncomingTransactions(transactions) {
|
|
1919
1897
|
if (!transactions.length) {
|
|
1920
1898
|
return;
|
|
@@ -1923,7 +1901,10 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1923
1901
|
for (const tx of transactions) {
|
|
1924
1902
|
const { chainId } = tx;
|
|
1925
1903
|
try {
|
|
1926
|
-
const networkClientId =
|
|
1904
|
+
const networkClientId = getNetworkClientId({
|
|
1905
|
+
messenger: this.messenger,
|
|
1906
|
+
chainId,
|
|
1907
|
+
});
|
|
1927
1908
|
finalTransactions.push({
|
|
1928
1909
|
...tx,
|
|
1929
1910
|
networkClientId,
|
|
@@ -2059,9 +2040,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2059
2040
|
}
|
|
2060
2041
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
2061
2042
|
const { networkClientId } = transactionMeta;
|
|
2062
|
-
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
2063
2043
|
await checkGasFeeTokenBeforePublish({
|
|
2064
|
-
|
|
2044
|
+
messenger: this.messenger,
|
|
2045
|
+
networkClientId,
|
|
2065
2046
|
fetchGasFeeTokens: async (tx) => (await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, tx)).gasFeeTokens,
|
|
2066
2047
|
transaction: transactionMeta,
|
|
2067
2048
|
updateTransaction: (txId, fn) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId: txId }, fn),
|
|
@@ -2139,9 +2120,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2139
2120
|
if (type !== TransactionType.swap) {
|
|
2140
2121
|
return;
|
|
2141
2122
|
}
|
|
2142
|
-
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
2143
2123
|
const { updatedTransactionMeta, approvalTransactionMeta } = await updatePostTransactionBalance(transactionMeta, {
|
|
2144
|
-
|
|
2124
|
+
messenger: this.messenger,
|
|
2125
|
+
networkClientId,
|
|
2145
2126
|
getTransaction: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).bind(this),
|
|
2146
2127
|
updateTransaction: this.updateTransaction.bind(this),
|
|
2147
2128
|
});
|
|
@@ -2164,16 +2145,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2164
2145
|
getPendingTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNonceTrackerPendingTransactions).bind(this, chainId),
|
|
2165
2146
|
getConfirmedTransactions: __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getNonceTrackerTransactions).bind(this, [TransactionStatus.confirmed], chainId),
|
|
2166
2147
|
});
|
|
2167
|
-
}, _TransactionController_createPendingTransactionTracker = function _TransactionController_createPendingTransactionTracker({
|
|
2168
|
-
const
|
|
2148
|
+
}, _TransactionController_createPendingTransactionTracker = function _TransactionController_createPendingTransactionTracker({ blockTracker, networkClientId, }) {
|
|
2149
|
+
const chainId = getChainId({ messenger: this.messenger, networkClientId });
|
|
2169
2150
|
const pendingTransactionTracker = new PendingTransactionTracker({
|
|
2170
2151
|
blockTracker,
|
|
2171
|
-
getChainId: () => chainId,
|
|
2172
|
-
getEthQuery: () => ethQuery,
|
|
2173
2152
|
getGlobalLock: () => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").acquireNonceLockForChainIdKey({
|
|
2174
2153
|
chainId,
|
|
2175
2154
|
}),
|
|
2176
|
-
getNetworkClientId: () => networkClientId,
|
|
2177
2155
|
getTransactions: () => this.state.transactions,
|
|
2178
2156
|
hooks: {
|
|
2179
2157
|
beforeCheckPendingTransaction: __classPrivateFieldGet(this, _TransactionController_beforeCheckPendingTransaction, "f").bind(this),
|
|
@@ -2181,7 +2159,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2181
2159
|
isResubmitEnabled: __classPrivateFieldGet(this, _TransactionController_pendingTransactionOptions, "f").isResubmitEnabled,
|
|
2182
2160
|
isTimeoutEnabled: __classPrivateFieldGet(this, _TransactionController_isTimeoutEnabled, "f"),
|
|
2183
2161
|
messenger: this.messenger,
|
|
2184
|
-
|
|
2162
|
+
networkClientId,
|
|
2163
|
+
publishTransaction: (transactionMeta) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta, {
|
|
2185
2164
|
skipSubmitHistory: true,
|
|
2186
2165
|
}),
|
|
2187
2166
|
});
|
|
@@ -2209,9 +2188,9 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2209
2188
|
], address, chainId);
|
|
2210
2189
|
const externalPendingTransactions = __classPrivateFieldGet(this, _TransactionController_getExternalPendingTransactions, "f").call(this, address, chainId);
|
|
2211
2190
|
return [...standardPendingTransactions, ...externalPendingTransactions];
|
|
2212
|
-
}, _TransactionController_publishTransactionForRetry = async function _TransactionController_publishTransactionForRetry(
|
|
2191
|
+
}, _TransactionController_publishTransactionForRetry = async function _TransactionController_publishTransactionForRetry(transactionMeta) {
|
|
2213
2192
|
try {
|
|
2214
|
-
return await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this,
|
|
2193
|
+
return await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, transactionMeta);
|
|
2215
2194
|
}
|
|
2216
2195
|
catch (error) {
|
|
2217
2196
|
if (__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isTransactionAlreadyConfirmedError).call(this, error)) {
|
|
@@ -2279,7 +2258,8 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2279
2258
|
const balanceChangesResult = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Simulate', parentContext: traceContext }, () => getBalanceChanges({
|
|
2280
2259
|
blockTime,
|
|
2281
2260
|
chainId,
|
|
2282
|
-
|
|
2261
|
+
messenger: this.messenger,
|
|
2262
|
+
networkClientId,
|
|
2283
2263
|
getSimulationConfig: (url, opts) => {
|
|
2284
2264
|
return __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f").call(this, url, {
|
|
2285
2265
|
txMeta: transactionMeta,
|
|
@@ -2380,13 +2360,10 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2380
2360
|
submitHistory.unshift(submitHistoryEntry);
|
|
2381
2361
|
});
|
|
2382
2362
|
}, _TransactionController_updateGasEstimate = async function _TransactionController_updateGasEstimate(transactionMeta) {
|
|
2383
|
-
const {
|
|
2363
|
+
const { networkClientId } = transactionMeta;
|
|
2384
2364
|
const isCustomNetwork = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({ networkClientId })
|
|
2385
2365
|
.configuration.type === NetworkClientType.Custom;
|
|
2386
|
-
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
2387
2366
|
await updateGas({
|
|
2388
|
-
chainId,
|
|
2389
|
-
ethQuery,
|
|
2390
2367
|
isCustomNetwork,
|
|
2391
2368
|
isSimulationEnabled: __classPrivateFieldGet(this, _TransactionController_isSimulationEnabled, "f").call(this),
|
|
2392
2369
|
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
@@ -2465,14 +2442,15 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2465
2442
|
updateTransaction(txMeta);
|
|
2466
2443
|
});
|
|
2467
2444
|
log('Updated transaction with afterSimulate data', updatedTransactionMeta);
|
|
2468
|
-
}, _TransactionController_defaultPublishHook = async function _TransactionController_defaultPublishHook({
|
|
2445
|
+
}, _TransactionController_defaultPublishHook = async function _TransactionController_defaultPublishHook({ networkClientId, publishHookOverride, traceContext, }, transactionMeta, signedTx) {
|
|
2469
2446
|
let transactionHash;
|
|
2470
2447
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Publish', parentContext: traceContext }, async () => {
|
|
2471
2448
|
const publishHook = publishHookOverride ?? __classPrivateFieldGet(this, _TransactionController_publish, "f");
|
|
2472
2449
|
({ transactionHash } = await publishHook(transactionMeta, signedTx));
|
|
2473
2450
|
// eslint-disable-next-line require-atomic-updates
|
|
2474
|
-
transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this,
|
|
2451
|
+
transactionHash ?? (transactionHash = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_publishTransaction).call(this, {
|
|
2475
2452
|
...transactionMeta,
|
|
2453
|
+
networkClientId,
|
|
2476
2454
|
rawTx: signedTx,
|
|
2477
2455
|
}));
|
|
2478
2456
|
});
|