@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.
Files changed (206) hide show
  1. package/CHANGELOG.md +469 -0
  2. package/README.md +117 -0
  3. package/dist/package.json +34 -0
  4. package/dist/src/LiqualityErrors/DappNotConnectedError.d.ts +9 -0
  5. package/dist/src/LiqualityErrors/DappNotConnectedError.js +15 -0
  6. package/dist/src/LiqualityErrors/DappNotConnectedError.js.map +1 -0
  7. package/dist/src/LiqualityErrors/DuplicateTokenSymbolError.d.ts +4 -0
  8. package/dist/src/LiqualityErrors/DuplicateTokenSymbolError.js +12 -0
  9. package/dist/src/LiqualityErrors/DuplicateTokenSymbolError.js.map +1 -0
  10. package/dist/src/LiqualityErrors/HighInputAmountError.d.ts +9 -0
  11. package/dist/src/LiqualityErrors/HighInputAmountError.js +15 -0
  12. package/dist/src/LiqualityErrors/HighInputAmountError.js.map +1 -0
  13. package/dist/src/LiqualityErrors/InsufficientFundsError.d.ts +9 -0
  14. package/dist/src/LiqualityErrors/InsufficientFundsError.js +12 -0
  15. package/dist/src/LiqualityErrors/InsufficientFundsError.js.map +1 -0
  16. package/dist/src/LiqualityErrors/InsufficientGasFeeError.d.ts +8 -0
  17. package/dist/src/LiqualityErrors/InsufficientGasFeeError.js +12 -0
  18. package/dist/src/LiqualityErrors/InsufficientGasFeeError.js.map +1 -0
  19. package/dist/src/LiqualityErrors/InsufficientInputAmountError.d.ts +8 -0
  20. package/dist/src/LiqualityErrors/InsufficientInputAmountError.js +12 -0
  21. package/dist/src/LiqualityErrors/InsufficientInputAmountError.js.map +1 -0
  22. package/dist/src/LiqualityErrors/InsufficientLiquidityError.d.ts +10 -0
  23. package/dist/src/LiqualityErrors/InsufficientLiquidityError.js +15 -0
  24. package/dist/src/LiqualityErrors/InsufficientLiquidityError.js.map +1 -0
  25. package/dist/src/LiqualityErrors/InternalError.d.ts +5 -0
  26. package/dist/src/LiqualityErrors/InternalError.js +15 -0
  27. package/dist/src/LiqualityErrors/InternalError.js.map +1 -0
  28. package/dist/src/LiqualityErrors/LedgerAppMismatchError.d.ts +4 -0
  29. package/dist/src/LiqualityErrors/LedgerAppMismatchError.js +12 -0
  30. package/dist/src/LiqualityErrors/LedgerAppMismatchError.js.map +1 -0
  31. package/dist/src/LiqualityErrors/LedgerDappConflictError.d.ts +4 -0
  32. package/dist/src/LiqualityErrors/LedgerDappConflictError.js +12 -0
  33. package/dist/src/LiqualityErrors/LedgerDappConflictError.js.map +1 -0
  34. package/dist/src/LiqualityErrors/LedgerDeviceConnectionError.d.ts +4 -0
  35. package/dist/src/LiqualityErrors/LedgerDeviceConnectionError.js +12 -0
  36. package/dist/src/LiqualityErrors/LedgerDeviceConnectionError.js.map +1 -0
  37. package/dist/src/LiqualityErrors/LedgerDeviceLockedError.d.ts +4 -0
  38. package/dist/src/LiqualityErrors/LedgerDeviceLockedError.js +12 -0
  39. package/dist/src/LiqualityErrors/LedgerDeviceLockedError.js.map +1 -0
  40. package/dist/src/LiqualityErrors/LedgerDeviceNotUpdatedError.d.ts +4 -0
  41. package/dist/src/LiqualityErrors/LedgerDeviceNotUpdatedError.js +12 -0
  42. package/dist/src/LiqualityErrors/LedgerDeviceNotUpdatedError.js.map +1 -0
  43. package/dist/src/LiqualityErrors/LedgerDeviceSmartContractTransactionDisabledError.d.ts +4 -0
  44. package/dist/src/LiqualityErrors/LedgerDeviceSmartContractTransactionDisabledError.js +12 -0
  45. package/dist/src/LiqualityErrors/LedgerDeviceSmartContractTransactionDisabledError.js.map +1 -0
  46. package/dist/src/LiqualityErrors/LiqualityError.d.ts +22 -0
  47. package/dist/src/LiqualityErrors/LiqualityError.js +39 -0
  48. package/dist/src/LiqualityErrors/LiqualityError.js.map +1 -0
  49. package/dist/src/LiqualityErrors/LowSpeedupFeeError.d.ts +4 -0
  50. package/dist/src/LiqualityErrors/LowSpeedupFeeError.js +12 -0
  51. package/dist/src/LiqualityErrors/LowSpeedupFeeError.js.map +1 -0
  52. package/dist/src/LiqualityErrors/NoActiveWalletError.d.ts +5 -0
  53. package/dist/src/LiqualityErrors/NoActiveWalletError.js +15 -0
  54. package/dist/src/LiqualityErrors/NoActiveWalletError.js.map +1 -0
  55. package/dist/src/LiqualityErrors/NoTipError.d.ts +4 -0
  56. package/dist/src/LiqualityErrors/NoTipError.js +12 -0
  57. package/dist/src/LiqualityErrors/NoTipError.js.map +1 -0
  58. package/dist/src/LiqualityErrors/PairNotSupportedError.d.ts +8 -0
  59. package/dist/src/LiqualityErrors/PairNotSupportedError.js +12 -0
  60. package/dist/src/LiqualityErrors/PairNotSupportedError.js.map +1 -0
  61. package/dist/src/LiqualityErrors/PasswordError.d.ts +4 -0
  62. package/dist/src/LiqualityErrors/PasswordError.js +12 -0
  63. package/dist/src/LiqualityErrors/PasswordError.js.map +1 -0
  64. package/dist/src/LiqualityErrors/SlippageTooHighError.d.ts +9 -0
  65. package/dist/src/LiqualityErrors/SlippageTooHighError.js +12 -0
  66. package/dist/src/LiqualityErrors/SlippageTooHighError.js.map +1 -0
  67. package/dist/src/LiqualityErrors/ThirdPartyError.d.ts +9 -0
  68. package/dist/src/LiqualityErrors/ThirdPartyError.js +23 -0
  69. package/dist/src/LiqualityErrors/ThirdPartyError.js.map +1 -0
  70. package/dist/src/LiqualityErrors/UnknownError.d.ts +5 -0
  71. package/dist/src/LiqualityErrors/UnknownError.js +13 -0
  72. package/dist/src/LiqualityErrors/UnknownError.js.map +1 -0
  73. package/dist/src/LiqualityErrors/UserDeclinedError.d.ts +5 -0
  74. package/dist/src/LiqualityErrors/UserDeclinedError.js +15 -0
  75. package/dist/src/LiqualityErrors/UserDeclinedError.js.map +1 -0
  76. package/dist/src/LiqualityErrors/ValidationError.d.ts +5 -0
  77. package/dist/src/LiqualityErrors/ValidationError.js +15 -0
  78. package/dist/src/LiqualityErrors/ValidationError.js.map +1 -0
  79. package/dist/src/LiqualityErrors/VeryHighMaxFeeWarning.d.ts +7 -0
  80. package/dist/src/LiqualityErrors/VeryHighMaxFeeWarning.js +12 -0
  81. package/dist/src/LiqualityErrors/VeryHighMaxFeeWarning.js.map +1 -0
  82. package/dist/src/LiqualityErrors/VeryHighTipWarning.d.ts +4 -0
  83. package/dist/src/LiqualityErrors/VeryHighTipWarning.js +12 -0
  84. package/dist/src/LiqualityErrors/VeryHighTipWarning.js.map +1 -0
  85. package/dist/src/LiqualityErrors/VeryLowMaxFeeError.d.ts +7 -0
  86. package/dist/src/LiqualityErrors/VeryLowMaxFeeError.js +12 -0
  87. package/dist/src/LiqualityErrors/VeryLowMaxFeeError.js.map +1 -0
  88. package/dist/src/LiqualityErrors/VeryLowTipError.d.ts +4 -0
  89. package/dist/src/LiqualityErrors/VeryLowTipError.js +12 -0
  90. package/dist/src/LiqualityErrors/VeryLowTipError.js.map +1 -0
  91. package/dist/src/LiqualityErrors/WalletLockedError.d.ts +5 -0
  92. package/dist/src/LiqualityErrors/WalletLockedError.js +15 -0
  93. package/dist/src/LiqualityErrors/WalletLockedError.js.map +1 -0
  94. package/dist/src/LiqualityErrors/customErrors.d.ts +91 -0
  95. package/dist/src/LiqualityErrors/customErrors.js +95 -0
  96. package/dist/src/LiqualityErrors/customErrors.js.map +1 -0
  97. package/dist/src/LiqualityErrors/index.d.ts +31 -0
  98. package/dist/src/LiqualityErrors/index.js +66 -0
  99. package/dist/src/LiqualityErrors/index.js.map +1 -0
  100. package/dist/src/config.d.ts +39 -0
  101. package/dist/src/config.js +43 -0
  102. package/dist/src/config.js.map +1 -0
  103. package/dist/src/factory/index.d.ts +1 -0
  104. package/dist/src/factory/index.js +18 -0
  105. package/dist/src/factory/index.js.map +1 -0
  106. package/dist/src/index.d.ts +7 -0
  107. package/dist/src/index.js +19 -0
  108. package/dist/src/index.js.map +1 -0
  109. package/dist/src/parsers/Chainify/ChainifyErrorParser.d.ts +7 -0
  110. package/dist/src/parsers/Chainify/ChainifyErrorParser.js +63 -0
  111. package/dist/src/parsers/Chainify/ChainifyErrorParser.js.map +1 -0
  112. package/dist/src/parsers/Chainify/JsonRPCNodeErrorParser.d.ts +7 -0
  113. package/dist/src/parsers/Chainify/JsonRPCNodeErrorParser.js +29 -0
  114. package/dist/src/parsers/Chainify/JsonRPCNodeErrorParser.js.map +1 -0
  115. package/dist/src/parsers/Chainify/LedgerErrorParser.d.ts +7 -0
  116. package/dist/src/parsers/Chainify/LedgerErrorParser.js +46 -0
  117. package/dist/src/parsers/Chainify/LedgerErrorParser.js.map +1 -0
  118. package/dist/src/parsers/Chainify/index.d.ts +16 -0
  119. package/dist/src/parsers/Chainify/index.js +20 -0
  120. package/dist/src/parsers/Chainify/index.js.map +1 -0
  121. package/dist/src/parsers/Debridge/DebridgeAPIErrorParser.d.ts +8 -0
  122. package/dist/src/parsers/Debridge/DebridgeAPIErrorParser.js +48 -0
  123. package/dist/src/parsers/Debridge/DebridgeAPIErrorParser.js.map +1 -0
  124. package/dist/src/parsers/Debridge/index.d.ts +16 -0
  125. package/dist/src/parsers/Debridge/index.js +14 -0
  126. package/dist/src/parsers/Debridge/index.js.map +1 -0
  127. package/dist/src/parsers/ErrorParser.d.ts +8 -0
  128. package/dist/src/parsers/ErrorParser.js +37 -0
  129. package/dist/src/parsers/ErrorParser.js.map +1 -0
  130. package/dist/src/parsers/LifiAPI/QuoteErrorParser.d.ts +7 -0
  131. package/dist/src/parsers/LifiAPI/QuoteErrorParser.js +72 -0
  132. package/dist/src/parsers/LifiAPI/QuoteErrorParser.js.map +1 -0
  133. package/dist/src/parsers/LifiAPI/index.d.ts +45 -0
  134. package/dist/src/parsers/LifiAPI/index.js +34 -0
  135. package/dist/src/parsers/LifiAPI/index.js.map +1 -0
  136. package/dist/src/parsers/OneInchAPI/ApproveErrorParser.d.ts +7 -0
  137. package/dist/src/parsers/OneInchAPI/ApproveErrorParser.js +42 -0
  138. package/dist/src/parsers/OneInchAPI/ApproveErrorParser.js.map +1 -0
  139. package/dist/src/parsers/OneInchAPI/QuoteErrorParser.d.ts +4 -0
  140. package/dist/src/parsers/OneInchAPI/QuoteErrorParser.js +10 -0
  141. package/dist/src/parsers/OneInchAPI/QuoteErrorParser.js.map +1 -0
  142. package/dist/src/parsers/OneInchAPI/SwapErrorParser.d.ts +13 -0
  143. package/dist/src/parsers/OneInchAPI/SwapErrorParser.js +70 -0
  144. package/dist/src/parsers/OneInchAPI/SwapErrorParser.js.map +1 -0
  145. package/dist/src/parsers/OneInchAPI/index.d.ts +26 -0
  146. package/dist/src/parsers/OneInchAPI/index.js +22 -0
  147. package/dist/src/parsers/OneInchAPI/index.js.map +1 -0
  148. package/dist/src/parsers/Thorchain/ThorchainAPIErrorParser.d.ts +9 -0
  149. package/dist/src/parsers/Thorchain/ThorchainAPIErrorParser.js +31 -0
  150. package/dist/src/parsers/Thorchain/ThorchainAPIErrorParser.js.map +1 -0
  151. package/dist/src/parsers/Thorchain/index.d.ts +4 -0
  152. package/dist/src/parsers/Thorchain/index.js +8 -0
  153. package/dist/src/parsers/Thorchain/index.js.map +1 -0
  154. package/dist/src/parsers/UniswapV2/UniswapV2SwapErrorParser.d.ts +7 -0
  155. package/dist/src/parsers/UniswapV2/UniswapV2SwapErrorParser.js +33 -0
  156. package/dist/src/parsers/UniswapV2/UniswapV2SwapErrorParser.js.map +1 -0
  157. package/dist/src/parsers/UniswapV2/index.d.ts +4 -0
  158. package/dist/src/parsers/UniswapV2/index.js +8 -0
  159. package/dist/src/parsers/UniswapV2/index.js.map +1 -0
  160. package/dist/src/parsers/index.d.ts +9 -0
  161. package/dist/src/parsers/index.js +13 -0
  162. package/dist/src/parsers/index.js.map +1 -0
  163. package/dist/src/reporters/console.d.ts +3 -0
  164. package/dist/src/reporters/console.js +18 -0
  165. package/dist/src/reporters/console.js.map +1 -0
  166. package/dist/src/reporters/discord.d.ts +3 -0
  167. package/dist/src/reporters/discord.js +64 -0
  168. package/dist/src/reporters/discord.js.map +1 -0
  169. package/dist/src/reporters/index.d.ts +6 -0
  170. package/dist/src/reporters/index.js +47 -0
  171. package/dist/src/reporters/index.js.map +1 -0
  172. package/dist/src/test/chainify/jsonRPCNode.test.d.ts +1 -0
  173. package/dist/src/test/chainify/jsonRPCNode.test.js +49 -0
  174. package/dist/src/test/chainify/jsonRPCNode.test.js.map +1 -0
  175. package/dist/src/test/chainify/ledgerDevice.test.d.ts +1 -0
  176. package/dist/src/test/chainify/ledgerDevice.test.js +58 -0
  177. package/dist/src/test/chainify/ledgerDevice.test.js.map +1 -0
  178. package/dist/src/test/chainify/uniswapV2.test.d.ts +1 -0
  179. package/dist/src/test/chainify/uniswapV2.test.js +49 -0
  180. package/dist/src/test/chainify/uniswapV2.test.js.map +1 -0
  181. package/dist/src/test/debridgeAPI.test.d.ts +1 -0
  182. package/dist/src/test/debridgeAPI.test.js +58 -0
  183. package/dist/src/test/debridgeAPI.test.js.map +1 -0
  184. package/dist/src/test/index.d.ts +3 -0
  185. package/dist/src/test/index.js +26 -0
  186. package/dist/src/test/index.js.map +1 -0
  187. package/dist/src/test/lifi/quoteAPI.test.d.ts +1 -0
  188. package/dist/src/test/lifi/quoteAPI.test.js +60 -0
  189. package/dist/src/test/lifi/quoteAPI.test.js.map +1 -0
  190. package/dist/src/test/oneInch/approveAPI.test.d.ts +1 -0
  191. package/dist/src/test/oneInch/approveAPI.test.js +91 -0
  192. package/dist/src/test/oneInch/approveAPI.test.js.map +1 -0
  193. package/dist/src/test/oneInch/swapAPI.test.d.ts +1 -0
  194. package/dist/src/test/oneInch/swapAPI.test.js +125 -0
  195. package/dist/src/test/oneInch/swapAPI.test.js.map +1 -0
  196. package/dist/src/test/thorchainAPI.test.d.ts +1 -0
  197. package/dist/src/test/thorchainAPI.test.js +48 -0
  198. package/dist/src/test/thorchainAPI.test.js.map +1 -0
  199. package/dist/src/types/index.d.ts +26 -0
  200. package/dist/src/types/index.js +9 -0
  201. package/dist/src/types/index.js.map +1 -0
  202. package/dist/src/utils/index.d.ts +10 -0
  203. package/dist/src/utils/index.js +47 -0
  204. package/dist/src/utils/index.js.map +1 -0
  205. package/dist/tsconfig.tsbuildinfo +1 -0
  206. 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,4 @@
1
+ export declare const THORCHAIN_ERROR_SOURCE_NAME = "Thorchain API";
2
+ export declare const THORCHAIN_ERRORS: {
3
+ NETWORK_ERROR: string;
4
+ };
@@ -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,4 @@
1
+ export declare const UNISWAP_V2_ERROR_SOURCE_NAME = "UniswapV2";
2
+ export declare const UNISWAP_V2_ERRORS: {
3
+ UNSUPPORTED_SWAP_METHOD_FOR_TOKEN_TYPE: string;
4
+ };
@@ -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,3 @@
1
+ import { LiqualityErrorJSON } from '../types';
2
+ import { LiqualityError } from '../LiqualityErrors/LiqualityError';
3
+ export declare function reportToConsole(error: LiqualityError | LiqualityErrorJSON): void;
@@ -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,3 @@
1
+ import { LiqualityError } from '../LiqualityErrors/LiqualityError';
2
+ import { LiqualityErrorJSON } from '../types';
3
+ export declare const reportToDiscord: (error: LiqualityError | LiqualityErrorJSON) => Promise<void>;
@@ -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 {};