Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

@metamask/smart-transactions-controller

Package Overview
Dependencies
Maintainers
3
Versions
69
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@metamask/smart-transactions-controller - npm Package Compare versions

Comparing version
22.4.0
to
22.5.0
+8
-1
CHANGELOG.md

@@ -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; } });

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";

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";

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";

"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,

@@ -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;

@@ -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;

@@ -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,

@@ -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}`);

@@ -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) => {

@@ -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) => {

@@ -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}`);

{
"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