@yaswap/error-parser 2.0.0
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 +469 -0
- package/README.md +117 -0
- package/dist/package.json +34 -0
- package/dist/src/LiqualityErrors/DappNotConnectedError.d.ts +9 -0
- package/dist/src/LiqualityErrors/DappNotConnectedError.js +15 -0
- package/dist/src/LiqualityErrors/DappNotConnectedError.js.map +1 -0
- package/dist/src/LiqualityErrors/DuplicateTokenSymbolError.d.ts +4 -0
- package/dist/src/LiqualityErrors/DuplicateTokenSymbolError.js +12 -0
- package/dist/src/LiqualityErrors/DuplicateTokenSymbolError.js.map +1 -0
- package/dist/src/LiqualityErrors/HighInputAmountError.d.ts +9 -0
- package/dist/src/LiqualityErrors/HighInputAmountError.js +15 -0
- package/dist/src/LiqualityErrors/HighInputAmountError.js.map +1 -0
- package/dist/src/LiqualityErrors/InsufficientFundsError.d.ts +9 -0
- package/dist/src/LiqualityErrors/InsufficientFundsError.js +12 -0
- package/dist/src/LiqualityErrors/InsufficientFundsError.js.map +1 -0
- package/dist/src/LiqualityErrors/InsufficientGasFeeError.d.ts +8 -0
- package/dist/src/LiqualityErrors/InsufficientGasFeeError.js +12 -0
- package/dist/src/LiqualityErrors/InsufficientGasFeeError.js.map +1 -0
- package/dist/src/LiqualityErrors/InsufficientInputAmountError.d.ts +8 -0
- package/dist/src/LiqualityErrors/InsufficientInputAmountError.js +12 -0
- package/dist/src/LiqualityErrors/InsufficientInputAmountError.js.map +1 -0
- package/dist/src/LiqualityErrors/InsufficientLiquidityError.d.ts +10 -0
- package/dist/src/LiqualityErrors/InsufficientLiquidityError.js +15 -0
- package/dist/src/LiqualityErrors/InsufficientLiquidityError.js.map +1 -0
- package/dist/src/LiqualityErrors/InternalError.d.ts +5 -0
- package/dist/src/LiqualityErrors/InternalError.js +15 -0
- package/dist/src/LiqualityErrors/InternalError.js.map +1 -0
- package/dist/src/LiqualityErrors/LedgerAppMismatchError.d.ts +4 -0
- package/dist/src/LiqualityErrors/LedgerAppMismatchError.js +12 -0
- package/dist/src/LiqualityErrors/LedgerAppMismatchError.js.map +1 -0
- package/dist/src/LiqualityErrors/LedgerDappConflictError.d.ts +4 -0
- package/dist/src/LiqualityErrors/LedgerDappConflictError.js +12 -0
- package/dist/src/LiqualityErrors/LedgerDappConflictError.js.map +1 -0
- package/dist/src/LiqualityErrors/LedgerDeviceConnectionError.d.ts +4 -0
- package/dist/src/LiqualityErrors/LedgerDeviceConnectionError.js +12 -0
- package/dist/src/LiqualityErrors/LedgerDeviceConnectionError.js.map +1 -0
- package/dist/src/LiqualityErrors/LedgerDeviceLockedError.d.ts +4 -0
- package/dist/src/LiqualityErrors/LedgerDeviceLockedError.js +12 -0
- package/dist/src/LiqualityErrors/LedgerDeviceLockedError.js.map +1 -0
- package/dist/src/LiqualityErrors/LedgerDeviceNotUpdatedError.d.ts +4 -0
- package/dist/src/LiqualityErrors/LedgerDeviceNotUpdatedError.js +12 -0
- package/dist/src/LiqualityErrors/LedgerDeviceNotUpdatedError.js.map +1 -0
- package/dist/src/LiqualityErrors/LedgerDeviceSmartContractTransactionDisabledError.d.ts +4 -0
- package/dist/src/LiqualityErrors/LedgerDeviceSmartContractTransactionDisabledError.js +12 -0
- package/dist/src/LiqualityErrors/LedgerDeviceSmartContractTransactionDisabledError.js.map +1 -0
- package/dist/src/LiqualityErrors/LiqualityError.d.ts +22 -0
- package/dist/src/LiqualityErrors/LiqualityError.js +39 -0
- package/dist/src/LiqualityErrors/LiqualityError.js.map +1 -0
- package/dist/src/LiqualityErrors/LowSpeedupFeeError.d.ts +4 -0
- package/dist/src/LiqualityErrors/LowSpeedupFeeError.js +12 -0
- package/dist/src/LiqualityErrors/LowSpeedupFeeError.js.map +1 -0
- package/dist/src/LiqualityErrors/NoActiveWalletError.d.ts +5 -0
- package/dist/src/LiqualityErrors/NoActiveWalletError.js +15 -0
- package/dist/src/LiqualityErrors/NoActiveWalletError.js.map +1 -0
- package/dist/src/LiqualityErrors/NoTipError.d.ts +4 -0
- package/dist/src/LiqualityErrors/NoTipError.js +12 -0
- package/dist/src/LiqualityErrors/NoTipError.js.map +1 -0
- package/dist/src/LiqualityErrors/PairNotSupportedError.d.ts +8 -0
- package/dist/src/LiqualityErrors/PairNotSupportedError.js +12 -0
- package/dist/src/LiqualityErrors/PairNotSupportedError.js.map +1 -0
- package/dist/src/LiqualityErrors/PasswordError.d.ts +4 -0
- package/dist/src/LiqualityErrors/PasswordError.js +12 -0
- package/dist/src/LiqualityErrors/PasswordError.js.map +1 -0
- package/dist/src/LiqualityErrors/SlippageTooHighError.d.ts +9 -0
- package/dist/src/LiqualityErrors/SlippageTooHighError.js +12 -0
- package/dist/src/LiqualityErrors/SlippageTooHighError.js.map +1 -0
- package/dist/src/LiqualityErrors/ThirdPartyError.d.ts +9 -0
- package/dist/src/LiqualityErrors/ThirdPartyError.js +23 -0
- package/dist/src/LiqualityErrors/ThirdPartyError.js.map +1 -0
- package/dist/src/LiqualityErrors/UnknownError.d.ts +5 -0
- package/dist/src/LiqualityErrors/UnknownError.js +13 -0
- package/dist/src/LiqualityErrors/UnknownError.js.map +1 -0
- package/dist/src/LiqualityErrors/UserDeclinedError.d.ts +5 -0
- package/dist/src/LiqualityErrors/UserDeclinedError.js +15 -0
- package/dist/src/LiqualityErrors/UserDeclinedError.js.map +1 -0
- package/dist/src/LiqualityErrors/ValidationError.d.ts +5 -0
- package/dist/src/LiqualityErrors/ValidationError.js +15 -0
- package/dist/src/LiqualityErrors/ValidationError.js.map +1 -0
- package/dist/src/LiqualityErrors/VeryHighMaxFeeWarning.d.ts +7 -0
- package/dist/src/LiqualityErrors/VeryHighMaxFeeWarning.js +12 -0
- package/dist/src/LiqualityErrors/VeryHighMaxFeeWarning.js.map +1 -0
- package/dist/src/LiqualityErrors/VeryHighTipWarning.d.ts +4 -0
- package/dist/src/LiqualityErrors/VeryHighTipWarning.js +12 -0
- package/dist/src/LiqualityErrors/VeryHighTipWarning.js.map +1 -0
- package/dist/src/LiqualityErrors/VeryLowMaxFeeError.d.ts +7 -0
- package/dist/src/LiqualityErrors/VeryLowMaxFeeError.js +12 -0
- package/dist/src/LiqualityErrors/VeryLowMaxFeeError.js.map +1 -0
- package/dist/src/LiqualityErrors/VeryLowTipError.d.ts +4 -0
- package/dist/src/LiqualityErrors/VeryLowTipError.js +12 -0
- package/dist/src/LiqualityErrors/VeryLowTipError.js.map +1 -0
- package/dist/src/LiqualityErrors/WalletLockedError.d.ts +5 -0
- package/dist/src/LiqualityErrors/WalletLockedError.js +15 -0
- package/dist/src/LiqualityErrors/WalletLockedError.js.map +1 -0
- package/dist/src/LiqualityErrors/customErrors.d.ts +91 -0
- package/dist/src/LiqualityErrors/customErrors.js +95 -0
- package/dist/src/LiqualityErrors/customErrors.js.map +1 -0
- package/dist/src/LiqualityErrors/index.d.ts +31 -0
- package/dist/src/LiqualityErrors/index.js +66 -0
- package/dist/src/LiqualityErrors/index.js.map +1 -0
- package/dist/src/config.d.ts +39 -0
- package/dist/src/config.js +43 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/factory/index.d.ts +1 -0
- package/dist/src/factory/index.js +18 -0
- package/dist/src/factory/index.js.map +1 -0
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.js +19 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/parsers/Chainify/ChainifyErrorParser.d.ts +7 -0
- package/dist/src/parsers/Chainify/ChainifyErrorParser.js +63 -0
- package/dist/src/parsers/Chainify/ChainifyErrorParser.js.map +1 -0
- package/dist/src/parsers/Chainify/JsonRPCNodeErrorParser.d.ts +7 -0
- package/dist/src/parsers/Chainify/JsonRPCNodeErrorParser.js +29 -0
- package/dist/src/parsers/Chainify/JsonRPCNodeErrorParser.js.map +1 -0
- package/dist/src/parsers/Chainify/LedgerErrorParser.d.ts +7 -0
- package/dist/src/parsers/Chainify/LedgerErrorParser.js +46 -0
- package/dist/src/parsers/Chainify/LedgerErrorParser.js.map +1 -0
- package/dist/src/parsers/Chainify/index.d.ts +16 -0
- package/dist/src/parsers/Chainify/index.js +20 -0
- package/dist/src/parsers/Chainify/index.js.map +1 -0
- package/dist/src/parsers/Debridge/DebridgeAPIErrorParser.d.ts +8 -0
- package/dist/src/parsers/Debridge/DebridgeAPIErrorParser.js +48 -0
- package/dist/src/parsers/Debridge/DebridgeAPIErrorParser.js.map +1 -0
- package/dist/src/parsers/Debridge/index.d.ts +16 -0
- package/dist/src/parsers/Debridge/index.js +14 -0
- package/dist/src/parsers/Debridge/index.js.map +1 -0
- package/dist/src/parsers/ErrorParser.d.ts +8 -0
- package/dist/src/parsers/ErrorParser.js +37 -0
- package/dist/src/parsers/ErrorParser.js.map +1 -0
- package/dist/src/parsers/LifiAPI/QuoteErrorParser.d.ts +7 -0
- package/dist/src/parsers/LifiAPI/QuoteErrorParser.js +72 -0
- package/dist/src/parsers/LifiAPI/QuoteErrorParser.js.map +1 -0
- package/dist/src/parsers/LifiAPI/index.d.ts +45 -0
- package/dist/src/parsers/LifiAPI/index.js +34 -0
- package/dist/src/parsers/LifiAPI/index.js.map +1 -0
- package/dist/src/parsers/OneInchAPI/ApproveErrorParser.d.ts +7 -0
- package/dist/src/parsers/OneInchAPI/ApproveErrorParser.js +42 -0
- package/dist/src/parsers/OneInchAPI/ApproveErrorParser.js.map +1 -0
- package/dist/src/parsers/OneInchAPI/QuoteErrorParser.d.ts +4 -0
- package/dist/src/parsers/OneInchAPI/QuoteErrorParser.js +10 -0
- package/dist/src/parsers/OneInchAPI/QuoteErrorParser.js.map +1 -0
- package/dist/src/parsers/OneInchAPI/SwapErrorParser.d.ts +13 -0
- package/dist/src/parsers/OneInchAPI/SwapErrorParser.js +70 -0
- package/dist/src/parsers/OneInchAPI/SwapErrorParser.js.map +1 -0
- package/dist/src/parsers/OneInchAPI/index.d.ts +26 -0
- package/dist/src/parsers/OneInchAPI/index.js +22 -0
- package/dist/src/parsers/OneInchAPI/index.js.map +1 -0
- package/dist/src/parsers/Thorchain/ThorchainAPIErrorParser.d.ts +9 -0
- package/dist/src/parsers/Thorchain/ThorchainAPIErrorParser.js +31 -0
- package/dist/src/parsers/Thorchain/ThorchainAPIErrorParser.js.map +1 -0
- package/dist/src/parsers/Thorchain/index.d.ts +4 -0
- package/dist/src/parsers/Thorchain/index.js +8 -0
- package/dist/src/parsers/Thorchain/index.js.map +1 -0
- package/dist/src/parsers/UniswapV2/UniswapV2SwapErrorParser.d.ts +7 -0
- package/dist/src/parsers/UniswapV2/UniswapV2SwapErrorParser.js +33 -0
- package/dist/src/parsers/UniswapV2/UniswapV2SwapErrorParser.js.map +1 -0
- package/dist/src/parsers/UniswapV2/index.d.ts +4 -0
- package/dist/src/parsers/UniswapV2/index.js +8 -0
- package/dist/src/parsers/UniswapV2/index.js.map +1 -0
- package/dist/src/parsers/index.d.ts +9 -0
- package/dist/src/parsers/index.js +13 -0
- package/dist/src/parsers/index.js.map +1 -0
- package/dist/src/reporters/console.d.ts +3 -0
- package/dist/src/reporters/console.js +18 -0
- package/dist/src/reporters/console.js.map +1 -0
- package/dist/src/reporters/discord.d.ts +3 -0
- package/dist/src/reporters/discord.js +64 -0
- package/dist/src/reporters/discord.js.map +1 -0
- package/dist/src/reporters/index.d.ts +6 -0
- package/dist/src/reporters/index.js +47 -0
- package/dist/src/reporters/index.js.map +1 -0
- package/dist/src/test/chainify/jsonRPCNode.test.d.ts +1 -0
- package/dist/src/test/chainify/jsonRPCNode.test.js +49 -0
- package/dist/src/test/chainify/jsonRPCNode.test.js.map +1 -0
- package/dist/src/test/chainify/ledgerDevice.test.d.ts +1 -0
- package/dist/src/test/chainify/ledgerDevice.test.js +58 -0
- package/dist/src/test/chainify/ledgerDevice.test.js.map +1 -0
- package/dist/src/test/chainify/uniswapV2.test.d.ts +1 -0
- package/dist/src/test/chainify/uniswapV2.test.js +49 -0
- package/dist/src/test/chainify/uniswapV2.test.js.map +1 -0
- package/dist/src/test/debridgeAPI.test.d.ts +1 -0
- package/dist/src/test/debridgeAPI.test.js +58 -0
- package/dist/src/test/debridgeAPI.test.js.map +1 -0
- package/dist/src/test/index.d.ts +3 -0
- package/dist/src/test/index.js +26 -0
- package/dist/src/test/index.js.map +1 -0
- package/dist/src/test/lifi/quoteAPI.test.d.ts +1 -0
- package/dist/src/test/lifi/quoteAPI.test.js +60 -0
- package/dist/src/test/lifi/quoteAPI.test.js.map +1 -0
- package/dist/src/test/oneInch/approveAPI.test.d.ts +1 -0
- package/dist/src/test/oneInch/approveAPI.test.js +91 -0
- package/dist/src/test/oneInch/approveAPI.test.js.map +1 -0
- package/dist/src/test/oneInch/swapAPI.test.d.ts +1 -0
- package/dist/src/test/oneInch/swapAPI.test.js +125 -0
- package/dist/src/test/oneInch/swapAPI.test.js.map +1 -0
- package/dist/src/test/thorchainAPI.test.d.ts +1 -0
- package/dist/src/test/thorchainAPI.test.js +48 -0
- package/dist/src/test/thorchainAPI.test.js.map +1 -0
- package/dist/src/types/index.d.ts +26 -0
- package/dist/src/types/index.js +9 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/utils/index.d.ts +10 -0
- package/dist/src/utils/index.js +47 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +34 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { LiqualityError } from '../../LiqualityErrors/LiqualityError';
|
|
2
|
+
import { ErrorParser } from '../ErrorParser';
|
|
3
|
+
import { OneInchError } from '.';
|
|
4
|
+
export declare class OneInchSwapErrorParser extends ErrorParser<OneInchError, OneInchSwapParserDataType> {
|
|
5
|
+
static readonly errorSource = "OneInchSwapAPI";
|
|
6
|
+
protected _parseError(error: OneInchError, data: OneInchSwapParserDataType): LiqualityError;
|
|
7
|
+
}
|
|
8
|
+
export declare type OneInchSwapParserDataType = {
|
|
9
|
+
from: string;
|
|
10
|
+
to: string;
|
|
11
|
+
amount: string;
|
|
12
|
+
balance: string;
|
|
13
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OneInchSwapErrorParser = void 0;
|
|
4
|
+
const LiqualityError_1 = require("../../LiqualityErrors/LiqualityError");
|
|
5
|
+
const ErrorParser_1 = require("../ErrorParser");
|
|
6
|
+
const _1 = require(".");
|
|
7
|
+
const LiqualityErrors_1 = require("../../LiqualityErrors");
|
|
8
|
+
const utils_1 = require("../../utils");
|
|
9
|
+
class OneInchSwapErrorParser extends ErrorParser_1.ErrorParser {
|
|
10
|
+
_parseError(error, data) {
|
|
11
|
+
let liqError;
|
|
12
|
+
let devDesc = '';
|
|
13
|
+
if ((0, utils_1.is1001ValidationError)(error) || (0, utils_1.is1006NotFoundError)(error)) {
|
|
14
|
+
liqError = new LiqualityErrors_1.PairNotSupportedError();
|
|
15
|
+
}
|
|
16
|
+
else if ((error === null || error === void 0 ? void 0 : error.name) !== 'NodeError') {
|
|
17
|
+
liqError = new LiqualityErrors_1.UnknownError();
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
const errorDesc = error === null || error === void 0 ? void 0 : error.description;
|
|
21
|
+
switch (true) {
|
|
22
|
+
case _1.ONE_INCH_ERRORS.INSUFFICIENT_LIQUIDITY.test(errorDesc):
|
|
23
|
+
liqError = new LiqualityErrors_1.InsufficientLiquidityError({ from: data.from, to: data.to, amount: data.amount });
|
|
24
|
+
break;
|
|
25
|
+
case _1.ONE_INCH_ERRORS.CANNOT_ESTIMATE_1.test(errorDesc):
|
|
26
|
+
liqError = new LiqualityErrors_1.ThirdPartyError({ activity: LiqualityError_1.UserActivity.SWAP });
|
|
27
|
+
devDesc = 'see https://bit.ly/3Bu3e7U';
|
|
28
|
+
break;
|
|
29
|
+
case _1.ONE_INCH_ERRORS.INSUFFICIENT_GAS_FEE.test(errorDesc):
|
|
30
|
+
liqError = new LiqualityErrors_1.InsufficientGasFeeError();
|
|
31
|
+
break;
|
|
32
|
+
case _1.ONE_INCH_ERRORS.INVALID_TOKEN_ADDRESS.test(errorDesc):
|
|
33
|
+
liqError = new LiqualityErrors_1.InternalError();
|
|
34
|
+
break;
|
|
35
|
+
case _1.ONE_INCH_ERRORS.INVALID_TOKEN_PAIR.test(errorDesc):
|
|
36
|
+
liqError = new LiqualityErrors_1.InternalError();
|
|
37
|
+
break;
|
|
38
|
+
case _1.ONE_INCH_ERRORS.CANNOT_ESTIMATE_WITH_REASON.test(errorDesc):
|
|
39
|
+
liqError = new LiqualityErrors_1.ThirdPartyError({ activity: LiqualityError_1.UserActivity.SWAP });
|
|
40
|
+
devDesc = 'see https://bit.ly/3Bu3e7U';
|
|
41
|
+
break;
|
|
42
|
+
case _1.ONE_INCH_ERRORS.INSUFFICIENT_FUNDS.test(errorDesc):
|
|
43
|
+
liqError = new LiqualityErrors_1.InsufficientFundsError({
|
|
44
|
+
currency: data.from,
|
|
45
|
+
availAmt: data.balance,
|
|
46
|
+
neededAmt: data.amount,
|
|
47
|
+
});
|
|
48
|
+
break;
|
|
49
|
+
case _1.ONE_INCH_ERRORS.INSUFFICIENT_ALLOWANCE.test(errorDesc):
|
|
50
|
+
liqError = new LiqualityErrors_1.InternalError();
|
|
51
|
+
devDesc = 'Check the approval process for 1inch, approvals are not being made correctly';
|
|
52
|
+
break;
|
|
53
|
+
case _1.ONE_INCH_ERRORS.INTERNAL_ERROR.test(errorDesc):
|
|
54
|
+
liqError = new LiqualityErrors_1.ThirdPartyError({ activity: LiqualityError_1.UserActivity.SWAP });
|
|
55
|
+
devDesc = (0, _1.oneInchInternalErrReason)();
|
|
56
|
+
break;
|
|
57
|
+
default:
|
|
58
|
+
liqError = new LiqualityErrors_1.UnknownError();
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
liqError.source = OneInchSwapErrorParser.errorSource;
|
|
63
|
+
liqError.devMsg = { desc: devDesc, data };
|
|
64
|
+
liqError.rawError = error;
|
|
65
|
+
return liqError;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.OneInchSwapErrorParser = OneInchSwapErrorParser;
|
|
69
|
+
OneInchSwapErrorParser.errorSource = _1.oneInchSwapSourceName;
|
|
70
|
+
//# sourceMappingURL=SwapErrorParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwapErrorParser.js","sourceRoot":"","sources":["../../../../src/parsers/OneInchAPI/SwapErrorParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const oneInchQuoteErrorSource = "OneInchQuoteAPI";
|
|
2
|
+
export declare const oneInchSwapSourceName = "OneInchSwapAPI";
|
|
3
|
+
export declare const oneInchApproveSourceName = "OneInchApproveAPI";
|
|
4
|
+
export declare type OneInchError = {
|
|
5
|
+
statusCode: number;
|
|
6
|
+
error: string;
|
|
7
|
+
description: string;
|
|
8
|
+
requestId: string;
|
|
9
|
+
meta: {
|
|
10
|
+
type: string;
|
|
11
|
+
value: string;
|
|
12
|
+
}[];
|
|
13
|
+
name: string;
|
|
14
|
+
};
|
|
15
|
+
export declare const ONE_INCH_ERRORS: {
|
|
16
|
+
INSUFFICIENT_LIQUIDITY: RegExp;
|
|
17
|
+
CANNOT_ESTIMATE_1: RegExp;
|
|
18
|
+
CANNOT_ESTIMATE_WITH_REASON: RegExp;
|
|
19
|
+
INSUFFICIENT_GAS_FEE: RegExp;
|
|
20
|
+
INVALID_TOKEN_PAIR: RegExp;
|
|
21
|
+
INVALID_TOKEN_ADDRESS: RegExp;
|
|
22
|
+
INSUFFICIENT_FUNDS: RegExp;
|
|
23
|
+
INSUFFICIENT_ALLOWANCE: RegExp;
|
|
24
|
+
INTERNAL_ERROR: RegExp;
|
|
25
|
+
};
|
|
26
|
+
export declare function oneInchInternalErrReason(): string;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.oneInchInternalErrReason = exports.ONE_INCH_ERRORS = exports.oneInchApproveSourceName = exports.oneInchSwapSourceName = exports.oneInchQuoteErrorSource = void 0;
|
|
4
|
+
exports.oneInchQuoteErrorSource = 'OneInchQuoteAPI';
|
|
5
|
+
exports.oneInchSwapSourceName = 'OneInchSwapAPI';
|
|
6
|
+
exports.oneInchApproveSourceName = 'OneInchApproveAPI';
|
|
7
|
+
exports.ONE_INCH_ERRORS = {
|
|
8
|
+
INSUFFICIENT_LIQUIDITY: /Insufficient liquidity/i,
|
|
9
|
+
CANNOT_ESTIMATE_1: /Cannot estimate/i,
|
|
10
|
+
CANNOT_ESTIMATE_WITH_REASON: /Cannot estimate. Don't forget about miner fee. Try to leave the buffer of ETH for gas/i,
|
|
11
|
+
INSUFFICIENT_GAS_FEE: /You may not have enough ETH balance for gas fee/i,
|
|
12
|
+
INVALID_TOKEN_PAIR: /FromTokenAddress cannot be equals to toTokenAddress/i,
|
|
13
|
+
INVALID_TOKEN_ADDRESS: /\S* is wrong address/i,
|
|
14
|
+
INSUFFICIENT_FUNDS: /Not enough \S* balance/i,
|
|
15
|
+
INSUFFICIENT_ALLOWANCE: /Not enough \S* allowance/i,
|
|
16
|
+
INTERNAL_ERROR: /Internal Server Error/i,
|
|
17
|
+
};
|
|
18
|
+
function oneInchInternalErrReason() {
|
|
19
|
+
return 'This could be due to invalid data, for example providing a string for amount instead of a number';
|
|
20
|
+
}
|
|
21
|
+
exports.oneInchInternalErrReason = oneInchInternalErrReason;
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/parsers/OneInchAPI/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,iBAAiB,CAAC;AAC5C,QAAA,qBAAqB,GAAG,gBAAgB,CAAC;AACzC,QAAA,wBAAwB,GAAG,mBAAmB,CAAC;AAc/C,QAAA,eAAe,GAAG;IAC7B,sBAAsB,EAAE,yBAAyB;IACjD,iBAAiB,EAAE,kBAAkB;IACrC,2BAA2B,EAAE,wFAAwF;IACrH,oBAAoB,EAAE,kDAAkD;IACxE,kBAAkB,EAAE,sDAAsD;IAC1E,qBAAqB,EAAE,uBAAuB;IAC9C,kBAAkB,EAAE,yBAAyB;IAC7C,sBAAsB,EAAE,2BAA2B;IACnD,cAAc,EAAE,wBAAwB;CACzC,CAAC;AAEF,SAAgB,wBAAwB;IACtC,OAAO,kGAAkG,CAAC;AAC5G,CAAC;AAFD,4DAEC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LiqualityError } from '../../LiqualityErrors';
|
|
2
|
+
import { ErrorParser } from '../ErrorParser';
|
|
3
|
+
export declare class ThorchainAPIErrorParser extends ErrorParser<Error, ThorchainAPIErrorParserDataType> {
|
|
4
|
+
static readonly errorSource = "Thorchain API";
|
|
5
|
+
protected _parseError(error: Error, data?: ThorchainAPIErrorParserDataType): LiqualityError;
|
|
6
|
+
}
|
|
7
|
+
export declare type ThorchainAPIErrorParserDataType = {
|
|
8
|
+
txHash?: string;
|
|
9
|
+
};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ThorchainAPIErrorParser = void 0;
|
|
4
|
+
const LiqualityErrors_1 = require("../../LiqualityErrors");
|
|
5
|
+
const _1 = require(".");
|
|
6
|
+
const ErrorParser_1 = require("../ErrorParser");
|
|
7
|
+
class ThorchainAPIErrorParser extends ErrorParser_1.ErrorParser {
|
|
8
|
+
_parseError(error, data) {
|
|
9
|
+
let liqError;
|
|
10
|
+
let desc = '';
|
|
11
|
+
switch (error.message) {
|
|
12
|
+
case _1.THORCHAIN_ERRORS.NETWORK_ERROR:
|
|
13
|
+
liqError = new LiqualityErrors_1.ThirdPartyError();
|
|
14
|
+
desc = 'Thorchain seems to be down. Try contacting their support to ask why';
|
|
15
|
+
break;
|
|
16
|
+
default:
|
|
17
|
+
liqError = new LiqualityErrors_1.UnknownError();
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
liqError.source = ThorchainAPIErrorParser.errorSource;
|
|
21
|
+
liqError.devMsg = {
|
|
22
|
+
desc,
|
|
23
|
+
data: data || {},
|
|
24
|
+
};
|
|
25
|
+
liqError.rawError = error;
|
|
26
|
+
return liqError;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.ThorchainAPIErrorParser = ThorchainAPIErrorParser;
|
|
30
|
+
ThorchainAPIErrorParser.errorSource = _1.THORCHAIN_ERROR_SOURCE_NAME;
|
|
31
|
+
//# sourceMappingURL=ThorchainAPIErrorParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThorchainAPIErrorParser.js","sourceRoot":"","sources":["../../../../src/parsers/Thorchain/ThorchainAPIErrorParser.ts"],"names":[],"mappings":";;;AAEA,2DAAsF;AACtF,wBAAkE;AAClE,gDAA6C;AAC7C,MAAa,uBAAwB,SAAQ,yBAAmD;IAGpF,WAAW,CAAC,KAAY,EAAE,IAAsC;QACxE,IAAI,QAAwB,CAAC;QAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,QAAQ,KAAK,CAAC,OAAO,EAAE;YACrB,KAAK,mBAAgB,CAAC,aAAa;gBACjC,QAAQ,GAAG,IAAI,iCAAe,EAAE,CAAC;gBACjC,IAAI,GAAG,qEAAqE,CAAC;gBAC7E,MAAM;YACR;gBACE,QAAQ,GAAG,IAAI,8BAAY,EAAE,CAAC;gBAC9B,MAAM;SACT;QAED,QAAQ,CAAC,MAAM,GAAG,uBAAuB,CAAC,WAAW,CAAC;QACtD,QAAQ,CAAC,MAAM,GAAG;YAChB,IAAI;YACJ,IAAI,EAAE,IAAI,IAAI,EAAE;SACjB,CAAC;QACF,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;QAE1B,OAAO,QAAQ,CAAC;IAClB,CAAC;;AAxBH,0DAyBC;AAxBwB,mCAAW,GAAG,8BAA2B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.THORCHAIN_ERRORS = exports.THORCHAIN_ERROR_SOURCE_NAME = void 0;
|
|
4
|
+
exports.THORCHAIN_ERROR_SOURCE_NAME = 'Thorchain API';
|
|
5
|
+
exports.THORCHAIN_ERRORS = {
|
|
6
|
+
NETWORK_ERROR: 'Network Error',
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/parsers/Thorchain/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,2BAA2B,GAAG,eAAe,CAAC;AAE9C,QAAA,gBAAgB,GAAG;IAC9B,aAAa,EAAE,eAAe;CAC/B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { LiqualityError } from '../../LiqualityErrors';
|
|
2
|
+
import { ErrorParser } from '../ErrorParser';
|
|
3
|
+
export declare class UniswapV2SwapErroParser extends ErrorParser<Error, UniswapV2SwapErrorParserDataType> {
|
|
4
|
+
static readonly errorSource = "UniswapV2";
|
|
5
|
+
protected _parseError(error: Error, data?: UniswapV2SwapErrorParserDataType): LiqualityError;
|
|
6
|
+
}
|
|
7
|
+
export declare type UniswapV2SwapErrorParserDataType = null;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UniswapV2SwapErroParser = void 0;
|
|
4
|
+
const LiqualityErrors_1 = require("../../LiqualityErrors");
|
|
5
|
+
const _1 = require(".");
|
|
6
|
+
const ErrorParser_1 = require("../ErrorParser");
|
|
7
|
+
const ValidationError_1 = require("../../LiqualityErrors/ValidationError");
|
|
8
|
+
class UniswapV2SwapErroParser extends ErrorParser_1.ErrorParser {
|
|
9
|
+
_parseError(error, data) {
|
|
10
|
+
let liqError;
|
|
11
|
+
let desc = '';
|
|
12
|
+
switch (true) {
|
|
13
|
+
case error.message.includes(_1.UNISWAP_V2_ERRORS.UNSUPPORTED_SWAP_METHOD_FOR_TOKEN_TYPE):
|
|
14
|
+
liqError = new ValidationError_1.ValidationError();
|
|
15
|
+
desc =
|
|
16
|
+
'This is happening because the token involved in the swap is an FOT(fee on transfer) token. the supportingFeeOnTransfer token group of methods should be used. (See https://github.com/Uniswap/interface/issues/835)';
|
|
17
|
+
break;
|
|
18
|
+
default:
|
|
19
|
+
liqError = new LiqualityErrors_1.UnknownError();
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
liqError.source = UniswapV2SwapErroParser.errorSource;
|
|
23
|
+
liqError.devMsg = {
|
|
24
|
+
desc,
|
|
25
|
+
data: data || {},
|
|
26
|
+
};
|
|
27
|
+
liqError.rawError = error;
|
|
28
|
+
return liqError;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.UniswapV2SwapErroParser = UniswapV2SwapErroParser;
|
|
32
|
+
UniswapV2SwapErroParser.errorSource = _1.UNISWAP_V2_ERROR_SOURCE_NAME;
|
|
33
|
+
//# sourceMappingURL=UniswapV2SwapErrorParser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UniswapV2SwapErrorParser.js","sourceRoot":"","sources":["../../../../src/parsers/UniswapV2/UniswapV2SwapErrorParser.ts"],"names":[],"mappings":";;;AAEA,2DAAqE;AACrE,wBAAoE;AACpE,gDAA6C;AAC7C,2EAAwE;AACxE,MAAa,uBAAwB,SAAQ,yBAAoD;IAGrF,WAAW,CAAC,KAAY,EAAE,IAAuC;QACzE,IAAI,QAAwB,CAAC;QAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,QAAQ,IAAI,EAAE;YACZ,KAAK,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAiB,CAAC,sCAAsC,CAAC;gBACnF,QAAQ,GAAG,IAAI,iCAAe,EAAE,CAAC;gBACjC,IAAI;oBACF,qNAAqN,CAAC;gBACxN,MAAM;YACR;gBACE,QAAQ,GAAG,IAAI,8BAAY,EAAE,CAAC;gBAC9B,MAAM;SACT;QAED,QAAQ,CAAC,MAAM,GAAG,uBAAuB,CAAC,WAAW,CAAC;QACtD,QAAQ,CAAC,MAAM,GAAG;YAChB,IAAI;YACJ,IAAI,EAAE,IAAI,IAAI,EAAE;SACjB,CAAC;QACF,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;QAE1B,OAAO,QAAQ,CAAC;IAClB,CAAC;;AAzBH,0DA0BC;AAzBwB,mCAAW,GAAG,+BAA4B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UNISWAP_V2_ERRORS = exports.UNISWAP_V2_ERROR_SOURCE_NAME = void 0;
|
|
4
|
+
exports.UNISWAP_V2_ERROR_SOURCE_NAME = 'UniswapV2';
|
|
5
|
+
exports.UNISWAP_V2_ERRORS = {
|
|
6
|
+
UNSUPPORTED_SWAP_METHOD_FOR_TOKEN_TYPE: 'UniswapV2: K',
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/parsers/UniswapV2/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,4BAA4B,GAAG,WAAW,CAAC;AAE3C,QAAA,iBAAiB,GAAG;IAC/B,sCAAsC,EAAE,cAAc;CACvD,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './OneInchAPI/SwapErrorParser';
|
|
2
|
+
export * from './OneInchAPI/QuoteErrorParser';
|
|
3
|
+
export * from './OneInchAPI/ApproveErrorParser';
|
|
4
|
+
export * from './LifiAPI/QuoteErrorParser';
|
|
5
|
+
export * from './Chainify/ChainifyErrorParser';
|
|
6
|
+
export * from './Debridge/DebridgeAPIErrorParser';
|
|
7
|
+
export * from './Thorchain/ThorchainAPIErrorParser';
|
|
8
|
+
export * from './UniswapV2/UniswapV2SwapErrorParser';
|
|
9
|
+
export * from './ErrorParser';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./OneInchAPI/SwapErrorParser"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./OneInchAPI/QuoteErrorParser"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./OneInchAPI/ApproveErrorParser"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./LifiAPI/QuoteErrorParser"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./Chainify/ChainifyErrorParser"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./Debridge/DebridgeAPIErrorParser"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./Thorchain/ThorchainAPIErrorParser"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./UniswapV2/UniswapV2SwapErrorParser"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./ErrorParser"), exports);
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/parsers/index.ts"],"names":[],"mappings":";;;AAAA,uEAA6C;AAC7C,wEAA8C;AAC9C,0EAAgD;AAChD,qEAA2C;AAC3C,yEAA+C;AAC/C,4EAAkD;AAClD,8EAAoD;AACpD,+EAAqD;AACrD,wDAA8B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reportToConsole = void 0;
|
|
4
|
+
function reportToConsole(error) {
|
|
5
|
+
console.error(prepareErrorForConsole(error));
|
|
6
|
+
}
|
|
7
|
+
exports.reportToConsole = reportToConsole;
|
|
8
|
+
function prepareErrorForConsole(error) {
|
|
9
|
+
return `New Error From Error Parser \n
|
|
10
|
+
ID: ${error.data.errorId} \n
|
|
11
|
+
Name: ${error.name} \n
|
|
12
|
+
Source: ${error.source} \n
|
|
13
|
+
Developer Message: ${JSON.stringify(error.devMsg)} \n
|
|
14
|
+
Raw Error: ${JSON.stringify(error.rawError)} \n
|
|
15
|
+
Data: ${JSON.stringify(error.data)} \n
|
|
16
|
+
Stack: ${error.stack} \n`;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=console.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/reporters/console.ts"],"names":[],"mappings":";;;AAGA,SAAgB,eAAe,CAAC,KAA0C;IACxE,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC;AAFD,0CAEC;AAED,SAAS,sBAAsB,CAAC,KAA0C;IACxE,OAAO;gBACO,KAAK,CAAC,IAAI,CAAC,OAAO;kBAChB,KAAK,CAAC,IAAI;oBACR,KAAK,CAAC,MAAM;+BACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;uBACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;kBACnC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;mBACzB,KAAK,CAAC,KAAK,KAAK,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reportToDiscord = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const client_1 = require("@yaswap/client");
|
|
6
|
+
const reportToDiscord = (error) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
7
|
+
const messages = prepareErrorForDiscord(error);
|
|
8
|
+
const htttpClient = new client_1.HttpClient({});
|
|
9
|
+
messages.forEach((message) => {
|
|
10
|
+
htttpClient
|
|
11
|
+
.nodePost(`${process.env.VUE_APP_DISCORD_WEBHOOK}`, {
|
|
12
|
+
content: message,
|
|
13
|
+
username: 'Error Parser',
|
|
14
|
+
})
|
|
15
|
+
.catch(ignoreError);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
exports.reportToDiscord = reportToDiscord;
|
|
19
|
+
function ignoreError(e) {
|
|
20
|
+
return e;
|
|
21
|
+
}
|
|
22
|
+
function prepareErrorForDiscord(error) {
|
|
23
|
+
const header = `**New Error From Error Parser** \n
|
|
24
|
+
ID: ${error.data.errorId} \n
|
|
25
|
+
Name: ${error.name} \n
|
|
26
|
+
Source: ${error.source} \n
|
|
27
|
+
Developer Message: ${JSON.stringify(error.devMsg)} \n`;
|
|
28
|
+
const footer = `Data: ${JSON.stringify(error.data)} \n
|
|
29
|
+
Stack: ${error.stack} \n`;
|
|
30
|
+
const DISCORD_CHARACTER_LIMIT = 1900;
|
|
31
|
+
const maxLengthForRawError = DISCORD_CHARACTER_LIMIT - (header.length + footer.length);
|
|
32
|
+
const rawErrorString = JSON.stringify(error.rawError);
|
|
33
|
+
let start = 0;
|
|
34
|
+
let end = maxLengthForRawError;
|
|
35
|
+
const splittedRawError = [];
|
|
36
|
+
if (rawErrorString.length > maxLengthForRawError) {
|
|
37
|
+
while (start !== end) {
|
|
38
|
+
splittedRawError.push(rawErrorString.substring(start, end));
|
|
39
|
+
start = end;
|
|
40
|
+
if (end + maxLengthForRawError > rawErrorString.length)
|
|
41
|
+
end = rawErrorString.length;
|
|
42
|
+
else
|
|
43
|
+
end += maxLengthForRawError;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (splittedRawError.length === 0) {
|
|
47
|
+
return [
|
|
48
|
+
`${header}
|
|
49
|
+
Raw Error: ${JSON.stringify(error.rawError)} \n
|
|
50
|
+
${footer}`,
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const messages = [];
|
|
55
|
+
splittedRawError.forEach((errorPart, index) => {
|
|
56
|
+
messages.push(`
|
|
57
|
+
${header}
|
|
58
|
+
Raw Error (${index + 1} of ${splittedRawError.length}): ${JSON.stringify(errorPart)} \n
|
|
59
|
+
${footer}`);
|
|
60
|
+
});
|
|
61
|
+
return messages;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=discord.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discord.js","sourceRoot":"","sources":["../../../src/reporters/discord.ts"],"names":[],"mappings":";;;;AACA,2CAA4C;AAGrC,MAAM,eAAe,GAAG,CAAO,KAA0C,EAAE,EAAE;IAClF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,mBAAU,CAAC,EAAE,CAAC,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,WAAW;aACR,QAAQ,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,EAAE;YAClD,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,cAAc;SACzB,CAAC;aACD,KAAK,CAAC,WAAW,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAXW,QAAA,eAAe,mBAW1B;AAEF,SAAS,WAAW,CAAC,CAAM;IACzB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,sBAAsB,CAAC,KAA0C;IACxE,MAAM,MAAM,GAAG;QACT,KAAK,CAAC,IAAI,CAAC,OAAO;UAChB,KAAK,CAAC,IAAI;YACR,KAAK,CAAC,MAAM;uBACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAEvD,MAAM,MAAM,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;WACzC,KAAK,CAAC,KAAK,KAAK,CAAC;IAE1B,MAAM,uBAAuB,GAAG,IAAI,CAAC;IACrC,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEtD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,oBAAoB,CAAC;IAC/B,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAE5B,IAAI,cAAc,CAAC,MAAM,GAAG,oBAAoB,EAAE;QAChD,OAAO,KAAK,KAAK,GAAG,EAAE;YACpB,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAC5D,KAAK,GAAG,GAAG,CAAC;YACZ,IAAI,GAAG,GAAG,oBAAoB,GAAG,cAAc,CAAC,MAAM;gBAAE,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC;;gBAC/E,GAAG,IAAI,oBAAoB,CAAC;SAClC;KACF;IAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;QACjC,OAAO;YACL,GAAG,MAAM;qBACM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;UACzC,MAAM,EAAE;SACb,CAAC;KACH;SAAM;QACL,MAAM,QAAQ,GAAkB,EAAE,CAAC;QAEnC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YAC5C,QAAQ,CAAC,IAAI,CAAC;UACV,MAAM;qBACK,KAAK,GAAG,CAAC,OAAO,gBAAgB,CAAC,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;UACjF,MAAM,EAAE,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;KACjB;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { LiqualityErrorJSON } from '../types';
|
|
2
|
+
export declare function updateErrorReporterConfig({ useReporter, callback, }: {
|
|
3
|
+
useReporter?: boolean;
|
|
4
|
+
callback?: (error: LiqualityErrorJSON) => any;
|
|
5
|
+
}): void;
|
|
6
|
+
export declare function reportLiqualityError(error: any): void;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.reportLiqualityError = exports.updateErrorReporterConfig = void 0;
|
|
4
|
+
const LiqualityErrors_1 = require("../LiqualityErrors");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
const LiqualityError_1 = require("../LiqualityErrors/LiqualityError");
|
|
7
|
+
const types_1 = require("../types");
|
|
8
|
+
const console_1 = require("./console");
|
|
9
|
+
const discord_1 = require("./discord");
|
|
10
|
+
const reporterConfig = new (class ReporterConfig {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.useReporter = false;
|
|
13
|
+
this.callback = false;
|
|
14
|
+
}
|
|
15
|
+
})();
|
|
16
|
+
function updateErrorReporterConfig({ useReporter, callback, }) {
|
|
17
|
+
if (typeof useReporter !== 'undefined')
|
|
18
|
+
reporterConfig.useReporter = useReporter;
|
|
19
|
+
if (callback) {
|
|
20
|
+
reporterConfig.callback = callback;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.updateErrorReporterConfig = updateErrorReporterConfig;
|
|
24
|
+
function reportLiqualityError(error) {
|
|
25
|
+
if (reporterConfig.useReporter) {
|
|
26
|
+
const liqualityError = errorToLiqualityErrorObj(error);
|
|
27
|
+
if (!liqualityError.reportable || liqualityError.reported)
|
|
28
|
+
return;
|
|
29
|
+
const reportTargets = process.env.VUE_APP_REPORT_TARGETS;
|
|
30
|
+
if (reportTargets === null || reportTargets === void 0 ? void 0 : reportTargets.includes(types_1.ReportTargets.Console))
|
|
31
|
+
(0, console_1.reportToConsole)(liqualityError);
|
|
32
|
+
if (reportTargets === null || reportTargets === void 0 ? void 0 : reportTargets.includes(types_1.ReportTargets.Discord))
|
|
33
|
+
(0, discord_1.reportToDiscord)(liqualityError);
|
|
34
|
+
liqualityError.reported = true;
|
|
35
|
+
}
|
|
36
|
+
reporterConfig.callback && reporterConfig.callback((0, utils_1.liqualityErrorStringToJson)((0, utils_1.errorToLiqualityErrorString)(error)));
|
|
37
|
+
}
|
|
38
|
+
exports.reportLiqualityError = reportLiqualityError;
|
|
39
|
+
function errorToLiqualityErrorObj(error) {
|
|
40
|
+
if (error instanceof LiqualityError_1.LiqualityError)
|
|
41
|
+
return error;
|
|
42
|
+
else if (error instanceof Error && (0, utils_1.isLiqualityErrorString)(error.message))
|
|
43
|
+
return (0, utils_1.liqualityErrorStringToJson)(error.message);
|
|
44
|
+
else
|
|
45
|
+
return new LiqualityErrors_1.InternalError(LiqualityErrors_1.CUSTOM_ERRORS.Unknown(error));
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reporters/index.ts"],"names":[],"mappings":";;;AAAA,wDAAkE;AAClE,oCAA2G;AAC3G,sEAAmE;AACnE,oCAA6D;AAC7D,uCAA4C;AAC5C,uCAA4C;AAE5C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,cAAc;IAI9C;QACE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,KAAY,CAAC;IAC/B,CAAC;CACF,CAAC,EAAE,CAAC;AAEL,SAAgB,yBAAyB,CAAC,EACxC,WAAW,EACX,QAAQ,GAIT;IACC,IAAI,OAAO,WAAW,KAAK,WAAW;QAAE,cAAc,CAAC,WAAW,GAAG,WAAW,CAAC;IACjF,IAAI,QAAQ,EAAE;QACZ,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC;KACpC;AACH,CAAC;AAXD,8DAWC;AAED,SAAgB,oBAAoB,CAAC,KAAU;IAC7C,IAAI,cAAc,CAAC,WAAW,EAAE;QAC9B,MAAM,cAAc,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,QAAQ;YAAE,OAAO;QAClE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;QACzD,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAC,qBAAa,CAAC,OAAO,CAAC;YAAE,IAAA,yBAAe,EAAC,cAAc,CAAC,CAAC;QACpF,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,CAAC,qBAAa,CAAC,OAAO,CAAC;YAAE,IAAA,yBAAe,EAAC,cAAc,CAAC,CAAC;QAEpF,cAAc,CAAC,QAAQ,GAAG,IAAI,CAAC;KAChC;IACD,cAAc,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAA,kCAA0B,EAAC,IAAA,mCAA2B,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrH,CAAC;AAXD,oDAWC;AAED,SAAS,wBAAwB,CAAC,KAAU;IAC1C,IAAI,KAAK,YAAY,+BAAc;QAAE,OAAO,KAAK,CAAC;SAC7C,IAAI,KAAK,YAAY,KAAK,IAAI,IAAA,8BAAsB,EAAC,KAAK,CAAC,OAAO,CAAC;QACtE,OAAO,IAAA,kCAA0B,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;;QAC9C,OAAO,IAAI,+BAAa,CAAC,+BAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
const __2 = require("../..");
|
|
6
|
+
const parsers_1 = require("../../parsers");
|
|
7
|
+
const JsonRPCNodeErrorParser_1 = require("../../parsers/Chainify/JsonRPCNodeErrorParser");
|
|
8
|
+
describe('JsonRPCNodeError parser', () => {
|
|
9
|
+
const parser = (0, __2.getErrorParser)(parsers_1.ChainifyErrorParser);
|
|
10
|
+
const rskInsufficientGasPriceError = 'processing response error (body={"jsonrpc":"2.0","error":{"code":-32010,"message":"transaction\'s gas price lower than block\'s minimum"},"id":44}, error={"code":-32010}, requestBody="{"method":"eth_sendRawTransaction","params":["0xf9016a828334808301a012944cada3b127fd31921127409a86a71d0a7cb7a85b80b90104e60e2b520000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000016c487299760dd3383f188249a4d873d3e29f3910000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000003dfcb407b3e3817427649829cb1b4b0eeba4b65e00000000000000000000000000000000000000000000000000000000000000008228bca0b90cfbeebbee57a0179252d61fb028f878f7b00f6468d5399e15ab225ed5c7e8a031af41679a9e868af5d02c67accab79e61b5356d63c554bd9c9b829a9acbc521"],"id":44,"jsonrpc":"2.0"}", requestMethod="POST", url="https://infura.io", code=SERVER_ERROR, version=web/5.0.2)';
|
|
11
|
+
const errorMap = [[rskInsufficientGasPriceError, __2.InsufficientGasFeeError.name]];
|
|
12
|
+
it('should not log anything to console', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
13
|
+
const logSpy = jest.spyOn(console, 'log');
|
|
14
|
+
(0, __1.getError)(() => {
|
|
15
|
+
return parser.wrap(() => {
|
|
16
|
+
throw __1.FAKE_ERROR;
|
|
17
|
+
}, null);
|
|
18
|
+
});
|
|
19
|
+
yield (0, __1.getErrorAsync)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
return yield parser.wrapAsync(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
+
throw __1.FAKE_ERROR;
|
|
22
|
+
}), null);
|
|
23
|
+
}));
|
|
24
|
+
expect(logSpy).toHaveBeenCalledTimes(0);
|
|
25
|
+
}));
|
|
26
|
+
it.each(errorMap)("should map '%s' => '%s'", (sourceError, liqError) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
const validError = {
|
|
28
|
+
message: sourceError,
|
|
29
|
+
name: 'NodeError',
|
|
30
|
+
};
|
|
31
|
+
const error = (0, __1.getError)(() => {
|
|
32
|
+
parser.wrap(() => {
|
|
33
|
+
throw validError;
|
|
34
|
+
}, null);
|
|
35
|
+
});
|
|
36
|
+
expect(error.name).toBe(liqError);
|
|
37
|
+
expect(error.source).toBe(JsonRPCNodeErrorParser_1.JsonRPCNodeErrorParser.errorSource);
|
|
38
|
+
expect(error.rawError).toBe(validError);
|
|
39
|
+
const error1 = yield (0, __1.getErrorAsync)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
40
|
+
yield parser.wrapAsync(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
+
throw validError;
|
|
42
|
+
}), null);
|
|
43
|
+
}));
|
|
44
|
+
expect(error1.name).toBe(liqError);
|
|
45
|
+
expect(error1.source).toBe(JsonRPCNodeErrorParser_1.JsonRPCNodeErrorParser.errorSource);
|
|
46
|
+
expect(error1.rawError).toBe(validError);
|
|
47
|
+
}));
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=jsonRPCNode.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonRPCNode.test.js","sourceRoot":"","sources":["../../../../src/test/chainify/jsonRPCNode.test.ts"],"names":[],"mappings":";;;AAAA,0BAAyD;AAEzD,6BAAgE;AAChE,2CAAoD;AACpD,0FAAuF;AAEvF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,MAAM,MAAM,GAAG,IAAA,kBAAc,EAAC,6BAAmB,CAAC,CAAC;IAEnD,MAAM,4BAA4B,GAChC,sjCAAsjC,CAAC;IAEzjC,MAAM,QAAQ,GAAG,CAAC,CAAC,4BAA4B,EAAE,2BAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhF,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE1C,IAAA,YAAQ,EAAC,GAAG,EAAE;YACZ,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtB,MAAM,cAAU,CAAC;YACnB,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,MAAM,IAAA,iBAAa,EAAC,GAAS,EAAE;YAC7B,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,GAAS,EAAE;gBACvC,MAAM,cAAU,CAAC;YACnB,CAAC,CAAA,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAA,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,yBAAyB,EAAE,CAAO,WAAW,EAAE,QAAQ,EAAE,EAAE;QAC3E,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,WAAW;SAClB,CAAC;QAEF,MAAM,KAAK,GAAmB,IAAA,YAAQ,EAAC,GAAG,EAAE;YAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,MAAM,UAAU,CAAC;YACnB,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,+CAAsB,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,MAAM,MAAM,GAAmB,MAAM,IAAA,iBAAa,EAAC,GAAS,EAAE;YAC5D,MAAM,MAAM,CAAC,SAAS,CAAC,GAAS,EAAE;gBAChC,MAAM,UAAU,CAAC;YACnB,CAAC,CAAA,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAA,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,+CAAsB,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const __1 = require("..");
|
|
5
|
+
const __2 = require("../..");
|
|
6
|
+
const parsers_1 = require("../../parsers");
|
|
7
|
+
const Chainify_1 = require("../../parsers/Chainify");
|
|
8
|
+
const LedgerErrorParser_1 = require("../../parsers/Chainify/LedgerErrorParser");
|
|
9
|
+
describe('Ledger parser', () => {
|
|
10
|
+
const parser = (0, __2.getErrorParser)(parsers_1.ChainifyErrorParser);
|
|
11
|
+
const errorMap = [
|
|
12
|
+
[Chainify_1.LEDGER_ERRORS.APP_MISMATCH_ERROR, __2.LedgerAppMismatchError.name],
|
|
13
|
+
[Chainify_1.LEDGER_ERRORS.APP_NOT_SELECTED_ERROR, __2.LedgerAppMismatchError.name],
|
|
14
|
+
[Chainify_1.LEDGER_ERRORS.DAPP_CONFLICT_ERROR, __2.LedgerDappConflictError.name],
|
|
15
|
+
[Chainify_1.LEDGER_ERRORS.DEVICE_LOCKED_ERROR, __2.LedgerDeviceLockedError.name],
|
|
16
|
+
[Chainify_1.LEDGER_ERRORS.NOT_UPDATED_ERROR, __2.LedgerDeviceNotUpdatedError.name],
|
|
17
|
+
[Chainify_1.LEDGER_ERRORS.INVALID_DATA_ERROR, __2.LedgerDeviceNotUpdatedError.name],
|
|
18
|
+
[Chainify_1.LEDGER_ERRORS.USER_REJECTED, __2.UserDeclinedError.name],
|
|
19
|
+
[Chainify_1.LEDGER_ERRORS.SMART_CONTRACT_INTERACTION_DISABLED, __2.LedgerDeviceSmartContractTransactionDisabledError.name],
|
|
20
|
+
];
|
|
21
|
+
it('should not log anything to console', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
+
const logSpy = jest.spyOn(console, 'log');
|
|
23
|
+
(0, __1.getError)(() => {
|
|
24
|
+
return parser.wrap(() => {
|
|
25
|
+
throw __1.FAKE_ERROR;
|
|
26
|
+
}, null);
|
|
27
|
+
});
|
|
28
|
+
yield (0, __1.getErrorAsync)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
return yield parser.wrapAsync(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
+
throw __1.FAKE_ERROR;
|
|
31
|
+
}), null);
|
|
32
|
+
}));
|
|
33
|
+
expect(logSpy).toHaveBeenCalledTimes(0);
|
|
34
|
+
}));
|
|
35
|
+
it.each(errorMap)("should map '%s' => '%s'", (sourceError, liqError) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
+
const validError = {
|
|
37
|
+
message: sourceError,
|
|
38
|
+
name: 'WalletError',
|
|
39
|
+
};
|
|
40
|
+
const error = (0, __1.getError)(() => {
|
|
41
|
+
parser.wrap(() => {
|
|
42
|
+
throw validError;
|
|
43
|
+
}, null);
|
|
44
|
+
});
|
|
45
|
+
expect(error.name).toBe(liqError);
|
|
46
|
+
expect(error.source).toBe(LedgerErrorParser_1.LedgerErrorParser.errorSource);
|
|
47
|
+
expect(error.rawError).toBe(validError);
|
|
48
|
+
const error1 = yield (0, __1.getErrorAsync)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
49
|
+
yield parser.wrapAsync(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
50
|
+
throw validError;
|
|
51
|
+
}), null);
|
|
52
|
+
}));
|
|
53
|
+
expect(error1.name).toBe(liqError);
|
|
54
|
+
expect(error1.source).toBe(LedgerErrorParser_1.LedgerErrorParser.errorSource);
|
|
55
|
+
expect(error1.rawError).toBe(validError);
|
|
56
|
+
}));
|
|
57
|
+
});
|
|
58
|
+
//# sourceMappingURL=ledgerDevice.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ledgerDevice.test.js","sourceRoot":"","sources":["../../../../src/test/chainify/ledgerDevice.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|