@metamask-previews/transaction-controller 61.1.0-preview-e2a66c7a → 61.1.0-preview-02caee59

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/TransactionController.cjs +22 -10
  2. package/dist/TransactionController.cjs.map +1 -1
  3. package/dist/TransactionController.d.cts.map +1 -1
  4. package/dist/TransactionController.d.mts.map +1 -1
  5. package/dist/TransactionController.mjs +23 -11
  6. package/dist/TransactionController.mjs.map +1 -1
  7. package/dist/types.cjs.map +1 -1
  8. package/dist/types.d.cts +6 -0
  9. package/dist/types.d.cts.map +1 -1
  10. package/dist/types.d.mts +6 -0
  11. package/dist/types.d.mts.map +1 -1
  12. package/dist/types.mjs.map +1 -1
  13. package/dist/utils/balance-changes.cjs +3 -4
  14. package/dist/utils/balance-changes.cjs.map +1 -1
  15. package/dist/utils/balance-changes.d.cts.map +1 -1
  16. package/dist/utils/balance-changes.d.mts.map +1 -1
  17. package/dist/utils/balance-changes.mjs +4 -5
  18. package/dist/utils/balance-changes.mjs.map +1 -1
  19. package/dist/utils/balance.cjs +40 -0
  20. package/dist/utils/balance.cjs.map +1 -0
  21. package/dist/utils/balance.d.cts +23 -0
  22. package/dist/utils/balance.d.cts.map +1 -0
  23. package/dist/utils/balance.d.mts +23 -0
  24. package/dist/utils/balance.d.mts.map +1 -0
  25. package/dist/utils/balance.mjs +35 -0
  26. package/dist/utils/balance.mjs.map +1 -0
  27. package/dist/utils/batch.cjs +2 -1
  28. package/dist/utils/batch.cjs.map +1 -1
  29. package/dist/utils/batch.mjs +2 -1
  30. package/dist/utils/batch.mjs.map +1 -1
  31. package/dist/utils/gas-fee-tokens.cjs +34 -1
  32. package/dist/utils/gas-fee-tokens.cjs.map +1 -1
  33. package/dist/utils/gas-fee-tokens.d.cts +16 -0
  34. package/dist/utils/gas-fee-tokens.d.cts.map +1 -1
  35. package/dist/utils/gas-fee-tokens.d.mts +16 -0
  36. package/dist/utils/gas-fee-tokens.d.mts.map +1 -1
  37. package/dist/utils/gas-fee-tokens.mjs +32 -0
  38. package/dist/utils/gas-fee-tokens.mjs.map +1 -1
  39. package/package.json +2 -1
@@ -13,7 +13,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
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_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _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_transactionHistoryLimit, _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_getTransactionWithActionId, _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;
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_isHistoryDisabled, _TransactionController_isSendFlowHistoryDisabled, _TransactionController_isSimulationEnabled, _TransactionController_isSwapsDisabled, _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_transactionHistoryLimit, _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_getTransactionWithActionId, _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;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.TransactionController = exports.ApprovalState = exports.SPEED_UP_RATE = exports.CANCEL_RATE = void 0;
19
19
  const base_controller_1 = require("@metamask/base-controller");
@@ -378,7 +378,7 @@ class TransactionController extends base_controller_1.BaseController {
378
378
  */
379
379
  async addTransaction(txParams, options) {
380
380
  (0, logger_1.projectLogger)('Adding transaction', txParams, options);
381
- const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requireApproval, securityAlertResponse, sendFlowHistory, swaps = {}, traceContext, type, } = options;
381
+ const { actionId, assetsFiatValues, batchId, deviceConfirmedOn, disableGasBuffer, gasFeeToken, isGasFeeIncluded, isGasFeeSponsored, method, nestedTransactions, networkClientId, origin, publishHook, requireApproval, securityAlertResponse, sendFlowHistory, swaps = {}, traceContext, type, } = options;
382
382
  txParams = (0, utils_2.normalizeTransactionParams)(txParams);
383
383
  if (!__classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").has(networkClientId)) {
384
384
  throw new Error(`Network client not found - ${networkClientId}`);
@@ -430,6 +430,7 @@ class TransactionController extends base_controller_1.BaseController {
430
430
  deviceConfirmedOn,
431
431
  disableGasBuffer,
432
432
  id: (0, uuid_1.v1)(),
433
+ isGasFeeTokenIgnoredIfBalance: Boolean(gasFeeToken),
433
434
  isGasFeeIncluded,
434
435
  isGasFeeSponsored,
435
436
  isFirstTimeInteraction: undefined,
@@ -437,6 +438,7 @@ class TransactionController extends base_controller_1.BaseController {
437
438
  networkClientId,
438
439
  origin,
439
440
  securityAlertResponse,
441
+ selectedGasFeeToken: gasFeeToken,
440
442
  status: types_1.TransactionStatus.unapproved,
441
443
  time: Date.now(),
442
444
  txParams,
@@ -1611,6 +1613,13 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
1611
1613
  transactionMeta.txParams.from,
1612
1614
  ]);
1613
1615
  }
1616
+ await (0, gas_fee_tokens_1.checkGasFeeTokenBeforePublish)({
1617
+ ethQuery,
1618
+ fetchGasFeeTokens: async (tx) => (await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, tx)).gasFeeTokens,
1619
+ transaction: transactionMeta,
1620
+ updateTransaction: (txId, fn) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId: txId }, fn),
1621
+ });
1622
+ transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
1614
1623
  (0, logger_1.projectLogger)('Publishing transaction', transactionMeta.txParams);
1615
1624
  clearNonceLock?.();
1616
1625
  clearNonceLock = undefined;
@@ -2148,14 +2157,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2148
2157
  isUpdatedAfterSecurityCheck: true,
2149
2158
  };
2150
2159
  }
2151
- const gasFeeTokensResponse = await (0, gas_fee_tokens_1.getGasFeeTokens)({
2152
- chainId,
2153
- getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
2154
- isEIP7702GasFeeTokensEnabled: __classPrivateFieldGet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, "f"),
2155
- messenger: this.messenger,
2156
- publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
2157
- transactionMeta,
2158
- });
2160
+ const gasFeeTokensResponse = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, transactionMeta);
2159
2161
  gasFeeTokens = gasFeeTokensResponse?.gasFeeTokens ?? [];
2160
2162
  isGasFeeSponsored = gasFeeTokensResponse?.isGasFeeSponsored ?? false;
2161
2163
  }
@@ -2346,5 +2348,15 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
2346
2348
  });
2347
2349
  (0, logger_1.projectLogger)('Publish successful', transactionHash);
2348
2350
  return { transactionHash };
2351
+ }, _TransactionController_getGasFeeTokens = async function _TransactionController_getGasFeeTokens(transaction) {
2352
+ const { chainId } = transaction;
2353
+ return await (0, gas_fee_tokens_1.getGasFeeTokens)({
2354
+ chainId,
2355
+ getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
2356
+ isEIP7702GasFeeTokensEnabled: __classPrivateFieldGet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, "f"),
2357
+ messenger: this.messenger,
2358
+ publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
2359
+ transactionMeta: transaction,
2360
+ });
2349
2361
  };
2350
2362
  //# sourceMappingURL=TransactionController.cjs.map