@keplr-wallet/background 0.13.35 → 0.13.37
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/build/keyring/service.js +31 -42
- package/build/keyring/service.js.map +1 -1
- package/build/keyring/service.spec.d.ts +1 -0
- package/build/keyring/service.spec.js +106 -0
- package/build/keyring/service.spec.js.map +1 -0
- package/build/recent-send-history/service.js +7 -3
- package/build/recent-send-history/service.js.map +1 -1
- package/build/tx-executor/index.d.ts +1 -0
- package/build/tx-executor/index.js +1 -0
- package/build/tx-executor/index.js.map +1 -1
- package/build/tx-executor/service.d.ts +8 -5
- package/build/tx-executor/service.js +56 -11
- package/build/tx-executor/service.js.map +1 -1
- package/build/tx-executor/types.d.ts +20 -1
- package/build/tx-executor/utils/diagnostics.d.ts +14 -0
- package/build/tx-executor/utils/diagnostics.js +215 -0
- package/build/tx-executor/utils/diagnostics.js.map +1 -0
- package/build/tx-executor/utils/diagnostics.spec.d.ts +1 -0
- package/build/tx-executor/utils/diagnostics.spec.js +48 -0
- package/build/tx-executor/utils/diagnostics.spec.js.map +1 -0
- package/build/tx-executor/utils/evm.js +7 -3
- package/build/tx-executor/utils/evm.js.map +1 -1
- package/build/tx-executor/utils/evm.spec.d.ts +1 -0
- package/build/tx-executor/utils/evm.spec.js +59 -0
- package/build/tx-executor/utils/evm.spec.js.map +1 -0
- package/package.json +13 -13
- package/src/keyring/service.spec.ts +141 -0
- package/src/keyring/service.ts +47 -59
- package/src/recent-send-history/service.ts +7 -4
- package/src/tx-executor/index.ts +1 -0
- package/src/tx-executor/service.ts +72 -17
- package/src/tx-executor/types.ts +42 -1
- package/src/tx-executor/utils/diagnostics.spec.ts +89 -0
- package/src/tx-executor/utils/diagnostics.ts +298 -0
- package/src/tx-executor/utils/evm.spec.ts +62 -0
- package/src/tx-executor/utils/evm.ts +18 -1
|
@@ -26,6 +26,7 @@ const tx_1 = require("@keplr-wallet/proto-types/cosmos/tx/v1beta1/tx");
|
|
|
26
26
|
const cosmos_2 = require("./utils/cosmos");
|
|
27
27
|
const evm_1 = require("./utils/evm");
|
|
28
28
|
const fetch_1 = require("./utils/fetch");
|
|
29
|
+
const diagnostics_1 = require("./utils/diagnostics");
|
|
29
30
|
class BackgroundTxExecutorService {
|
|
30
31
|
constructor(kvStore, chainsService, keyRingCosmosService, keyRingEthereumService, backgroundTxService, backgroundTxEthereumService, analyticsService, recentSendHistoryService, subscriber) {
|
|
31
32
|
this.kvStore = kvStore;
|
|
@@ -271,6 +272,7 @@ class BackgroundTxExecutorService {
|
|
|
271
272
|
return {
|
|
272
273
|
status: types_1.TxExecutionStatus.FAILED,
|
|
273
274
|
error: result.error,
|
|
275
|
+
diagnostics: result.diagnostics,
|
|
274
276
|
};
|
|
275
277
|
}
|
|
276
278
|
case types_1.BackgroundTxStatus.BLOCKED: {
|
|
@@ -311,7 +313,7 @@ class BackgroundTxExecutorService {
|
|
|
311
313
|
* This reduces autorun trigger count by batching state updates.
|
|
312
314
|
*/
|
|
313
315
|
executePendingTx(vaultId, tx, executableChainIds, preventAutoSign, providedSignedTx) {
|
|
314
|
-
var _a;
|
|
316
|
+
var _a, _b;
|
|
315
317
|
return __awaiter(this, void 0, void 0, function* () {
|
|
316
318
|
const status = tx.status;
|
|
317
319
|
let signedTx = (_a = tx.signedTx) !== null && _a !== void 0 ? _a : providedSignedTx;
|
|
@@ -343,6 +345,7 @@ class BackgroundTxExecutorService {
|
|
|
343
345
|
status: types_1.BackgroundTxStatus.FAILED,
|
|
344
346
|
txHash,
|
|
345
347
|
error: (e === null || e === void 0 ? void 0 : e.message) || "Transaction signing failed",
|
|
348
|
+
diagnostics: (0, diagnostics_1.getTxExecutionDiagnostics)(e),
|
|
346
349
|
};
|
|
347
350
|
}
|
|
348
351
|
}
|
|
@@ -365,14 +368,15 @@ class BackgroundTxExecutorService {
|
|
|
365
368
|
// trace the tx
|
|
366
369
|
try {
|
|
367
370
|
const txWithHash = Object.assign(Object.assign({}, tx), { txHash });
|
|
368
|
-
const
|
|
369
|
-
if (confirmed) {
|
|
371
|
+
const traceResult = yield this.traceTx(txWithHash);
|
|
372
|
+
if (traceResult.confirmed) {
|
|
370
373
|
return { status: types_1.BackgroundTxStatus.CONFIRMED, txHash };
|
|
371
374
|
}
|
|
372
375
|
return {
|
|
373
376
|
status: types_1.BackgroundTxStatus.FAILED,
|
|
374
377
|
txHash,
|
|
375
378
|
error: "Transaction confirmation failed",
|
|
379
|
+
diagnostics: traceResult.diagnostics,
|
|
376
380
|
};
|
|
377
381
|
}
|
|
378
382
|
catch (e) {
|
|
@@ -381,6 +385,11 @@ class BackgroundTxExecutorService {
|
|
|
381
385
|
status: types_1.BackgroundTxStatus.FAILED,
|
|
382
386
|
txHash,
|
|
383
387
|
error: (e === null || e === void 0 ? void 0 : e.message) || "Transaction confirmation failed",
|
|
388
|
+
diagnostics: (_b = (0, diagnostics_1.getTxExecutionDiagnostics)(e)) !== null && _b !== void 0 ? _b : {
|
|
389
|
+
confirmation_failure_reason: tx.type === types_1.BackgroundTxType.EVM
|
|
390
|
+
? "evm_trace_error"
|
|
391
|
+
: "cosmos_trace_error",
|
|
392
|
+
},
|
|
384
393
|
};
|
|
385
394
|
}
|
|
386
395
|
});
|
|
@@ -577,9 +586,22 @@ class BackgroundTxExecutorService {
|
|
|
577
586
|
: "extension";
|
|
578
587
|
const txReceipt = yield this.backgroundTxEthereumService.getEthereumTxReceipt(origin, tx.chainId, tx.txHash);
|
|
579
588
|
if (!txReceipt) {
|
|
580
|
-
return
|
|
589
|
+
return {
|
|
590
|
+
confirmed: false,
|
|
591
|
+
diagnostics: {
|
|
592
|
+
confirmation_failure_reason: "evm_receipt_missing",
|
|
593
|
+
},
|
|
594
|
+
};
|
|
581
595
|
}
|
|
582
|
-
|
|
596
|
+
if (txReceipt.status === types_2.EthTxStatus.Success) {
|
|
597
|
+
return { confirmed: true };
|
|
598
|
+
}
|
|
599
|
+
return {
|
|
600
|
+
confirmed: false,
|
|
601
|
+
diagnostics: {
|
|
602
|
+
confirmation_failure_reason: "evm_receipt_status_failed",
|
|
603
|
+
},
|
|
604
|
+
};
|
|
583
605
|
});
|
|
584
606
|
}
|
|
585
607
|
traceCosmosTx(tx) {
|
|
@@ -588,26 +610,49 @@ class BackgroundTxExecutorService {
|
|
|
588
610
|
throw new router_1.KeplrError("direct-tx-executor", 133, "Tx hash not found");
|
|
589
611
|
}
|
|
590
612
|
let txResult;
|
|
613
|
+
let traceErrored = false;
|
|
591
614
|
try {
|
|
592
615
|
txResult = yield this.backgroundTxService.traceTx(tx.chainId, tx.txHash);
|
|
593
616
|
}
|
|
594
617
|
catch (_a) {
|
|
618
|
+
traceErrored = true;
|
|
595
619
|
// WS retry 모두 실패 — REST fallback 시도
|
|
596
620
|
}
|
|
597
621
|
// WS에서 결과를 못 받은 경우, REST로 tx 존재 여부 확인
|
|
598
622
|
// (tx가 온체인 성공했는데 WS 불안정으로 확인 못한 false positive 대응)
|
|
599
623
|
if (!txResult) {
|
|
600
|
-
|
|
624
|
+
const restFallback = yield this.queryTxByRestFallback(tx.chainId, tx.txHash);
|
|
625
|
+
if (restFallback.failed) {
|
|
626
|
+
return {
|
|
627
|
+
confirmed: false,
|
|
628
|
+
diagnostics: {
|
|
629
|
+
confirmation_failure_reason: "cosmos_rest_fallback_missing",
|
|
630
|
+
},
|
|
631
|
+
};
|
|
632
|
+
}
|
|
633
|
+
txResult = restFallback.txResult;
|
|
601
634
|
}
|
|
602
635
|
if (!txResult) {
|
|
603
|
-
return
|
|
636
|
+
return {
|
|
637
|
+
confirmed: false,
|
|
638
|
+
diagnostics: {
|
|
639
|
+
confirmation_failure_reason: traceErrored
|
|
640
|
+
? "cosmos_trace_error"
|
|
641
|
+
: "cosmos_trace_missing",
|
|
642
|
+
},
|
|
643
|
+
};
|
|
604
644
|
}
|
|
605
645
|
// Tendermint/CometBFT omits the code field when tx is successful (code=0)
|
|
606
646
|
// If code is present and non-zero, it's a failure
|
|
607
647
|
if (txResult.code != null && txResult.code !== 0) {
|
|
608
|
-
return
|
|
648
|
+
return {
|
|
649
|
+
confirmed: false,
|
|
650
|
+
diagnostics: {
|
|
651
|
+
confirmation_failure_reason: "cosmos_code_nonzero",
|
|
652
|
+
},
|
|
653
|
+
};
|
|
609
654
|
}
|
|
610
|
-
return true;
|
|
655
|
+
return { confirmed: true };
|
|
611
656
|
});
|
|
612
657
|
}
|
|
613
658
|
queryTxByRestFallback(chainId, txHash) {
|
|
@@ -615,10 +660,10 @@ class BackgroundTxExecutorService {
|
|
|
615
660
|
try {
|
|
616
661
|
const chainInfo = this.chainsService.getChainInfoOrThrow(chainId);
|
|
617
662
|
const { data } = yield (0, fetch_1.fetchWithRetry)(chainInfo.rest, `/cosmos/tx/v1beta1/txs/${txHash}`);
|
|
618
|
-
return data.tx_response;
|
|
663
|
+
return { txResult: data.tx_response, failed: false };
|
|
619
664
|
}
|
|
620
665
|
catch (_a) {
|
|
621
|
-
return
|
|
666
|
+
return { failed: true };
|
|
622
667
|
}
|
|
623
668
|
});
|
|
624
669
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/tx-executor/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/tx-executor/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { UnsignedTransaction } from "@ethersproject/transactions";
|
|
2
|
-
import { StdFee } from "@keplr-wallet/types";
|
|
2
|
+
import { EvmGasSimulationOutcome, StdFee } from "@keplr-wallet/types";
|
|
3
3
|
import { Any } from "@keplr-wallet/proto-types/google/protobuf/any";
|
|
4
4
|
import { Msg } from "@keplr-wallet/types";
|
|
5
5
|
import { SwapV2HistoryData } from "../recent-send-history";
|
|
@@ -59,6 +59,23 @@ export declare enum TxExecutionType {
|
|
|
59
59
|
SWAP_V2 = "swap-v2"
|
|
60
60
|
}
|
|
61
61
|
export type BackgroundTxFeeType = "low" | "average" | "high";
|
|
62
|
+
export type TxConfirmationFailureReason = "evm_receipt_missing" | "evm_receipt_status_failed" | "evm_trace_error" | "cosmos_trace_missing" | "cosmos_trace_error" | "cosmos_rest_fallback_missing" | "cosmos_code_nonzero";
|
|
63
|
+
export type GasEstimateContext = "review_simulation" | "pre_sign_simulation" | "background_fill_unsigned_tx";
|
|
64
|
+
export type GasEstimateErrorCategory = "allowance_insufficient" | "native_balance_insufficient" | "execution_reverted" | "invalid_calldata" | "rpc_unavailable" | "unknown";
|
|
65
|
+
export type TxRouteStepKind = "swap" | "bridge" | "ibc_transfer" | "unknown";
|
|
66
|
+
export type TxRouteBridgeKind = "axelar" | "cctp" | "ibc" | "unknown";
|
|
67
|
+
export interface TxExecutionDiagnostics {
|
|
68
|
+
confirmation_failure_reason?: TxConfirmationFailureReason;
|
|
69
|
+
gas_estimate_context?: GasEstimateContext;
|
|
70
|
+
gas_estimate_error_category?: GasEstimateErrorCategory;
|
|
71
|
+
has_required_erc20_approval?: boolean;
|
|
72
|
+
has_native_value?: boolean;
|
|
73
|
+
failed_tx_has_required_erc20_approval?: boolean;
|
|
74
|
+
failed_tx_has_native_value?: boolean;
|
|
75
|
+
route_step_kinds?: TxRouteStepKind[];
|
|
76
|
+
route_bridge_kinds?: TxRouteBridgeKind[];
|
|
77
|
+
evm_simulation_outcome?: EvmGasSimulationOutcome;
|
|
78
|
+
}
|
|
62
79
|
export interface TxExecutionBase {
|
|
63
80
|
readonly id: string;
|
|
64
81
|
status: TxExecutionStatus;
|
|
@@ -100,6 +117,7 @@ export interface PendingTxExecutionResult {
|
|
|
100
117
|
status: BackgroundTxStatus;
|
|
101
118
|
txHash?: string;
|
|
102
119
|
error?: string;
|
|
120
|
+
diagnostics?: TxExecutionDiagnostics;
|
|
103
121
|
}
|
|
104
122
|
/**
|
|
105
123
|
* Result of executing a single transaction.
|
|
@@ -108,4 +126,5 @@ export interface PendingTxExecutionResult {
|
|
|
108
126
|
export interface TxExecutionResult {
|
|
109
127
|
status: TxExecutionStatus;
|
|
110
128
|
error?: string;
|
|
129
|
+
diagnostics?: TxExecutionDiagnostics;
|
|
111
130
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { UnsignedTransaction } from "@ethersproject/transactions";
|
|
2
|
+
import { GasEstimateContext, GasEstimateErrorCategory, TxExecutionDiagnostics } from "../types";
|
|
3
|
+
export declare class TxExecutionDiagnosticsError extends Error {
|
|
4
|
+
readonly diagnostics: TxExecutionDiagnostics;
|
|
5
|
+
constructor(message: string, diagnostics: TxExecutionDiagnostics);
|
|
6
|
+
}
|
|
7
|
+
export declare function getTxExecutionDiagnostics(error: unknown): TxExecutionDiagnostics | undefined;
|
|
8
|
+
export declare function withTxExecutionDiagnostics(error: unknown, diagnostics: TxExecutionDiagnostics): TxExecutionDiagnosticsError;
|
|
9
|
+
export declare function createGasEstimateDiagnostics(error: unknown, context: GasEstimateContext, tx?: Pick<UnsignedTransaction, "value"> & {
|
|
10
|
+
requiredErc20Approvals?: unknown[];
|
|
11
|
+
}): TxExecutionDiagnostics;
|
|
12
|
+
export declare function classifyGasEstimateError(error: unknown): GasEstimateErrorCategory;
|
|
13
|
+
export declare function hasEvmTxNativeValue(value: unknown): boolean;
|
|
14
|
+
export declare function sanitizeTxExecutionDiagnostics(diagnostics: unknown): TxExecutionDiagnostics | undefined;
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sanitizeTxExecutionDiagnostics = exports.hasEvmTxNativeValue = exports.classifyGasEstimateError = exports.createGasEstimateDiagnostics = exports.withTxExecutionDiagnostics = exports.getTxExecutionDiagnostics = exports.TxExecutionDiagnosticsError = void 0;
|
|
4
|
+
const types_1 = require("@keplr-wallet/types");
|
|
5
|
+
const CONFIRMATION_FAILURE_REASONS = [
|
|
6
|
+
"evm_receipt_missing",
|
|
7
|
+
"evm_receipt_status_failed",
|
|
8
|
+
"evm_trace_error",
|
|
9
|
+
"cosmos_trace_missing",
|
|
10
|
+
"cosmos_trace_error",
|
|
11
|
+
"cosmos_rest_fallback_missing",
|
|
12
|
+
"cosmos_code_nonzero",
|
|
13
|
+
];
|
|
14
|
+
const GAS_ESTIMATE_CONTEXTS = [
|
|
15
|
+
"review_simulation",
|
|
16
|
+
"pre_sign_simulation",
|
|
17
|
+
"background_fill_unsigned_tx",
|
|
18
|
+
];
|
|
19
|
+
const GAS_ESTIMATE_ERROR_CATEGORIES = [
|
|
20
|
+
"allowance_insufficient",
|
|
21
|
+
"native_balance_insufficient",
|
|
22
|
+
"execution_reverted",
|
|
23
|
+
"invalid_calldata",
|
|
24
|
+
"rpc_unavailable",
|
|
25
|
+
"unknown",
|
|
26
|
+
];
|
|
27
|
+
const ROUTE_STEP_KINDS = [
|
|
28
|
+
"swap",
|
|
29
|
+
"bridge",
|
|
30
|
+
"ibc_transfer",
|
|
31
|
+
"unknown",
|
|
32
|
+
];
|
|
33
|
+
const ROUTE_BRIDGE_KINDS = [
|
|
34
|
+
"axelar",
|
|
35
|
+
"cctp",
|
|
36
|
+
"ibc",
|
|
37
|
+
"unknown",
|
|
38
|
+
];
|
|
39
|
+
const EVM_SIMULATION_OUTCOMES = [
|
|
40
|
+
types_1.EvmGasSimulationOutcome.TX_SIMULATED,
|
|
41
|
+
types_1.EvmGasSimulationOutcome.TX_BUNDLE_SIMULATED,
|
|
42
|
+
types_1.EvmGasSimulationOutcome.APPROVAL_ONLY_SIMULATED,
|
|
43
|
+
];
|
|
44
|
+
class TxExecutionDiagnosticsError extends Error {
|
|
45
|
+
constructor(message, diagnostics) {
|
|
46
|
+
super(message);
|
|
47
|
+
this.diagnostics = diagnostics;
|
|
48
|
+
this.name = "TxExecutionDiagnosticsError";
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.TxExecutionDiagnosticsError = TxExecutionDiagnosticsError;
|
|
52
|
+
function getTxExecutionDiagnostics(error) {
|
|
53
|
+
if (error instanceof TxExecutionDiagnosticsError ||
|
|
54
|
+
(typeof error === "object" &&
|
|
55
|
+
error != null &&
|
|
56
|
+
"diagnostics" in error &&
|
|
57
|
+
typeof error.diagnostics === "object")) {
|
|
58
|
+
return sanitizeTxExecutionDiagnostics(error.diagnostics);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.getTxExecutionDiagnostics = getTxExecutionDiagnostics;
|
|
62
|
+
function withTxExecutionDiagnostics(error, diagnostics) {
|
|
63
|
+
const message = typeof error === "object" &&
|
|
64
|
+
error != null &&
|
|
65
|
+
"message" in error &&
|
|
66
|
+
typeof error.message === "string"
|
|
67
|
+
? error.message
|
|
68
|
+
: String(error || "Unknown error");
|
|
69
|
+
return new TxExecutionDiagnosticsError(message, Object.assign(Object.assign({}, getTxExecutionDiagnostics(error)), sanitizeTxExecutionDiagnostics(diagnostics)));
|
|
70
|
+
}
|
|
71
|
+
exports.withTxExecutionDiagnostics = withTxExecutionDiagnostics;
|
|
72
|
+
function createGasEstimateDiagnostics(error, context, tx) {
|
|
73
|
+
var _a, _b;
|
|
74
|
+
return Object.assign({ gas_estimate_context: context, gas_estimate_error_category: classifyGasEstimateError(error) }, (tx
|
|
75
|
+
? {
|
|
76
|
+
failed_tx_has_required_erc20_approval: ((_b = (_a = tx.requiredErc20Approvals) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 0,
|
|
77
|
+
failed_tx_has_native_value: hasEvmTxNativeValue(tx.value),
|
|
78
|
+
}
|
|
79
|
+
: {}));
|
|
80
|
+
}
|
|
81
|
+
exports.createGasEstimateDiagnostics = createGasEstimateDiagnostics;
|
|
82
|
+
function classifyGasEstimateError(error) {
|
|
83
|
+
const message = getErrorMessage(error).toLowerCase();
|
|
84
|
+
if (message.includes("allowance")) {
|
|
85
|
+
return "allowance_insufficient";
|
|
86
|
+
}
|
|
87
|
+
if (matchesAny(message, [
|
|
88
|
+
"insufficient funds",
|
|
89
|
+
"insufficient balance",
|
|
90
|
+
"insufficient native",
|
|
91
|
+
"exceeds balance",
|
|
92
|
+
"not enough balance",
|
|
93
|
+
"not enough gas",
|
|
94
|
+
])) {
|
|
95
|
+
return "native_balance_insufficient";
|
|
96
|
+
}
|
|
97
|
+
if (matchesAny(message, [
|
|
98
|
+
"invalid argument",
|
|
99
|
+
"invalid calldata",
|
|
100
|
+
"invalid data",
|
|
101
|
+
"invalid hex",
|
|
102
|
+
"cannot unmarshal",
|
|
103
|
+
"missing value for required argument",
|
|
104
|
+
])) {
|
|
105
|
+
return "invalid_calldata";
|
|
106
|
+
}
|
|
107
|
+
if (message.includes("execution reverted") || message.includes("revert")) {
|
|
108
|
+
return "execution_reverted";
|
|
109
|
+
}
|
|
110
|
+
if (matchesAny(message, [
|
|
111
|
+
"failed to fetch",
|
|
112
|
+
"network error",
|
|
113
|
+
"timeout",
|
|
114
|
+
"timed out",
|
|
115
|
+
"too many requests",
|
|
116
|
+
"bad gateway",
|
|
117
|
+
"service unavailable",
|
|
118
|
+
"gateway timeout",
|
|
119
|
+
])) {
|
|
120
|
+
return "rpc_unavailable";
|
|
121
|
+
}
|
|
122
|
+
return "unknown";
|
|
123
|
+
}
|
|
124
|
+
exports.classifyGasEstimateError = classifyGasEstimateError;
|
|
125
|
+
function hasEvmTxNativeValue(value) {
|
|
126
|
+
if (value == null) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
try {
|
|
130
|
+
return BigInt(value.toString()) > BigInt(0);
|
|
131
|
+
}
|
|
132
|
+
catch (_a) {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.hasEvmTxNativeValue = hasEvmTxNativeValue;
|
|
137
|
+
function sanitizeTxExecutionDiagnostics(diagnostics) {
|
|
138
|
+
if (!diagnostics || typeof diagnostics !== "object") {
|
|
139
|
+
return undefined;
|
|
140
|
+
}
|
|
141
|
+
const source = diagnostics;
|
|
142
|
+
const sanitized = {};
|
|
143
|
+
const confirmationFailureReason = source["confirmation_failure_reason"];
|
|
144
|
+
const gasEstimateContext = source["gas_estimate_context"];
|
|
145
|
+
const gasEstimateErrorCategory = source["gas_estimate_error_category"];
|
|
146
|
+
const hasRequiredErc20Approval = source["has_required_erc20_approval"];
|
|
147
|
+
const hasNativeValue = source["has_native_value"];
|
|
148
|
+
const failedTxHasRequiredErc20Approval = source["failed_tx_has_required_erc20_approval"];
|
|
149
|
+
const failedTxHasNativeValue = source["failed_tx_has_native_value"];
|
|
150
|
+
const routeStepKindsValue = source["route_step_kinds"];
|
|
151
|
+
const routeBridgeKindsValue = source["route_bridge_kinds"];
|
|
152
|
+
const evmSimulationOutcome = source["evm_simulation_outcome"];
|
|
153
|
+
if (isOneOf(confirmationFailureReason, CONFIRMATION_FAILURE_REASONS)) {
|
|
154
|
+
sanitized.confirmation_failure_reason = confirmationFailureReason;
|
|
155
|
+
}
|
|
156
|
+
if (isOneOf(gasEstimateContext, GAS_ESTIMATE_CONTEXTS)) {
|
|
157
|
+
sanitized.gas_estimate_context = gasEstimateContext;
|
|
158
|
+
}
|
|
159
|
+
if (isOneOf(gasEstimateErrorCategory, GAS_ESTIMATE_ERROR_CATEGORIES)) {
|
|
160
|
+
sanitized.gas_estimate_error_category = gasEstimateErrorCategory;
|
|
161
|
+
}
|
|
162
|
+
if (typeof hasRequiredErc20Approval === "boolean") {
|
|
163
|
+
sanitized.has_required_erc20_approval = hasRequiredErc20Approval;
|
|
164
|
+
}
|
|
165
|
+
if (typeof hasNativeValue === "boolean") {
|
|
166
|
+
sanitized.has_native_value = hasNativeValue;
|
|
167
|
+
}
|
|
168
|
+
if (typeof failedTxHasRequiredErc20Approval === "boolean") {
|
|
169
|
+
sanitized.failed_tx_has_required_erc20_approval =
|
|
170
|
+
failedTxHasRequiredErc20Approval;
|
|
171
|
+
}
|
|
172
|
+
if (typeof failedTxHasNativeValue === "boolean") {
|
|
173
|
+
sanitized.failed_tx_has_native_value = failedTxHasNativeValue;
|
|
174
|
+
}
|
|
175
|
+
const routeStepKinds = sanitizeStringArray(routeStepKindsValue, [
|
|
176
|
+
...ROUTE_STEP_KINDS,
|
|
177
|
+
]);
|
|
178
|
+
if (routeStepKinds) {
|
|
179
|
+
sanitized.route_step_kinds = routeStepKinds;
|
|
180
|
+
}
|
|
181
|
+
const routeBridgeKinds = sanitizeStringArray(routeBridgeKindsValue, [
|
|
182
|
+
...ROUTE_BRIDGE_KINDS,
|
|
183
|
+
]);
|
|
184
|
+
if (routeBridgeKinds) {
|
|
185
|
+
sanitized.route_bridge_kinds = routeBridgeKinds;
|
|
186
|
+
}
|
|
187
|
+
if (isOneOf(evmSimulationOutcome, EVM_SIMULATION_OUTCOMES)) {
|
|
188
|
+
sanitized.evm_simulation_outcome = evmSimulationOutcome;
|
|
189
|
+
}
|
|
190
|
+
return Object.keys(sanitized).length > 0 ? sanitized : undefined;
|
|
191
|
+
}
|
|
192
|
+
exports.sanitizeTxExecutionDiagnostics = sanitizeTxExecutionDiagnostics;
|
|
193
|
+
function getErrorMessage(error) {
|
|
194
|
+
if (typeof error === "object" &&
|
|
195
|
+
error != null &&
|
|
196
|
+
"message" in error &&
|
|
197
|
+
typeof error.message === "string") {
|
|
198
|
+
return error.message;
|
|
199
|
+
}
|
|
200
|
+
return String(error || "");
|
|
201
|
+
}
|
|
202
|
+
function matchesAny(message, patterns) {
|
|
203
|
+
return patterns.some((pattern) => message.includes(pattern));
|
|
204
|
+
}
|
|
205
|
+
function isOneOf(value, allowedValues) {
|
|
206
|
+
return typeof value === "string" && allowedValues.includes(value);
|
|
207
|
+
}
|
|
208
|
+
function sanitizeStringArray(value, allowedValues) {
|
|
209
|
+
if (!Array.isArray(value)) {
|
|
210
|
+
return undefined;
|
|
211
|
+
}
|
|
212
|
+
const sanitized = value.filter((item) => isOneOf(item, allowedValues));
|
|
213
|
+
return sanitized.length > 0 ? [...new Set(sanitized)] : undefined;
|
|
214
|
+
}
|
|
215
|
+
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../src/tx-executor/utils/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const diagnostics_1 = require("./diagnostics");
|
|
4
|
+
describe("tx execution diagnostics", () => {
|
|
5
|
+
it("classifies allowance failures without exposing the raw error", () => {
|
|
6
|
+
expect((0, diagnostics_1.classifyGasEstimateError)(new Error("execution reverted: ERC20: transfer amount exceeds allowance"))).toBe("allowance_insufficient");
|
|
7
|
+
});
|
|
8
|
+
it("classifies common gas estimate error families", () => {
|
|
9
|
+
expect((0, diagnostics_1.classifyGasEstimateError)(new Error("insufficient funds"))).toBe("native_balance_insufficient");
|
|
10
|
+
expect((0, diagnostics_1.classifyGasEstimateError)(new Error("execution reverted: panic: arithmetic underflow or overflow"))).toBe("execution_reverted");
|
|
11
|
+
expect((0, diagnostics_1.classifyGasEstimateError)(new Error("invalid argument 0: cannot unmarshal hex string"))).toBe("invalid_calldata");
|
|
12
|
+
expect((0, diagnostics_1.classifyGasEstimateError)(new Error("network error: timeout"))).toBe("rpc_unavailable");
|
|
13
|
+
});
|
|
14
|
+
it("detects native value on decimal and hex tx values", () => {
|
|
15
|
+
expect((0, diagnostics_1.hasEvmTxNativeValue)("0")).toBe(false);
|
|
16
|
+
expect((0, diagnostics_1.hasEvmTxNativeValue)("0x0")).toBe(false);
|
|
17
|
+
expect((0, diagnostics_1.hasEvmTxNativeValue)("100")).toBe(true);
|
|
18
|
+
expect((0, diagnostics_1.hasEvmTxNativeValue)("0x64")).toBe(true);
|
|
19
|
+
});
|
|
20
|
+
it("attaches sanitized gas estimate diagnostics to errors", () => {
|
|
21
|
+
const error = (0, diagnostics_1.withTxExecutionDiagnostics)(new Error("execution reverted: ERC20: transfer amount exceeds allowance"), (0, diagnostics_1.createGasEstimateDiagnostics)(new Error("execution reverted: ERC20: transfer amount exceeds allowance"), "background_fill_unsigned_tx", {
|
|
22
|
+
value: "0x1",
|
|
23
|
+
requiredErc20Approvals: [{ tokenAddress: "0x1" }],
|
|
24
|
+
}));
|
|
25
|
+
expect(error.message).toBe("execution reverted: ERC20: transfer amount exceeds allowance");
|
|
26
|
+
expect((0, diagnostics_1.getTxExecutionDiagnostics)(error)).toEqual({
|
|
27
|
+
gas_estimate_context: "background_fill_unsigned_tx",
|
|
28
|
+
gas_estimate_error_category: "allowance_insufficient",
|
|
29
|
+
failed_tx_has_required_erc20_approval: true,
|
|
30
|
+
failed_tx_has_native_value: true,
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
it("drops unknown diagnostics keys and invalid enum values", () => {
|
|
34
|
+
expect((0, diagnostics_1.sanitizeTxExecutionDiagnostics)({
|
|
35
|
+
gas_estimate_context: "background_fill_unsigned_tx",
|
|
36
|
+
gas_estimate_error_category: "allowance_insufficient",
|
|
37
|
+
confirmation_failure_reason: "raw tx hash here",
|
|
38
|
+
route_step_kinds: ["swap", "raw-route-fingerprint"],
|
|
39
|
+
evm_simulation_outcome: "raw simulation outcome",
|
|
40
|
+
leaked_payload: "should not be logged",
|
|
41
|
+
})).toEqual({
|
|
42
|
+
gas_estimate_context: "background_fill_unsigned_tx",
|
|
43
|
+
gas_estimate_error_category: "allowance_insufficient",
|
|
44
|
+
route_step_kinds: ["swap"],
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=diagnostics.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.spec.js","sourceRoot":"","sources":["../../../src/tx-executor/utils/diagnostics.spec.ts"],"names":[],"mappings":";;AAAA,+CAOuB;AAEvB,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,CACJ,IAAA,sCAAwB,EACtB,IAAI,KAAK,CACP,8DAA8D,CAC/D,CACF,CACF,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,CAAC,IAAA,sCAAwB,EAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CACpE,6BAA6B,CAC9B,CAAC;QACF,MAAM,CACJ,IAAA,sCAAwB,EACtB,IAAI,KAAK,CAAC,6DAA6D,CAAC,CACzE,CACF,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7B,MAAM,CACJ,IAAA,sCAAwB,EACtB,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAC7D,CACF,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAA,sCAAwB,EAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,CACxE,iBAAiB,CAClB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC,IAAA,iCAAmB,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAA,iCAAmB,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAA,iCAAmB,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAA,iCAAmB,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,KAAK,GAAG,IAAA,wCAA0B,EACtC,IAAI,KAAK,CAAC,8DAA8D,CAAC,EACzE,IAAA,0CAA4B,EAC1B,IAAI,KAAK,CACP,8DAA8D,CAC/D,EACD,6BAA6B,EAC7B;YACE,KAAK,EAAE,KAAK;YACZ,sBAAsB,EAAE,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;SAClD,CACF,CACF,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CACxB,8DAA8D,CAC/D,CAAC;QACF,MAAM,CAAC,IAAA,uCAAyB,EAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/C,oBAAoB,EAAE,6BAA6B;YACnD,2BAA2B,EAAE,wBAAwB;YACrD,qCAAqC,EAAE,IAAI;YAC3C,0BAA0B,EAAE,IAAI;SACjC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CACJ,IAAA,4CAA8B,EAAC;YAC7B,oBAAoB,EAAE,6BAA6B;YACnD,2BAA2B,EAAE,wBAAwB;YACrD,2BAA2B,EAAE,kBAAkB;YAC/C,gBAAgB,EAAE,CAAC,MAAM,EAAE,uBAAuB,CAAC;YACnD,sBAAsB,EAAE,wBAAwB;YAChD,cAAc,EAAE,sBAAsB;SACvC,CAAC,CACH,CAAC,OAAO,CAAC;YACR,oBAAoB,EAAE,6BAA6B;YACnD,2BAA2B,EAAE,wBAAwB;YACrD,gBAAgB,EAAE,CAAC,MAAM,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|