@metamask-previews/transaction-controller 62.6.0-preview-cb4a07d5 → 62.6.0-preview-565dfca2
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 +4 -0
- package/dist/TransactionController.cjs +40 -1
- 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 +40 -1
- package/dist/TransactionController.mjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.cjs +3 -1
- package/dist/helpers/PendingTransactionTracker.cjs.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.cts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.d.mts.map +1 -1
- package/dist/helpers/PendingTransactionTracker.mjs +3 -1
- package/dist/helpers/PendingTransactionTracker.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -466,12 +466,26 @@ class TransactionController extends base_controller_1.BaseController {
|
|
|
466
466
|
addedTransactionMeta.txParamsOriginal = (0, lodash_1.cloneDeep)(addedTransactionMeta.txParams);
|
|
467
467
|
updateTransaction(addedTransactionMeta);
|
|
468
468
|
}
|
|
469
|
-
// eslint-disable-next-line no-negated-condition
|
|
470
469
|
if (!skipInitialGasEstimate) {
|
|
471
470
|
await __classPrivateFieldGet(this, _TransactionController_trace, "f").call(this, { name: 'Estimate Gas Properties', parentContext: traceContext }, (context) => __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasProperties).call(this, addedTransactionMeta, {
|
|
472
471
|
traceContext: context,
|
|
473
472
|
}));
|
|
474
473
|
}
|
|
474
|
+
else if (isEIP1559Compatible &&
|
|
475
|
+
addedTransactionMeta.txParams.gasPrice &&
|
|
476
|
+
!addedTransactionMeta.txParams.maxFeePerGas) {
|
|
477
|
+
// Convert legacy gasPrice to EIP-1559 fees for intent transactions on EIP-1559 networks
|
|
478
|
+
addedTransactionMeta.txParams.maxFeePerGas =
|
|
479
|
+
addedTransactionMeta.txParams.gasPrice;
|
|
480
|
+
addedTransactionMeta.txParams.maxPriorityFeePerGas =
|
|
481
|
+
addedTransactionMeta.txParams.gasPrice;
|
|
482
|
+
addedTransactionMeta.txParams.type = types_1.TransactionEnvelopeType.feeMarket;
|
|
483
|
+
delete addedTransactionMeta.txParams.gasPrice; // Remove legacy gas price
|
|
484
|
+
}
|
|
485
|
+
else if (!isEIP1559Compatible && addedTransactionMeta.txParams.gasPrice) {
|
|
486
|
+
// Ensure legacy type for non-EIP-1559 networks
|
|
487
|
+
addedTransactionMeta.txParams.type = types_1.TransactionEnvelopeType.legacy;
|
|
488
|
+
}
|
|
475
489
|
else {
|
|
476
490
|
const newTransactionMeta = (0, lodash_1.cloneDeep)(addedTransactionMeta);
|
|
477
491
|
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateGasProperties).call(this, newTransactionMeta)
|
|
@@ -1586,6 +1600,31 @@ _TransactionController_afterAdd = new WeakMap(), _TransactionController_afterSig
|
|
|
1586
1600
|
this.updateTransaction(updatedTransaction, 'TransactionController#processApproval - Updated with approval data');
|
|
1587
1601
|
}
|
|
1588
1602
|
}
|
|
1603
|
+
// For intent-based transactions (e.g., CoW intents) that are not meant to be
|
|
1604
|
+
// published on-chain by the TransactionController, skip the approve/publish flow.
|
|
1605
|
+
// These are tracked externally and should not be signed or sent.
|
|
1606
|
+
const isIntentTransaction = Boolean(
|
|
1607
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1608
|
+
__classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_getTransaction).call(this, transactionId)?.swapMetaData
|
|
1609
|
+
?.isIntentTx === true);
|
|
1610
|
+
if (requireApproval === false && isIntentTransaction) {
|
|
1611
|
+
const submittedTxMeta = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_updateTransactionInternal).call(this, {
|
|
1612
|
+
transactionId,
|
|
1613
|
+
note: 'TransactionController#processApproval - Intent transaction auto-submitted',
|
|
1614
|
+
skipValidation: true,
|
|
1615
|
+
}, (draftTxMeta) => {
|
|
1616
|
+
draftTxMeta.status = types_1.TransactionStatus.submitted;
|
|
1617
|
+
draftTxMeta.submittedTime = new Date().getTime();
|
|
1618
|
+
});
|
|
1619
|
+
this.messenger.publish(`${controllerName}:transactionSubmitted`, {
|
|
1620
|
+
transactionMeta: submittedTxMeta,
|
|
1621
|
+
});
|
|
1622
|
+
this.messenger.publish(`${controllerName}:transactionFinished`, submittedTxMeta);
|
|
1623
|
+
__classPrivateFieldGet(this, _TransactionController_internalEvents, "f").emit(`${transactionId}:finished`, submittedTxMeta);
|
|
1624
|
+
// Short-circuit normal flow; result callbacks will be handled by the
|
|
1625
|
+
// finished promise below.
|
|
1626
|
+
return ApprovalState.Approved;
|
|
1627
|
+
}
|
|
1589
1628
|
const { isCompleted: isTxCompleted } = __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_isTransactionCompleted).call(this, transactionId);
|
|
1590
1629
|
if (!isTxCompleted) {
|
|
1591
1630
|
const approvalResult = await __classPrivateFieldGet(this, _TransactionController_instances, "m", _TransactionController_approveTransaction).call(this, transactionId, traceContext, publishHook);
|