@metamask/smart-transactions-controller
Advanced tools
+8
-1
@@ -10,2 +10,8 @@ # Changelog | ||
| ## [22.5.0] | ||
| ### Changed | ||
| - Log the original transaction status ([#566](https://github.com/MetaMask/smart-transactions-controller/pull/566)) | ||
| ## [22.4.0] | ||
@@ -720,3 +726,4 @@ | ||
| [Unreleased]: https://github.com/MetaMask/smart-transactions-controller/compare/v22.4.0...HEAD | ||
| [Unreleased]: https://github.com/MetaMask/smart-transactions-controller/compare/v22.5.0...HEAD | ||
| [22.5.0]: https://github.com/MetaMask/smart-transactions-controller/compare/v22.4.0...v22.5.0 | ||
| [22.4.0]: https://github.com/MetaMask/smart-transactions-controller/compare/v22.3.0...v22.4.0 | ||
@@ -723,0 +730,0 @@ [22.3.0]: https://github.com/MetaMask/smart-transactions-controller/compare/v22.2.0...v22.3.0 |
+2
-1
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.selectSmartTransactionsFeatureFlagsForChain = exports.selectSmartTransactionsFeatureFlags = exports.getSmartTransactionMetricsSensitiveProperties = exports.getSmartTransactionMetricsProperties = exports.MetaMetricsEventCategory = exports.MetaMetricsEventName = exports.Kind = exports.Feature = exports.ClientId = exports.SmartTransactionStatuses = exports.SmartTransactionCancellationReason = exports.SmartTransactionMinedTx = exports.SmartTransactionsController = void 0; | ||
| exports.selectSmartTransactionsFeatureFlagsForChain = exports.selectSmartTransactionsFeatureFlags = exports.getSmartTransactionMetricsSensitiveProperties = exports.getSmartTransactionMetricsProperties = exports.MetaMetricsEventCategory = exports.MetaMetricsEventName = exports.Kind = exports.Feature = exports.ClientId = exports.OriginalTransactionStatus = exports.SmartTransactionStatuses = exports.SmartTransactionCancellationReason = exports.SmartTransactionMinedTx = exports.SmartTransactionsController = void 0; | ||
| var SmartTransactionsController_1 = require("./SmartTransactionsController.cjs"); | ||
@@ -10,2 +10,3 @@ Object.defineProperty(exports, "SmartTransactionsController", { enumerable: true, get: function () { return SmartTransactionsController_1.SmartTransactionsController; } }); | ||
| Object.defineProperty(exports, "SmartTransactionStatuses", { enumerable: true, get: function () { return types_1.SmartTransactionStatuses; } }); | ||
| Object.defineProperty(exports, "OriginalTransactionStatus", { enumerable: true, get: function () { return types_1.OriginalTransactionStatus; } }); | ||
| Object.defineProperty(exports, "ClientId", { enumerable: true, get: function () { return types_1.ClientId; } }); | ||
@@ -12,0 +13,0 @@ Object.defineProperty(exports, "Feature", { enumerable: true, get: function () { return types_1.Feature; } }); |
+1
-1
| export { SmartTransactionsController } from "./SmartTransactionsController.cjs"; | ||
| export type { SmartTransactionsControllerMessenger, SmartTransactionsControllerState, SmartTransactionsControllerGetStateAction, SmartTransactionsControllerActions, SmartTransactionsControllerStateChangeEvent, SmartTransactionsControllerSmartTransactionEvent, SmartTransactionsControllerSmartTransactionConfirmationDoneEvent, SmartTransactionsControllerEvents, } from "./SmartTransactionsController.cjs"; | ||
| export { type Fee, type Fees, type IndividualTxFees, type FeatureFlags, type SmartTransaction, type SentinelMeta, type SignedTransactionWithMetadata, type SmartTransactionsNetworkConfig, type SmartTransactionsFeatureFlagsConfig, SmartTransactionMinedTx, SmartTransactionCancellationReason, SmartTransactionStatuses, ClientId, Feature, Kind, } from "./types.cjs"; | ||
| export { type Fee, type Fees, type IndividualTxFees, type FeatureFlags, type SmartTransaction, type SentinelMeta, type SignedTransactionWithMetadata, type SmartTransactionsNetworkConfig, type SmartTransactionsFeatureFlagsConfig, SmartTransactionMinedTx, SmartTransactionCancellationReason, SmartTransactionStatuses, OriginalTransactionStatus, ClientId, Feature, Kind, } from "./types.cjs"; | ||
| export { MetaMetricsEventName, MetaMetricsEventCategory } from "./constants.cjs"; | ||
@@ -5,0 +5,0 @@ export { getSmartTransactionMetricsProperties, getSmartTransactionMetricsSensitiveProperties, } from "./utils.cjs"; |
+1
-1
| export { SmartTransactionsController } from "./SmartTransactionsController.mjs"; | ||
| export type { SmartTransactionsControllerMessenger, SmartTransactionsControllerState, SmartTransactionsControllerGetStateAction, SmartTransactionsControllerActions, SmartTransactionsControllerStateChangeEvent, SmartTransactionsControllerSmartTransactionEvent, SmartTransactionsControllerSmartTransactionConfirmationDoneEvent, SmartTransactionsControllerEvents, } from "./SmartTransactionsController.mjs"; | ||
| export { type Fee, type Fees, type IndividualTxFees, type FeatureFlags, type SmartTransaction, type SentinelMeta, type SignedTransactionWithMetadata, type SmartTransactionsNetworkConfig, type SmartTransactionsFeatureFlagsConfig, SmartTransactionMinedTx, SmartTransactionCancellationReason, SmartTransactionStatuses, ClientId, Feature, Kind, } from "./types.mjs"; | ||
| export { type Fee, type Fees, type IndividualTxFees, type FeatureFlags, type SmartTransaction, type SentinelMeta, type SignedTransactionWithMetadata, type SmartTransactionsNetworkConfig, type SmartTransactionsFeatureFlagsConfig, SmartTransactionMinedTx, SmartTransactionCancellationReason, SmartTransactionStatuses, OriginalTransactionStatus, ClientId, Feature, Kind, } from "./types.mjs"; | ||
| export { MetaMetricsEventName, MetaMetricsEventCategory } from "./constants.mjs"; | ||
@@ -5,0 +5,0 @@ export { getSmartTransactionMetricsProperties, getSmartTransactionMetricsSensitiveProperties, } from "./utils.mjs"; |
+1
-1
| export { SmartTransactionsController } from "./SmartTransactionsController.mjs"; | ||
| export { SmartTransactionMinedTx, SmartTransactionCancellationReason, SmartTransactionStatuses, ClientId, Feature, Kind } from "./types.mjs"; | ||
| export { SmartTransactionMinedTx, SmartTransactionCancellationReason, SmartTransactionStatuses, OriginalTransactionStatus, ClientId, Feature, Kind } from "./types.mjs"; | ||
| export { MetaMetricsEventName, MetaMetricsEventCategory } from "./constants.mjs"; | ||
@@ -4,0 +4,0 @@ export { getSmartTransactionMetricsProperties, getSmartTransactionMetricsSensitiveProperties } from "./utils.mjs"; |
+21
-1
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.cancellationReasonToStatusMap = exports.ClientId = exports.SmartTransactionStatuses = exports.SmartTransactionCancellationReason = exports.SmartTransactionMinedTx = exports.APIType = exports.Kind = exports.Feature = void 0; | ||
| exports.cancellationReasonToStatusMap = exports.OriginalTransactionStatus = exports.ClientId = exports.SmartTransactionStatuses = exports.SmartTransactionCancellationReason = exports.SmartTransactionMinedTx = exports.APIType = exports.Kind = exports.Feature = void 0; | ||
| // This list does not belong here, but as these are reported to tx-sentinel, it is ok to have it here for now. | ||
@@ -67,2 +67,22 @@ var Feature; | ||
| })(ClientId = exports.ClientId || (exports.ClientId = {})); | ||
| var OriginalTransactionStatus; | ||
| (function (OriginalTransactionStatus) { | ||
| OriginalTransactionStatus["PENDING"] = "PENDING"; | ||
| OriginalTransactionStatus["PENDING_CANCELLED"] = "PENDING_CANCELLED"; | ||
| OriginalTransactionStatus["VALIDATED"] = "VALIDATED"; | ||
| OriginalTransactionStatus["REVERTED"] = "REVERTED"; | ||
| OriginalTransactionStatus["NONCE_TOO_LOW"] = "NONCE_TOO_LOW"; | ||
| OriginalTransactionStatus["CANCELLED"] = "CANCELLED"; | ||
| OriginalTransactionStatus["FAILED"] = "FAILED"; | ||
| OriginalTransactionStatus["FAILED_WOULD_REVERT"] = "FAILED_WOULD_REVERT"; | ||
| OriginalTransactionStatus["FAILED_INSUFFICIENT_FUNDS"] = "FAILED_INSUFFICIENT_FUNDS"; | ||
| OriginalTransactionStatus["FAILED_UNKNOWN"] = "FAILED_UNKNOWN"; | ||
| OriginalTransactionStatus["FAILED_TIMEOUT"] = "FAILED_TIMEOUT"; | ||
| OriginalTransactionStatus["FAILED_GAS_TOO_LOW"] = "FAILED_GAS_TOO_LOW"; | ||
| OriginalTransactionStatus["FAILED_NONCE_TOO_HIGH"] = "FAILED_NONCE_TOO_HIGH"; | ||
| OriginalTransactionStatus["LEAKED_VALIDATED"] = "LEAKED_VALIDATED"; | ||
| OriginalTransactionStatus["LEAKED_REVERTED"] = "LEAKED_REVERTED"; | ||
| OriginalTransactionStatus["CANCELLED_LEAKED_VALIDATED"] = "CANCELLED_LEAKED_VALIDATED"; | ||
| OriginalTransactionStatus["CANCELLED_LEAKED_REVERTED"] = "CANCELLED_LEAKED_REVERTED"; | ||
| })(OriginalTransactionStatus = exports.OriginalTransactionStatus || (exports.OriginalTransactionStatus = {})); | ||
| exports.cancellationReasonToStatusMap = { | ||
@@ -69,0 +89,0 @@ [SmartTransactionCancellationReason.WOULD_REVERT]: SmartTransactionStatuses.CANCELLED, |
+20
-0
@@ -68,2 +68,21 @@ import type { NetworkClientId } from "@metamask/network-controller"; | ||
| } | ||
| export declare enum OriginalTransactionStatus { | ||
| PENDING = "PENDING", | ||
| PENDING_CANCELLED = "PENDING_CANCELLED", | ||
| VALIDATED = "VALIDATED", | ||
| REVERTED = "REVERTED", | ||
| NONCE_TOO_LOW = "NONCE_TOO_LOW", | ||
| CANCELLED = "CANCELLED", | ||
| FAILED = "FAILED", | ||
| FAILED_WOULD_REVERT = "FAILED_WOULD_REVERT", | ||
| FAILED_INSUFFICIENT_FUNDS = "FAILED_INSUFFICIENT_FUNDS", | ||
| FAILED_UNKNOWN = "FAILED_UNKNOWN", | ||
| FAILED_TIMEOUT = "FAILED_TIMEOUT", | ||
| FAILED_GAS_TOO_LOW = "FAILED_GAS_TOO_LOW", | ||
| FAILED_NONCE_TOO_HIGH = "FAILED_NONCE_TOO_HIGH", | ||
| LEAKED_VALIDATED = "LEAKED_VALIDATED", | ||
| LEAKED_REVERTED = "LEAKED_REVERTED", | ||
| CANCELLED_LEAKED_VALIDATED = "CANCELLED_LEAKED_VALIDATED", | ||
| CANCELLED_LEAKED_REVERTED = "CANCELLED_LEAKED_REVERTED" | ||
| } | ||
| export declare const cancellationReasonToStatusMap: { | ||
@@ -80,2 +99,3 @@ would_revert: SmartTransactionStatuses; | ||
| cancellationReason?: SmartTransactionCancellationReason; | ||
| originalTransactionStatus?: OriginalTransactionStatus; | ||
| deadlineRatio: number; | ||
@@ -82,0 +102,0 @@ minedHash: string; |
+20
-0
@@ -68,2 +68,21 @@ import type { NetworkClientId } from "@metamask/network-controller"; | ||
| } | ||
| export declare enum OriginalTransactionStatus { | ||
| PENDING = "PENDING", | ||
| PENDING_CANCELLED = "PENDING_CANCELLED", | ||
| VALIDATED = "VALIDATED", | ||
| REVERTED = "REVERTED", | ||
| NONCE_TOO_LOW = "NONCE_TOO_LOW", | ||
| CANCELLED = "CANCELLED", | ||
| FAILED = "FAILED", | ||
| FAILED_WOULD_REVERT = "FAILED_WOULD_REVERT", | ||
| FAILED_INSUFFICIENT_FUNDS = "FAILED_INSUFFICIENT_FUNDS", | ||
| FAILED_UNKNOWN = "FAILED_UNKNOWN", | ||
| FAILED_TIMEOUT = "FAILED_TIMEOUT", | ||
| FAILED_GAS_TOO_LOW = "FAILED_GAS_TOO_LOW", | ||
| FAILED_NONCE_TOO_HIGH = "FAILED_NONCE_TOO_HIGH", | ||
| LEAKED_VALIDATED = "LEAKED_VALIDATED", | ||
| LEAKED_REVERTED = "LEAKED_REVERTED", | ||
| CANCELLED_LEAKED_VALIDATED = "CANCELLED_LEAKED_VALIDATED", | ||
| CANCELLED_LEAKED_REVERTED = "CANCELLED_LEAKED_REVERTED" | ||
| } | ||
| export declare const cancellationReasonToStatusMap: { | ||
@@ -80,2 +99,3 @@ would_revert: SmartTransactionStatuses; | ||
| cancellationReason?: SmartTransactionCancellationReason; | ||
| originalTransactionStatus?: OriginalTransactionStatus; | ||
| deadlineRatio: number; | ||
@@ -82,0 +102,0 @@ minedHash: string; |
+20
-0
@@ -64,2 +64,22 @@ // This list does not belong here, but as these are reported to tx-sentinel, it is ok to have it here for now. | ||
| })(ClientId = ClientId || (ClientId = {})); | ||
| export var OriginalTransactionStatus; | ||
| (function (OriginalTransactionStatus) { | ||
| OriginalTransactionStatus["PENDING"] = "PENDING"; | ||
| OriginalTransactionStatus["PENDING_CANCELLED"] = "PENDING_CANCELLED"; | ||
| OriginalTransactionStatus["VALIDATED"] = "VALIDATED"; | ||
| OriginalTransactionStatus["REVERTED"] = "REVERTED"; | ||
| OriginalTransactionStatus["NONCE_TOO_LOW"] = "NONCE_TOO_LOW"; | ||
| OriginalTransactionStatus["CANCELLED"] = "CANCELLED"; | ||
| OriginalTransactionStatus["FAILED"] = "FAILED"; | ||
| OriginalTransactionStatus["FAILED_WOULD_REVERT"] = "FAILED_WOULD_REVERT"; | ||
| OriginalTransactionStatus["FAILED_INSUFFICIENT_FUNDS"] = "FAILED_INSUFFICIENT_FUNDS"; | ||
| OriginalTransactionStatus["FAILED_UNKNOWN"] = "FAILED_UNKNOWN"; | ||
| OriginalTransactionStatus["FAILED_TIMEOUT"] = "FAILED_TIMEOUT"; | ||
| OriginalTransactionStatus["FAILED_GAS_TOO_LOW"] = "FAILED_GAS_TOO_LOW"; | ||
| OriginalTransactionStatus["FAILED_NONCE_TOO_HIGH"] = "FAILED_NONCE_TOO_HIGH"; | ||
| OriginalTransactionStatus["LEAKED_VALIDATED"] = "LEAKED_VALIDATED"; | ||
| OriginalTransactionStatus["LEAKED_REVERTED"] = "LEAKED_REVERTED"; | ||
| OriginalTransactionStatus["CANCELLED_LEAKED_VALIDATED"] = "CANCELLED_LEAKED_VALIDATED"; | ||
| OriginalTransactionStatus["CANCELLED_LEAKED_REVERTED"] = "CANCELLED_LEAKED_REVERTED"; | ||
| })(OriginalTransactionStatus = OriginalTransactionStatus || (OriginalTransactionStatus = {})); | ||
| export const cancellationReasonToStatusMap = { | ||
@@ -66,0 +86,0 @@ [SmartTransactionCancellationReason.WOULD_REVERT]: SmartTransactionStatuses.CANCELLED, |
+7
-2
@@ -180,2 +180,3 @@ "use strict"; | ||
| stx_proxied: smartTransactionStatusMetadata === null || smartTransactionStatusMetadata === void 0 ? void 0 : smartTransactionStatusMetadata.proxied, | ||
| stx_original_transaction_status: smartTransactionStatusMetadata === null || smartTransactionStatusMetadata === void 0 ? void 0 : smartTransactionStatusMetadata.originalTransactionStatus, | ||
| }; | ||
@@ -220,3 +221,4 @@ }; | ||
| const markRegularTransactionsAsFailed = ({ smartTransaction, getRegularTransactions, updateTransaction, }) => { | ||
| const { transactionId, status, txHashes } = smartTransaction; | ||
| const { transactionId, status, statusMetadata, txHashes } = smartTransaction; | ||
| const originalTransactionStatus = statusMetadata === null || statusMetadata === void 0 ? void 0 : statusMetadata.originalTransactionStatus; | ||
| const transactionsToFail = getRegularTransactions().filter((tx) => (tx.hash && (txHashes === null || txHashes === void 0 ? void 0 : txHashes.includes(tx.hash))) || tx.id === transactionId); | ||
@@ -226,2 +228,5 @@ if (!transactionsToFail.length) { | ||
| } | ||
| const errorMessage = originalTransactionStatus | ||
| ? `Smart transaction failed with status: ${status}, originalTransactionStatus: ${originalTransactionStatus}` | ||
| : `Smart transaction failed with status: ${status}`; | ||
| for (const tx of transactionsToFail) { | ||
@@ -233,3 +238,3 @@ if (tx.status === transaction_controller_1.TransactionStatus.failed) { | ||
| name: 'SmartTransactionFailed', | ||
| message: `Smart transaction failed with status: ${status}`, | ||
| message: errorMessage, | ||
| } }); | ||
@@ -236,0 +241,0 @@ updateTransaction(updatedTransaction, `Smart transaction status: ${status}`); |
+2
-0
@@ -30,2 +30,3 @@ import type { TransactionControllerGetTransactionsAction, TransactionControllerUpdateTransactionAction } from "@metamask/transaction-controller"; | ||
| stx_proxied?: undefined; | ||
| stx_original_transaction_status?: undefined; | ||
| } | { | ||
@@ -42,2 +43,3 @@ stx_status: string | undefined; | ||
| stx_proxied: boolean | undefined; | ||
| stx_original_transaction_status: import("./types.cjs").OriginalTransactionStatus | undefined; | ||
| }; | ||
@@ -44,0 +46,0 @@ export declare const getSmartTransactionMetricsSensitiveProperties: (smartTransaction: SmartTransaction) => { |
+2
-0
@@ -30,2 +30,3 @@ import type { TransactionControllerGetTransactionsAction, TransactionControllerUpdateTransactionAction } from "@metamask/transaction-controller"; | ||
| stx_proxied?: undefined; | ||
| stx_original_transaction_status?: undefined; | ||
| } | { | ||
@@ -42,2 +43,3 @@ stx_status: string | undefined; | ||
| stx_proxied: boolean | undefined; | ||
| stx_original_transaction_status: import("./types.mjs").OriginalTransactionStatus | undefined; | ||
| }; | ||
@@ -44,0 +46,0 @@ export declare const getSmartTransactionMetricsSensitiveProperties: (smartTransaction: SmartTransaction) => { |
+7
-2
@@ -171,2 +171,3 @@ function $importDefault(module) { | ||
| stx_proxied: smartTransactionStatusMetadata === null || smartTransactionStatusMetadata === void 0 ? void 0 : smartTransactionStatusMetadata.proxied, | ||
| stx_original_transaction_status: smartTransactionStatusMetadata === null || smartTransactionStatusMetadata === void 0 ? void 0 : smartTransactionStatusMetadata.originalTransactionStatus, | ||
| }; | ||
@@ -207,3 +208,4 @@ }; | ||
| export const markRegularTransactionsAsFailed = ({ smartTransaction, getRegularTransactions, updateTransaction, }) => { | ||
| const { transactionId, status, txHashes } = smartTransaction; | ||
| const { transactionId, status, statusMetadata, txHashes } = smartTransaction; | ||
| const originalTransactionStatus = statusMetadata === null || statusMetadata === void 0 ? void 0 : statusMetadata.originalTransactionStatus; | ||
| const transactionsToFail = getRegularTransactions().filter((tx) => (tx.hash && (txHashes === null || txHashes === void 0 ? void 0 : txHashes.includes(tx.hash))) || tx.id === transactionId); | ||
@@ -213,2 +215,5 @@ if (!transactionsToFail.length) { | ||
| } | ||
| const errorMessage = originalTransactionStatus | ||
| ? `Smart transaction failed with status: ${status}, originalTransactionStatus: ${originalTransactionStatus}` | ||
| : `Smart transaction failed with status: ${status}`; | ||
| for (const tx of transactionsToFail) { | ||
@@ -220,3 +225,3 @@ if (tx.status === TransactionStatus.failed) { | ||
| name: 'SmartTransactionFailed', | ||
| message: `Smart transaction failed with status: ${status}`, | ||
| message: errorMessage, | ||
| } }); | ||
@@ -223,0 +228,0 @@ updateTransaction(updatedTransaction, `Smart transaction status: ${status}`); |
+1
-1
| { | ||
| "name": "@metamask/smart-transactions-controller", | ||
| "version": "22.4.0", | ||
| "version": "22.5.0", | ||
| "description": "Improves success rates for swaps by trialing transactions privately and finding minimum fees", | ||
@@ -5,0 +5,0 @@ "repository": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
570459
1.94%2783
1.87%