@metamask/transaction-controller 61.2.0 → 62.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 +28 -1
- package/dist/TransactionController.cjs +65 -22
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +9 -2
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +9 -2
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +66 -23
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +21 -0
- package/dist/types.d.cts.map +1 -1
- package/dist/types.d.mts +21 -0
- package/dist/types.d.mts.map +1 -1
- package/dist/types.mjs.map +1 -1
- package/dist/utils/balance-changes.cjs +3 -4
- package/dist/utils/balance-changes.cjs.map +1 -1
- package/dist/utils/balance-changes.d.cts.map +1 -1
- package/dist/utils/balance-changes.d.mts.map +1 -1
- package/dist/utils/balance-changes.mjs +4 -5
- package/dist/utils/balance-changes.mjs.map +1 -1
- package/dist/utils/balance.cjs +40 -0
- package/dist/utils/balance.cjs.map +1 -0
- package/dist/utils/balance.d.cts +23 -0
- package/dist/utils/balance.d.cts.map +1 -0
- package/dist/utils/balance.d.mts +23 -0
- package/dist/utils/balance.d.mts.map +1 -0
- package/dist/utils/balance.mjs +35 -0
- package/dist/utils/balance.mjs.map +1 -0
- package/dist/utils/batch.cjs +2 -1
- package/dist/utils/batch.cjs.map +1 -1
- package/dist/utils/batch.mjs +2 -1
- package/dist/utils/batch.mjs.map +1 -1
- package/dist/utils/gas-fee-tokens.cjs +39 -1
- package/dist/utils/gas-fee-tokens.cjs.map +1 -1
- package/dist/utils/gas-fee-tokens.d.cts +16 -0
- package/dist/utils/gas-fee-tokens.d.cts.map +1 -1
- package/dist/utils/gas-fee-tokens.d.mts +16 -0
- package/dist/utils/gas-fee-tokens.d.mts.map +1 -1
- package/dist/utils/gas-fee-tokens.mjs +37 -0
- package/dist/utils/gas-fee-tokens.mjs.map +1 -1
- package/package.json +12 -11
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [62.0.0]
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Add `TransactionController:getGasFeeTokens` messenger action ([#7197](https://github.com/MetaMask/core/pull/7197))
|
|
15
|
+
- Add `TransactionControllerGetGasFeeTokensAction` and `GetGasFeeTokensRequest` types.
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- Bump `@metamask/controller-utils` from `^11.15.0` to `^11.16.0` ([#7202](https://github.com/MetaMask/core/pull/7202))
|
|
20
|
+
- **BREAKING:** Bump `@metamask/network-controller` from `^25.0.0` to `^26.0.0` ([#7202](https://github.com/MetaMask/core/pull/7202))
|
|
21
|
+
- **BREAKING:** Bump `@metamask/gas-fee-controller` from `^25.0.0` to `^26.0.0` ([#7202](https://github.com/MetaMask/core/pull/7202))
|
|
22
|
+
- **BREAKING:** Bump `@metamask/accounts-controller` from `^34.0.0` to `^35.0.0` ([#7202](https://github.com/MetaMask/core/pull/7202))
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
|
|
26
|
+
- Always run `beforeSign` hook even if using `gasFeeToken` and `isGasFeeTokenIgnoredIfBalance` ([#7172](https://github.com/MetaMask/core/pull/7172))
|
|
27
|
+
|
|
28
|
+
## [61.3.0]
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
|
|
32
|
+
- Add optional `gasFeeToken` property to `addTransaction` and `addTransactionBatch` methods ([#7123](https://github.com/MetaMask/core/pull/7123))
|
|
33
|
+
- Also add optional `gasFeeToken` and `isGasFeeTokenIgnoredIfBalance` properties to `TransactionMeta`.
|
|
34
|
+
|
|
10
35
|
## [61.2.0]
|
|
11
36
|
|
|
12
37
|
### Added
|
|
@@ -1927,7 +1952,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
1927
1952
|
|
|
1928
1953
|
All changes listed after this point were applied to this package following the monorepo conversion.
|
|
1929
1954
|
|
|
1930
|
-
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@
|
|
1955
|
+
[Unreleased]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@62.0.0...HEAD
|
|
1956
|
+
[62.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@61.3.0...@metamask/transaction-controller@62.0.0
|
|
1957
|
+
[61.3.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@61.2.0...@metamask/transaction-controller@61.3.0
|
|
1931
1958
|
[61.2.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@61.1.0...@metamask/transaction-controller@61.2.0
|
|
1932
1959
|
[61.1.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@61.0.0...@metamask/transaction-controller@61.1.0
|
|
1933
1960
|
[61.0.0]: https://github.com/MetaMask/core/compare/@metamask/transaction-controller@60.10.0...@metamask/transaction-controller@61.0.0
|
|
@@ -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, _TransactionController_getGasFeeTokensAction;
|
|
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,
|
|
@@ -1575,6 +1577,15 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1575
1577
|
}
|
|
1576
1578
|
__classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").add(transactionId);
|
|
1577
1579
|
clearApprovingTransactionId = () => __classPrivateFieldGet(this, _TransactionController_approvingTransactionIds, "f").delete(transactionId);
|
|
1580
|
+
const { networkClientId } = transactionMeta;
|
|
1581
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1582
|
+
await (0, gas_fee_tokens_1.checkGasFeeTokenBeforePublish)({
|
|
1583
|
+
ethQuery,
|
|
1584
|
+
fetchGasFeeTokens: async (tx) => (await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, tx)).gasFeeTokens,
|
|
1585
|
+
transaction: transactionMeta,
|
|
1586
|
+
updateTransaction: (txId, fn) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId: txId }, fn),
|
|
1587
|
+
});
|
|
1588
|
+
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
1578
1589
|
const [nonce, releaseNonce] = await (0, nonce_1.getNextNonce)(transactionMeta, (address) => __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNonceLock(address, transactionMeta.networkClientId));
|
|
1579
1590
|
clearNonceLock = releaseNonce;
|
|
1580
1591
|
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
@@ -1593,6 +1604,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1593
1604
|
});
|
|
1594
1605
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_onTransactionStatusChange).call(this, transactionMeta);
|
|
1595
1606
|
const rawTx = await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Sign', parentContext: traceContext }, () => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_signTransaction).call(this, transactionMeta));
|
|
1607
|
+
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
1596
1608
|
if (!(await __classPrivateFieldGet(this, _TransactionController_beforePublish, "f").call(this, transactionMeta))) {
|
|
1597
1609
|
(0, logger_1.projectLogger)('Skipping publishing transaction based on hook');
|
|
1598
1610
|
this.messenger.publish(`${controllerName}:transactionPublishingSkipped`, transactionMeta);
|
|
@@ -1601,8 +1613,6 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1601
1613
|
if (!rawTx && !transactionMeta.isExternalSign) {
|
|
1602
1614
|
return ApprovalState.NotApproved;
|
|
1603
1615
|
}
|
|
1604
|
-
const { networkClientId } = transactionMeta;
|
|
1605
|
-
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1606
1616
|
let preTxBalance;
|
|
1607
1617
|
const shouldUpdatePreTxBalance = transactionMeta.type === types_1.TransactionType.swap;
|
|
1608
1618
|
if (shouldUpdatePreTxBalance) {
|
|
@@ -1907,8 +1917,26 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1907
1917
|
const currentNetworkIsEIP1559Compatible = await __classPrivateFieldGet(this, _TransactionController_getCurrentNetworkEIP1559Compatibility, "f").call(this, networkClientId);
|
|
1908
1918
|
const currentAccountIsEIP1559Compatible = await __classPrivateFieldGet(this, _TransactionController_getCurrentAccountEIP1559Compatibility, "f").call(this);
|
|
1909
1919
|
return (currentNetworkIsEIP1559Compatible && currentAccountIsEIP1559Compatible);
|
|
1910
|
-
}, _TransactionController_signTransaction = async function _TransactionController_signTransaction(
|
|
1911
|
-
|
|
1920
|
+
}, _TransactionController_signTransaction = async function _TransactionController_signTransaction(originalTransactionMeta) {
|
|
1921
|
+
let transactionMeta = originalTransactionMeta;
|
|
1922
|
+
const { id: transactionId } = transactionMeta;
|
|
1923
|
+
(0, logger_1.projectLogger)('Calling before sign hook', transactionMeta);
|
|
1924
|
+
const { updateTransaction } = (await __classPrivateFieldGet(this, _TransactionController_beforeSign, "f").call(this, { transactionMeta })) ?? {};
|
|
1925
|
+
if (updateTransaction) {
|
|
1926
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true, note: 'beforeSign Hook' }, updateTransaction);
|
|
1927
|
+
(0, logger_1.projectLogger)('Updated transaction after before sign hook');
|
|
1928
|
+
}
|
|
1929
|
+
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
1930
|
+
const { networkClientId } = transactionMeta;
|
|
1931
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1932
|
+
await (0, gas_fee_tokens_1.checkGasFeeTokenBeforePublish)({
|
|
1933
|
+
ethQuery,
|
|
1934
|
+
fetchGasFeeTokens: async (tx) => (await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, tx)).gasFeeTokens,
|
|
1935
|
+
transaction: transactionMeta,
|
|
1936
|
+
updateTransaction: (txId, fn) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId: txId }, fn),
|
|
1937
|
+
});
|
|
1938
|
+
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
1939
|
+
const { chainId, isExternalSign, txParams } = transactionMeta;
|
|
1912
1940
|
if (isExternalSign) {
|
|
1913
1941
|
(0, logger_1.projectLogger)('Skipping sign as signed externally');
|
|
1914
1942
|
return undefined;
|
|
@@ -1924,12 +1952,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
1924
1952
|
txMeta.txParams.authorizationList = signedAuthorizationList;
|
|
1925
1953
|
});
|
|
1926
1954
|
}
|
|
1927
|
-
(
|
|
1928
|
-
const { updateTransaction } = (await __classPrivateFieldGet(this, _TransactionController_beforeSign, "f").call(this, { transactionMeta })) ?? {};
|
|
1929
|
-
if (updateTransaction) {
|
|
1930
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, { transactionId, skipResimulateCheck: true, note: 'beforeSign Hook' }, updateTransaction);
|
|
1931
|
-
(0, logger_1.projectLogger)('Updated transaction after before sign hook');
|
|
1932
|
-
}
|
|
1955
|
+
transactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
1933
1956
|
const finalTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransactionOrThrow).call(this, transactionId);
|
|
1934
1957
|
const { txParams: finalTxParams } = finalTransactionMeta;
|
|
1935
1958
|
const unsignedEthTx = (0, prepare_1.prepareTransaction)(chainId, finalTxParams);
|
|
@@ -2148,14 +2171,7 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2148
2171
|
isUpdatedAfterSecurityCheck: true,
|
|
2149
2172
|
};
|
|
2150
2173
|
}
|
|
2151
|
-
const gasFeeTokensResponse = await (
|
|
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
|
-
});
|
|
2174
|
+
const gasFeeTokensResponse = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, transactionMeta);
|
|
2159
2175
|
gasFeeTokens = gasFeeTokensResponse?.gasFeeTokens ?? [];
|
|
2160
2176
|
isGasFeeSponsored = gasFeeTokensResponse?.isGasFeeSponsored ?? false;
|
|
2161
2177
|
}
|
|
@@ -2253,13 +2269,14 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2253
2269
|
this.messenger.registerActionHandler(`${controllerName}:addTransaction`, this.addTransaction.bind(this));
|
|
2254
2270
|
this.messenger.registerActionHandler(`${controllerName}:addTransactionBatch`, this.addTransactionBatch.bind(this));
|
|
2255
2271
|
this.messenger.registerActionHandler(`${controllerName}:confirmExternalTransaction`, this.confirmExternalTransaction.bind(this));
|
|
2272
|
+
this.messenger.registerActionHandler(`${controllerName}:emulateNewTransaction`, this.emulateNewTransaction.bind(this));
|
|
2273
|
+
this.messenger.registerActionHandler(`${controllerName}:emulateTransactionUpdate`, this.emulateTransactionUpdate.bind(this));
|
|
2256
2274
|
this.messenger.registerActionHandler(`${controllerName}:estimateGas`, this.estimateGas.bind(this));
|
|
2275
|
+
this.messenger.registerActionHandler(`${controllerName}:getGasFeeTokens`, __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokensAction).bind(this));
|
|
2257
2276
|
this.messenger.registerActionHandler(`${controllerName}:getNonceLock`, this.getNonceLock.bind(this));
|
|
2258
2277
|
this.messenger.registerActionHandler(`${controllerName}:getTransactions`, this.getTransactions.bind(this));
|
|
2259
2278
|
this.messenger.registerActionHandler(`${controllerName}:updateCustodialTransaction`, this.updateCustodialTransaction.bind(this));
|
|
2260
2279
|
this.messenger.registerActionHandler(`${controllerName}:updateTransaction`, this.updateTransaction.bind(this));
|
|
2261
|
-
this.messenger.registerActionHandler(`${controllerName}:emulateNewTransaction`, this.emulateNewTransaction.bind(this));
|
|
2262
|
-
this.messenger.registerActionHandler(`${controllerName}:emulateTransactionUpdate`, this.emulateTransactionUpdate.bind(this));
|
|
2263
2280
|
}, _TransactionController_deleteTransaction = function _TransactionController_deleteTransaction(transactionId) {
|
|
2264
2281
|
this.update((state) => {
|
|
2265
2282
|
const transactions = state.transactions.filter(({ id }) => id !== transactionId);
|
|
@@ -2346,5 +2363,31 @@ async function _TransactionController_approveTransaction(transactionId, traceCon
|
|
|
2346
2363
|
});
|
|
2347
2364
|
(0, logger_1.projectLogger)('Publish successful', transactionHash);
|
|
2348
2365
|
return { transactionHash };
|
|
2366
|
+
}, _TransactionController_getGasFeeTokens = async function _TransactionController_getGasFeeTokens(transaction) {
|
|
2367
|
+
const { chainId } = transaction;
|
|
2368
|
+
return await (0, gas_fee_tokens_1.getGasFeeTokens)({
|
|
2369
|
+
chainId,
|
|
2370
|
+
getSimulationConfig: __classPrivateFieldGet(this, _TransactionController_getSimulationConfig, "f"),
|
|
2371
|
+
isEIP7702GasFeeTokensEnabled: __classPrivateFieldGet(this, _TransactionController_isEIP7702GasFeeTokensEnabled, "f"),
|
|
2372
|
+
messenger: this.messenger,
|
|
2373
|
+
publicKeyEIP7702: __classPrivateFieldGet(this, _TransactionController_publicKeyEIP7702, "f"),
|
|
2374
|
+
transactionMeta: transaction,
|
|
2375
|
+
});
|
|
2376
|
+
}, _TransactionController_getGasFeeTokensAction = async function _TransactionController_getGasFeeTokensAction(request) {
|
|
2377
|
+
const { chainId, data, from, to, value } = request;
|
|
2378
|
+
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { chainId });
|
|
2379
|
+
const delegationAddress = await (0, eip7702_1.getDelegationAddress)(from, ethQuery);
|
|
2380
|
+
const transaction = {
|
|
2381
|
+
chainId,
|
|
2382
|
+
delegationAddress,
|
|
2383
|
+
txParams: {
|
|
2384
|
+
data,
|
|
2385
|
+
from,
|
|
2386
|
+
to,
|
|
2387
|
+
value,
|
|
2388
|
+
},
|
|
2389
|
+
};
|
|
2390
|
+
const result = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getGasFeeTokens).call(this, transaction);
|
|
2391
|
+
return result.gasFeeTokens;
|
|
2349
2392
|
};
|
|
2350
2393
|
//# sourceMappingURL=TransactionController.cjs.map
|