@metamask-previews/transaction-controller 46.0.0-preview-90578fc4 → 46.0.0-preview-af470a9
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 +0 -1
- package/dist/TransactionController.cjs +11 -65
- package/dist/TransactionController.cjs.map +1 -1
- package/dist/TransactionController.d.cts +0 -14
- package/dist/TransactionController.d.cts.map +1 -1
- package/dist/TransactionController.d.mts +0 -14
- package/dist/TransactionController.d.mts.map +1 -1
- package/dist/TransactionController.mjs +12 -66
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/utils/validation.cjs +5 -3
- package/dist/utils/validation.cjs.map +1 -1
- package/dist/utils/validation.d.cts +3 -1
- package/dist/utils/validation.d.cts.map +1 -1
- package/dist/utils/validation.d.mts +3 -1
- package/dist/utils/validation.d.mts.map +1 -1
- package/dist/utils/validation.mjs +5 -3
- package/dist/utils/validation.mjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -9,7 +9,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
9
9
|
|
|
10
10
|
### Added
|
|
11
11
|
|
|
12
|
-
- Add `updateAtomicBatchData` method ([#5380](https://github.com/MetaMask/core/pull/5380))
|
|
13
12
|
- Support atomic batch transactions ([#5306](https://github.com/MetaMask/core/pull/5306))
|
|
14
13
|
- Add methods:
|
|
15
14
|
- `addTransactionBatch`
|
|
@@ -13,7 +13,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || 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_internalEvents, _TransactionController_methodDataHelper, _TransactionController_incomingTransactionChainIds, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_testGasFeeFlows, _TransactionController_multichainTrackingHelper, _TransactionController_retryTransaction, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateFirstTimeInteraction, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory
|
|
16
|
+
var _TransactionController_instances, _TransactionController_internalEvents, _TransactionController_methodDataHelper, _TransactionController_incomingTransactionChainIds, _TransactionController_incomingTransactionHelper, _TransactionController_incomingTransactionOptions, _TransactionController_pendingTransactionOptions, _TransactionController_trace, _TransactionController_transactionHistoryLimit, _TransactionController_isFirstTimeInteractionEnabled, _TransactionController_isSimulationEnabled, _TransactionController_testGasFeeFlows, _TransactionController_multichainTrackingHelper, _TransactionController_retryTransaction, _TransactionController_getChainId, _TransactionController_getNetworkClientId, _TransactionController_getEthQuery, _TransactionController_getProvider, _TransactionController_createNonceTracker, _TransactionController_createPendingTransactionTracker, _TransactionController_checkForPendingTransactionAndStartPolling, _TransactionController_stopAllTracking, _TransactionController_addIncomingTransactionHelperListeners, _TransactionController_removePendingTransactionTrackerListeners, _TransactionController_addPendingTransactionTrackerListeners, _TransactionController_getNonceTrackerPendingTransactions, _TransactionController_getGasFeeFlows, _TransactionController_getLayer1GasFeeFlows, _TransactionController_updateTransactionInternal, _TransactionController_updateFirstTimeInteraction, _TransactionController_updateSimulationData, _TransactionController_onGasFeePollerTransactionUpdate, _TransactionController_getSelectedAccount, _TransactionController_getInternalAccounts, _TransactionController_updateSubmitHistory;
|
|
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");
|
|
@@ -372,6 +372,7 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
372
372
|
const selectedAddress = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getSelectedAccount).call(this).address;
|
|
373
373
|
const internalAccounts = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getInternalAccounts).call(this);
|
|
374
374
|
await (0, validation_1.validateTransactionOrigin)({
|
|
375
|
+
data: txParams.data,
|
|
375
376
|
from: txParams.from,
|
|
376
377
|
internalAccounts,
|
|
377
378
|
origin,
|
|
@@ -1103,54 +1104,6 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1103
1104
|
abortCallback();
|
|
1104
1105
|
this.signAbortCallbacks.delete(transactionId);
|
|
1105
1106
|
}
|
|
1106
|
-
/**
|
|
1107
|
-
* Update the transaction data of a single nested transaction within an atomic batch transaction.
|
|
1108
|
-
*
|
|
1109
|
-
* @param options - The options bag.
|
|
1110
|
-
* @param options.transactionId - ID of the atomic batch transaction.
|
|
1111
|
-
* @param options.transactionIndex - Index of the nested transaction within the atomic batch transaction.
|
|
1112
|
-
* @param options.transactionData - New data to set for the nested transaction.
|
|
1113
|
-
* @returns The updated data for the atomic batch transaction.
|
|
1114
|
-
*/
|
|
1115
|
-
async updateAtomicBatchData({ transactionId, transactionIndex, transactionData, }) {
|
|
1116
|
-
(0, logger_1.projectLogger)('Updating atomic batch data', {
|
|
1117
|
-
transactionId,
|
|
1118
|
-
transactionIndex,
|
|
1119
|
-
transactionData,
|
|
1120
|
-
});
|
|
1121
|
-
const updatedTransactionMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1122
|
-
transactionId,
|
|
1123
|
-
note: 'TransactionController#updateAtomicBatchData - Atomic batch data updated',
|
|
1124
|
-
}, (transactionMeta) => {
|
|
1125
|
-
const { nestedTransactions, txParams } = transactionMeta;
|
|
1126
|
-
const from = txParams.from;
|
|
1127
|
-
const nestedTransaction = nestedTransactions?.[transactionIndex];
|
|
1128
|
-
if (!nestedTransaction) {
|
|
1129
|
-
throw new Error(`Nested transaction not found with index - ${transactionIndex}`);
|
|
1130
|
-
}
|
|
1131
|
-
nestedTransaction.data = transactionData;
|
|
1132
|
-
const batchTransaction = (0, eip7702_1.generateEIP7702BatchTransaction)(from, nestedTransactions);
|
|
1133
|
-
transactionMeta.txParams.data = batchTransaction.data;
|
|
1134
|
-
});
|
|
1135
|
-
const draftTransaction = (0, lodash_1.cloneDeep)({
|
|
1136
|
-
...updatedTransactionMeta,
|
|
1137
|
-
txParams: {
|
|
1138
|
-
...updatedTransactionMeta.txParams,
|
|
1139
|
-
// Clear existing gas to force estimation
|
|
1140
|
-
gas: undefined,
|
|
1141
|
-
},
|
|
1142
|
-
});
|
|
1143
|
-
await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasEstimate).call(this, draftTransaction);
|
|
1144
|
-
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1145
|
-
transactionId,
|
|
1146
|
-
note: 'TransactionController#updateAtomicBatchData - Gas estimate updated',
|
|
1147
|
-
}, (transactionMeta) => {
|
|
1148
|
-
transactionMeta.txParams.gas = draftTransaction.txParams.gas;
|
|
1149
|
-
transactionMeta.simulationFails = draftTransaction.simulationFails;
|
|
1150
|
-
transactionMeta.gasLimitNoBuffer = draftTransaction.gasLimitNoBuffer;
|
|
1151
|
-
});
|
|
1152
|
-
return updatedTransactionMeta.txParams.data;
|
|
1153
|
-
}
|
|
1154
1107
|
addMetadata(transactionMeta) {
|
|
1155
1108
|
(0, validation_1.validateTxParams)(transactionMeta.txParams);
|
|
1156
1109
|
this.update((state) => {
|
|
@@ -1163,11 +1116,18 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
1163
1116
|
async updateGasProperties(transactionMeta, { traceContext } = {}) {
|
|
1164
1117
|
const isEIP1559Compatible = transactionMeta.txParams.type !== types_1.TransactionEnvelopeType.legacy &&
|
|
1165
1118
|
(await this.getEIP1559Compatibility(transactionMeta.networkClientId));
|
|
1166
|
-
const { networkClientId } = transactionMeta;
|
|
1119
|
+
const { networkClientId, chainId } = transactionMeta;
|
|
1120
|
+
const isCustomNetwork = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({ networkClientId })
|
|
1121
|
+
.configuration.type === network_controller_1.NetworkClientType.Custom;
|
|
1167
1122
|
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
1168
1123
|
const provider = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getProvider).call(this, { networkClientId });
|
|
1169
1124
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas', parentContext: traceContext }, async () => {
|
|
1170
|
-
await
|
|
1125
|
+
await (0, gas_1.updateGas)({
|
|
1126
|
+
ethQuery,
|
|
1127
|
+
chainId,
|
|
1128
|
+
isCustomNetwork,
|
|
1129
|
+
txMeta: transactionMeta,
|
|
1130
|
+
});
|
|
1171
1131
|
});
|
|
1172
1132
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Update Gas Fees', parentContext: traceContext }, async () => await (0, gas_fees_1.updateGasFees)({
|
|
1173
1133
|
eip1559: isEIP1559Compatible,
|
|
@@ -1929,9 +1889,6 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
|
|
|
1929
1889
|
let resimulateResponse;
|
|
1930
1890
|
this.update((state) => {
|
|
1931
1891
|
const index = state.transactions.findIndex(({ id }) => id === transactionId);
|
|
1932
|
-
if (index === -1) {
|
|
1933
|
-
throw new Error(`Cannot update transaction as ID not found - ${transactionId}`);
|
|
1934
|
-
}
|
|
1935
1892
|
let transactionMeta = state.transactions[index];
|
|
1936
1893
|
const originalTransactionMeta = (0, lodash_1.cloneDeep)(transactionMeta);
|
|
1937
1894
|
transactionMeta = callback(transactionMeta) ?? transactionMeta;
|
|
@@ -2087,16 +2044,5 @@ _TransactionController_internalEvents = new WeakMap(), _TransactionController_me
|
|
|
2087
2044
|
}
|
|
2088
2045
|
submitHistory.unshift(submitHistoryEntry);
|
|
2089
2046
|
});
|
|
2090
|
-
}, _TransactionController_updateGasEstimate = async function _TransactionController_updateGasEstimate(transactionMeta) {
|
|
2091
|
-
const { chainId, networkClientId } = transactionMeta;
|
|
2092
|
-
const isCustomNetwork = __classPrivateFieldGet(this, _TransactionController_multichainTrackingHelper, "f").getNetworkClient({ networkClientId })
|
|
2093
|
-
.configuration.type === network_controller_1.NetworkClientType.Custom;
|
|
2094
|
-
const ethQuery = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getEthQuery).call(this, { networkClientId });
|
|
2095
|
-
await (0, gas_1.updateGas)({
|
|
2096
|
-
chainId,
|
|
2097
|
-
ethQuery,
|
|
2098
|
-
isCustomNetwork,
|
|
2099
|
-
txMeta: transactionMeta,
|
|
2100
|
-
});
|
|
2101
2047
|
};
|
|
2102
2048
|
//# sourceMappingURL=TransactionController.cjs.map
|