@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,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 ValidationError_1 = require("../../LiqualityErrors/ValidationError");
8
+ describe('UniswapV2Error parser', () => {
9
+ const parser = (0, __2.getErrorParser)(parsers_1.ChainifyErrorParser);
10
+ const UNISWAP_V2_K_ERROR = 'cannot estimate gas; transaction may fail or may require manual gas limit [ See: https://links.ethers.org/v5-errors-UNPREDICTABLE_GAS_LIMIT ] (reason="execution reverted: UniswapV2: K", method="estimateGas", transaction={"from":"0x684C4274202a003fEbB2C12f6016aF090EbeC3aE","maxPriorityFeePerGas":{"type":"BigNumber","hex":"0x4c25524c"},"maxFeePerGas":{"type":"BigNumber","hex":"0x03a8c924a8"},"to":"0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D","value":{"type":"BigNumber","hex":"0x00"},"data":"0x18cbafe50000000000000000000000000000000000000000000000000097a5c8063cd000000000000000000000000000000000000000000000000000009429ae7945c24f00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000684c4274202a003febb2c12f6016af090ebec3ae000000000000000000000000000000000000000000000000000000006384c60b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe84000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","type":2,"accessList":null}, error={"reason":"processing response error","code":"SERVER_ERROR","body":"{"jsonrpc":"2.0","id":124,"error":{"code":3,"data":"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c556e697377617056323a204b0000000000000000000000000000000000000000","message":"execution reverted: UniswapV2: K"}}","error":{"code":3,"data":"0x08c379a00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c556e697377617056323a204b0000000000000000000000000000000000000000"},"requestBody":"{"method":"eth_estimateGas","params":[{"type":"0x2","maxFeePerGas":"0x3a8c924a8","maxPriorityFeePerGas":"0x4c25524c","value":"0x0","from":"0x684c4274202a003febb2c12f6016af090ebec3ae","to":"0x7a250d5630b4cf539739df2c5dacb4c659f2488d","data":"0x18cbafe50000000000000000000000000000000000000000000000000097a5c8063cd000000000000000000000000000000000000000000000000000009429ae7945c24f00000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000684c4274202a003febb2c12f6016af090ebec3ae000000000000000000000000000000000000000000000000000000006384c60b0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000ae7ab96520de3a18e5e111b5eaab095312d7fe84000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"}],"id":124,"jsonrpc":"2.0"}","requestMethod":"POST","url":"https://mainnet.infura.io/v3/a2ad6f8c0e57453ca4918331f16de87d"}, code=UNPREDICTABLE_GAS_LIMIT, version=providers/5.7.0)"';
11
+ const errorMap = [[UNISWAP_V2_K_ERROR, ValidationError_1.ValidationError.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(parsers_1.UniswapV2SwapErroParser.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(parsers_1.UniswapV2SwapErroParser.errorSource);
46
+ expect(error1.rawError).toBe(validError);
47
+ }));
48
+ });
49
+ //# sourceMappingURL=uniswapV2.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniswapV2.test.js","sourceRoot":"","sources":["../../../../src/test/chainify/uniswapV2.test.ts"],"names":[],"mappings":";;;AAAA,0BAAyD;AAEzD,6BAAuC;AACvC,2CAA6E;AAC7E,2EAAwE;AAExE,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,MAAM,MAAM,GAAG,IAAA,kBAAc,EAAC,6BAAmB,CAAC,CAAC;IAEnD,MAAM,kBAAkB,GACtB,wjFAAwjF,CAAC;IAE3jF,MAAM,QAAQ,GAAG,CAAC,CAAC,kBAAkB,EAAE,iCAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAE9D,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,iCAAuB,CAAC,WAAW,CAAC,CAAC;QAC/D,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,iCAAuB,CAAC,WAAW,CAAC,CAAC;QAChE,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 __1 = require("..");
6
+ const Debridge_1 = require("../parsers/Debridge");
7
+ const DebridgeAPIErrorParser_1 = require("../parsers/Debridge/DebridgeAPIErrorParser");
8
+ describe('DebridgeAPI parser', () => {
9
+ const parser = (0, __1.getErrorParser)(DebridgeAPIErrorParser_1.DebridgeAPIErrorParser);
10
+ const errorMap = [
11
+ [Debridge_1.DEBRIDGE_ERRORS.INVALID_QUERY_PARAMETERS, __1.InternalError.name],
12
+ [Debridge_1.DEBRIDGE_ERRORS.SOURCE_AND_DESTINATION_CHAINS_ARE_EQUAL, __1.PairNotSupportedError.name],
13
+ [Debridge_1.DEBRIDGE_ERRORS.INCLUDED_GAS_FEE_NOT_COVERED_BY_INPUT_AMOUNT, __1.InsufficientInputAmountError.name],
14
+ [Debridge_1.DEBRIDGE_ERRORS.INCLUDED_GAS_FEE_CANNOT_BE_ESTIMATED_FOR_TRANSACTION_BUNDLE, __1.InternalError.name],
15
+ [Debridge_1.DEBRIDGE_ERRORS.CONNECTOR_1INCH_RETURNED_ERROR, __1.ThirdPartyError.name],
16
+ [Debridge_1.DEBRIDGE_ERRORS.INTERNAL_SERVER_ERROR, __1.ThirdPartyError.name],
17
+ [Debridge_1.DEBRIDGE_ERRORS.INTERNAL_SDK_ERROR, __1.ThirdPartyError.name],
18
+ ];
19
+ it('should not log anything to console', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
20
+ const logSpy = jest.spyOn(console, 'log');
21
+ (0, _1.getError)(() => {
22
+ return parser.wrap(() => {
23
+ throw _1.FAKE_ERROR;
24
+ }, null);
25
+ });
26
+ yield (0, _1.getErrorAsync)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
27
+ return yield parser.wrapAsync(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
28
+ throw _1.FAKE_ERROR;
29
+ }), null);
30
+ }));
31
+ expect(logSpy).toHaveBeenCalledTimes(0);
32
+ }));
33
+ it.each(errorMap)("should map '%s' => '%s'", (sourceError, liqError) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
34
+ const validError = {
35
+ errorCode: 0,
36
+ errorId: sourceError,
37
+ errorMessage: '',
38
+ errorPayload: {},
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(DebridgeAPIErrorParser_1.DebridgeAPIErrorParser.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(DebridgeAPIErrorParser_1.DebridgeAPIErrorParser.errorSource);
55
+ expect(error1.rawError).toBe(validError);
56
+ }));
57
+ });
58
+ //# sourceMappingURL=debridgeAPI.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debridgeAPI.test.js","sourceRoot":"","sources":["../../../src/test/debridgeAPI.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const FAKE_ERROR = "Fake Error";
2
+ export declare function getError(func: () => unknown): any;
3
+ export declare function getErrorAsync(func: () => Promise<unknown>): Promise<any>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getErrorAsync = exports.getError = exports.FAKE_ERROR = void 0;
4
+ const tslib_1 = require("tslib");
5
+ exports.FAKE_ERROR = 'Fake Error';
6
+ function getError(func) {
7
+ try {
8
+ return func();
9
+ }
10
+ catch (error) {
11
+ return error;
12
+ }
13
+ }
14
+ exports.getError = getError;
15
+ function getErrorAsync(func) {
16
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
17
+ try {
18
+ return yield func();
19
+ }
20
+ catch (error) {
21
+ return error;
22
+ }
23
+ });
24
+ }
25
+ exports.getErrorAsync = getErrorAsync;
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/test/index.ts"],"names":[],"mappings":";;;;AAAa,QAAA,UAAU,GAAG,YAAY,CAAC;AAEvC,SAAgB,QAAQ,CAAC,IAAmB;IAC1C,IAAI;QACF,OAAO,IAAI,EAAE,CAAC;KACf;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AAND,4BAMC;AAED,SAAsB,aAAa,CAAC,IAA4B;;QAC9D,IAAI;YACF,OAAO,MAAM,IAAI,EAAE,CAAC;SACrB;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,KAAK,CAAC;SACd;IACH,CAAC;CAAA;AAND,sCAMC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const LifiAPI_1 = require("../../parsers/LifiAPI");
4
+ const __1 = require("..");
5
+ const RandExp = require("randexp");
6
+ const __2 = require("../..");
7
+ describe('LifiQuoteAPI parser', () => {
8
+ const parser = (0, __2.getErrorParser)(__2.LifiQuoteErrorParser);
9
+ const errorMap = [
10
+ [LifiAPI_1.LIFI_QUOTE_ERRORS.InvalidAddress, [], __2.InternalError.name],
11
+ [LifiAPI_1.LIFI_QUOTE_ERRORS.UnknownAddressOrSymbol, [], __2.InternalError.name],
12
+ [LifiAPI_1.LIFI_QUOTE_ERRORS.InvalidChain, [], __2.InternalError.name],
13
+ [LifiAPI_1.LIFI_QUOTE_ERRORS.NoToolsCanCompleteTheAction, [], __2.PairNotSupportedError.name],
14
+ [
15
+ LifiAPI_1.LIFI_QUOTE_ERRORS.NoQuoteFound,
16
+ [{ code: LifiAPI_1.ToolErrorCode.NO_POSSIBLE_ROUTE }, { code: LifiAPI_1.ToolErrorCode.AMOUNT_TOO_LOW }],
17
+ __2.InsufficientInputAmountError.name,
18
+ ],
19
+ [
20
+ LifiAPI_1.LIFI_QUOTE_ERRORS.NoQuoteFound,
21
+ [{ code: LifiAPI_1.ToolErrorCode.NO_POSSIBLE_ROUTE }, { code: LifiAPI_1.ToolErrorCode.FEES_HGHER_THAN_AMOUNT }],
22
+ __2.InsufficientInputAmountError.name,
23
+ ],
24
+ [
25
+ LifiAPI_1.LIFI_QUOTE_ERRORS.NoQuoteFound,
26
+ [{ code: LifiAPI_1.ToolErrorCode.NO_POSSIBLE_ROUTE }, { code: LifiAPI_1.ToolErrorCode.AMOUNT_TOO_HIGH }],
27
+ __2.HighInputAmountError.name,
28
+ ],
29
+ [
30
+ LifiAPI_1.LIFI_QUOTE_ERRORS.NoQuoteFound,
31
+ [{ code: LifiAPI_1.ToolErrorCode.NO_POSSIBLE_ROUTE }, { code: LifiAPI_1.ToolErrorCode.INSUFFICIENT_LIQUIDITY }],
32
+ __2.InsufficientLiquidityError.name,
33
+ ],
34
+ ];
35
+ const emptyContext = {
36
+ fromChain: 1,
37
+ fromToken: '0x',
38
+ fromAddress: '0x',
39
+ fromAmount: '0',
40
+ toChain: 2,
41
+ toToken: '0x',
42
+ toAddress: '0x',
43
+ };
44
+ it.each(errorMap)("should map '%s' => '%s'", (message, errors, lifiError) => {
45
+ const validError = {
46
+ message: new RandExp(message).gen(),
47
+ errors: errors,
48
+ };
49
+ const error = (0, __1.getError)(() => {
50
+ parser.wrap(() => {
51
+ throw validError;
52
+ }, emptyContext);
53
+ });
54
+ expect(error.name).toBe(lifiError);
55
+ expect(error.source).toBe(__2.LifiQuoteErrorParser.errorSource);
56
+ expect(error.devMsg.data).toBe(emptyContext);
57
+ expect(error.rawError).toBe(validError);
58
+ });
59
+ });
60
+ //# sourceMappingURL=quoteAPI.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quoteAPI.test.js","sourceRoot":"","sources":["../../../../src/test/lifi/quoteAPI.test.ts"],"names":[],"mappings":";;AAAA,mDAAyF;AACzF,0BAA8B;AAE9B,mCAAoC;AACpC,6BAQe;AACf,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,MAAM,MAAM,GAAG,IAAA,kBAAc,EAAC,wBAAoB,CAAC,CAAC;IAEpD,MAAM,QAAQ,GAAG;QACf,CAAC,2BAAiB,CAAC,cAAc,EAAE,EAAE,EAAE,iBAAa,CAAC,IAAI,CAAC;QAC1D,CAAC,2BAAiB,CAAC,sBAAsB,EAAE,EAAE,EAAE,iBAAa,CAAC,IAAI,CAAC;QAClE,CAAC,2BAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,iBAAa,CAAC,IAAI,CAAC;QACxD,CAAC,2BAAiB,CAAC,2BAA2B,EAAE,EAAE,EAAE,yBAAqB,CAAC,IAAI,CAAC;QAC/E;YACE,2BAAiB,CAAC,YAAY;YAC9B,CAAC,EAAE,IAAI,EAAE,uBAAa,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAa,CAAC,cAAc,EAAE,CAAC;YACnF,gCAA4B,CAAC,IAAI;SAClC;QACD;YACE,2BAAiB,CAAC,YAAY;YAC9B,CAAC,EAAE,IAAI,EAAE,uBAAa,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAa,CAAC,sBAAsB,EAAE,CAAC;YAC3F,gCAA4B,CAAC,IAAI;SAClC;QACD;YACE,2BAAiB,CAAC,YAAY;YAC9B,CAAC,EAAE,IAAI,EAAE,uBAAa,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAa,CAAC,eAAe,EAAE,CAAC;YACpF,wBAAoB,CAAC,IAAI;SAC1B;QACD;YACE,2BAAiB,CAAC,YAAY;YAC9B,CAAC,EAAE,IAAI,EAAE,uBAAa,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAa,CAAC,sBAAsB,EAAE,CAAC;YAC3F,8BAA0B,CAAC,IAAI;SAChC;KACF,CAAC;IAEF,MAAM,YAAY,GAAG;QACnB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,GAAG;QACf,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI;KAChB,CAAC;IAEF,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,yBAAyB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;QAC1E,MAAM,UAAU,GAAmB;YACjC,OAAO,EAAE,IAAI,OAAO,CAAC,OAAiB,CAAC,CAAC,GAAG,EAAE;YAC7C,MAAM,EAAE,MAAe;SACxB,CAAC;QAEF,MAAM,KAAK,GAAmB,IAAA,YAAQ,EAAC,GAAG,EAAE;YAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,MAAM,UAAU,CAAC;YACnB,CAAC,EAAE,YAAY,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,wBAAoB,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const OneInchAPI_1 = require("../../parsers/OneInchAPI");
4
+ const __1 = require("..");
5
+ const RandExp = require("randexp");
6
+ const __2 = require("../..");
7
+ describe('OneInchApproveAPI parser', () => {
8
+ const parser = (0, __2.getErrorParser)(__2.OneInchApproveErrorParser);
9
+ const errorMap = [
10
+ [OneInchAPI_1.ONE_INCH_ERRORS.INTERNAL_ERROR, __2.ThirdPartyError.name],
11
+ [OneInchAPI_1.ONE_INCH_ERRORS.INVALID_TOKEN_ADDRESS, __2.InternalError.name],
12
+ ];
13
+ it('should not log anything to console', () => {
14
+ const logSpy = jest.spyOn(console, 'log');
15
+ (0, __1.getError)(() => {
16
+ return parser.wrap(() => {
17
+ throw __1.FAKE_ERROR;
18
+ }, null);
19
+ });
20
+ expect(logSpy).toHaveBeenCalledTimes(0);
21
+ });
22
+ it.each(errorMap)("should map '%s' => '%s'", (sourceError, liqError) => {
23
+ const validError = {
24
+ statusCode: 400,
25
+ error: 'Bad Request',
26
+ description: new RandExp(sourceError).gen(),
27
+ requestId: 'string',
28
+ meta: [
29
+ {
30
+ type: 'string',
31
+ value: 'string',
32
+ },
33
+ ],
34
+ name: 'NodeError',
35
+ };
36
+ const error = (0, __1.getError)(() => {
37
+ parser.wrap(() => {
38
+ throw validError;
39
+ }, null);
40
+ });
41
+ expect(error.name).toBe(liqError);
42
+ expect(error.source).toBe(__2.OneInchApproveErrorParser.errorSource);
43
+ expect(error.devMsg.data).toEqual({});
44
+ expect(error.rawError).toBe(validError);
45
+ });
46
+ const recordLevelErrorMap = [
47
+ ['ValidationError', 1001],
48
+ ['NotFoundError', 1006],
49
+ ];
50
+ it.each(recordLevelErrorMap)("should map '%s' => '%s'", (errorName, errorCode) => {
51
+ const validError = {
52
+ code: +errorCode,
53
+ name: errorName,
54
+ };
55
+ const error = (0, __1.getError)(() => {
56
+ parser.wrap(() => {
57
+ throw validError;
58
+ }, null);
59
+ });
60
+ expect(error.name).toBe(__2.PairNotSupportedError.name);
61
+ expect(error.source).toBe(__2.OneInchApproveErrorParser.errorSource);
62
+ expect(error.devMsg.data).toEqual({});
63
+ expect(error.rawError).toBe(validError);
64
+ });
65
+ const wrongErrors = [
66
+ ['error structure is incorrect', __1.FAKE_ERROR],
67
+ [
68
+ 'name is not nodeError',
69
+ {
70
+ description: new RandExp(OneInchAPI_1.ONE_INCH_ERRORS.INSUFFICIENT_FUNDS).gen(),
71
+ name: 'NodeErrr',
72
+ },
73
+ ],
74
+ [
75
+ 'description is incorrect',
76
+ {
77
+ description: __1.FAKE_ERROR,
78
+ name: 'NodeError',
79
+ },
80
+ ],
81
+ ];
82
+ it.each(wrongErrors)('Should return unknown error when %s', (_test, error) => {
83
+ const liqError = (0, __1.getError)(() => {
84
+ parser.wrap(() => {
85
+ throw error;
86
+ }, null);
87
+ });
88
+ expect(liqError.name).toBe(__2.UnknownError.name);
89
+ });
90
+ });
91
+ //# sourceMappingURL=approveAPI.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approveAPI.test.js","sourceRoot":"","sources":["../../../../src/test/oneInch/approveAPI.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const OneInchAPI_1 = require("../../parsers/OneInchAPI");
5
+ const __1 = require("..");
6
+ const RandExp = require("randexp");
7
+ const __2 = require("../..");
8
+ describe('OneInchSwapAPI parser', () => {
9
+ const data = {
10
+ from: 'ETH',
11
+ to: 'USDT',
12
+ amount: '1900',
13
+ balance: '1000',
14
+ };
15
+ const parser = (0, __2.getErrorParser)(__2.OneInchSwapErrorParser);
16
+ const errorMap = [
17
+ [OneInchAPI_1.ONE_INCH_ERRORS.CANNOT_ESTIMATE_1, __2.ThirdPartyError.name],
18
+ [OneInchAPI_1.ONE_INCH_ERRORS.CANNOT_ESTIMATE_WITH_REASON, __2.ThirdPartyError.name],
19
+ [OneInchAPI_1.ONE_INCH_ERRORS.INSUFFICIENT_ALLOWANCE, __2.InternalError.name],
20
+ [OneInchAPI_1.ONE_INCH_ERRORS.INSUFFICIENT_FUNDS, __2.InsufficientFundsError.name],
21
+ [OneInchAPI_1.ONE_INCH_ERRORS.INSUFFICIENT_GAS_FEE, __2.InsufficientGasFeeError.name],
22
+ [OneInchAPI_1.ONE_INCH_ERRORS.INSUFFICIENT_LIQUIDITY, __2.InsufficientLiquidityError.name],
23
+ [OneInchAPI_1.ONE_INCH_ERRORS.INTERNAL_ERROR, __2.ThirdPartyError.name],
24
+ [OneInchAPI_1.ONE_INCH_ERRORS.INVALID_TOKEN_PAIR, __2.InternalError.name],
25
+ [OneInchAPI_1.ONE_INCH_ERRORS.INVALID_TOKEN_ADDRESS, __2.InternalError.name],
26
+ ];
27
+ it('should not log anything to console', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
28
+ const logSpy = jest.spyOn(console, 'log');
29
+ (0, __1.getError)(() => {
30
+ return parser.wrap(() => {
31
+ throw __1.FAKE_ERROR;
32
+ }, data);
33
+ });
34
+ yield (0, __1.getErrorAsync)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
35
+ return yield parser.wrapAsync(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
36
+ throw __1.FAKE_ERROR;
37
+ }), data);
38
+ }));
39
+ expect(logSpy).toHaveBeenCalledTimes(0);
40
+ }));
41
+ it.each(errorMap)("should map '%s' => '%s'", (sourceError, liqError) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
42
+ const validError = {
43
+ statusCode: 400,
44
+ error: 'Bad Request',
45
+ description: new RandExp(sourceError).gen(),
46
+ requestId: 'string',
47
+ meta: [
48
+ {
49
+ type: 'string',
50
+ value: 'string',
51
+ },
52
+ ],
53
+ name: 'NodeError',
54
+ };
55
+ const error = (0, __1.getError)(() => {
56
+ parser.wrap(() => {
57
+ throw validError;
58
+ }, data);
59
+ });
60
+ expect(error.name).toBe(liqError);
61
+ expect(error.source).toBe(__2.OneInchSwapErrorParser.errorSource);
62
+ expect(error.devMsg.data).toBe(data);
63
+ expect(error.rawError).toBe(validError);
64
+ const error1 = yield (0, __1.getErrorAsync)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
65
+ yield parser.wrapAsync(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
66
+ throw validError;
67
+ }), data);
68
+ }));
69
+ expect(error1.name).toBe(liqError);
70
+ expect(error1.source).toBe(__2.OneInchSwapErrorParser.errorSource);
71
+ expect(error1.devMsg.data).toBe(data);
72
+ expect(error1.rawError).toBe(validError);
73
+ }));
74
+ const recordLevelErrorMap = [
75
+ ['ValidationError', 1001],
76
+ ['NotFoundError', 1006],
77
+ ];
78
+ it.each(recordLevelErrorMap)("should map '%s' => '%s'", (errorName, errorCode) => {
79
+ const validError = {
80
+ code: +errorCode,
81
+ name: errorName,
82
+ };
83
+ const error = (0, __1.getError)(() => {
84
+ parser.wrap(() => {
85
+ throw validError;
86
+ }, data);
87
+ });
88
+ expect(error.name).toBe(__2.PairNotSupportedError.name);
89
+ expect(error.source).toBe(__2.OneInchSwapErrorParser.errorSource);
90
+ expect(error.devMsg.data).toEqual(data);
91
+ expect(error.rawError).toBe(validError);
92
+ });
93
+ const wrongErrors = [
94
+ ['error structure is incorrect', __1.FAKE_ERROR],
95
+ [
96
+ 'name is not nodeError',
97
+ {
98
+ description: new RandExp(OneInchAPI_1.ONE_INCH_ERRORS.INSUFFICIENT_FUNDS).gen(),
99
+ name: 'NodeErrr',
100
+ },
101
+ ],
102
+ [
103
+ 'description is incorrect',
104
+ {
105
+ description: __1.FAKE_ERROR,
106
+ name: 'NodeError',
107
+ },
108
+ ],
109
+ ];
110
+ it.each(wrongErrors)('Should return unknown error when %s', (_test, error) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
111
+ const liqError = (0, __1.getError)(() => {
112
+ parser.wrap(() => {
113
+ throw error;
114
+ }, data);
115
+ });
116
+ expect(liqError.name).toBe(__2.UnknownError.name);
117
+ const liqError1 = yield (0, __1.getErrorAsync)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
118
+ yield parser.wrapAsync(() => {
119
+ throw error;
120
+ }, data);
121
+ }));
122
+ expect(liqError1.name).toBe(__2.UnknownError.name);
123
+ }));
124
+ });
125
+ //# sourceMappingURL=swapAPI.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swapAPI.test.js","sourceRoot":"","sources":["../../../../src/test/oneInch/swapAPI.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const _1 = require(".");
5
+ const __1 = require("..");
6
+ const Thorchain_1 = require("../parsers/Thorchain");
7
+ const errors_1 = require("@yaswap/errors");
8
+ describe('ThorchainAPI parser', () => {
9
+ const parser = (0, __1.getErrorParser)(__1.ThorchainAPIErrorParser);
10
+ const errorMap = [[Thorchain_1.THORCHAIN_ERRORS.NETWORK_ERROR, __1.ThirdPartyError.name]];
11
+ it('should not log anything to console', () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
12
+ const logSpy = jest.spyOn(console, 'log');
13
+ (0, _1.getError)(() => {
14
+ return parser.wrap(() => {
15
+ throw _1.FAKE_ERROR;
16
+ }, {});
17
+ });
18
+ yield (0, _1.getErrorAsync)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
19
+ return yield parser.wrapAsync(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
20
+ throw _1.FAKE_ERROR;
21
+ }), {});
22
+ }));
23
+ expect(logSpy).toHaveBeenCalledTimes(0);
24
+ }));
25
+ it.each(errorMap)("should map '%s' => '%s'", (sourceError, liqError) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
26
+ const validError = {
27
+ message: sourceError,
28
+ name: errors_1.NodeError.prototype.name,
29
+ };
30
+ const error = (0, _1.getError)(() => {
31
+ parser.wrap(() => {
32
+ throw validError;
33
+ }, {});
34
+ });
35
+ expect(error.name).toBe(liqError);
36
+ expect(error.source).toBe(__1.ThorchainAPIErrorParser.errorSource);
37
+ expect(error.rawError).toBe(validError);
38
+ const error1 = yield (0, _1.getErrorAsync)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
39
+ yield parser.wrapAsync(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
40
+ throw validError;
41
+ }), {});
42
+ }));
43
+ expect(error1.name).toBe(liqError);
44
+ expect(error1.source).toBe(__1.ThorchainAPIErrorParser.errorSource);
45
+ expect(error1.rawError).toBe(validError);
46
+ }));
47
+ });
48
+ //# sourceMappingURL=thorchainAPI.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thorchainAPI.test.js","sourceRoot":"","sources":["../../../src/test/thorchainAPI.test.ts"],"names":[],"mappings":";;;AAAA,wBAAwD;AAExD,0BAA8E;AAC9E,oDAAwD;AACxD,2CAA2C;AAE3C,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,MAAM,MAAM,GAAG,IAAA,kBAAc,EAAC,2BAAuB,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,CAAC,CAAC,4BAAgB,CAAC,aAAa,EAAE,mBAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1E,EAAE,CAAC,oCAAoC,EAAE,GAAS,EAAE;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE1C,IAAA,WAAQ,EAAC,GAAG,EAAE;YACZ,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtB,MAAM,aAAU,CAAC;YACnB,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC,CAAC,CAAC;QAEH,MAAM,IAAA,gBAAa,EAAC,GAAS,EAAE;YAC7B,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,GAAS,EAAE;gBACvC,MAAM,aAAU,CAAC;YACnB,CAAC,CAAA,EAAE,EAAE,CAAC,CAAC;QACT,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,GAAU;YACxB,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,kBAAS,CAAC,SAAS,CAAC,IAAI;SAC/B,CAAC;QAEF,MAAM,KAAK,GAAmB,IAAA,WAAQ,EAAC,GAAG,EAAE;YAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBACf,MAAM,UAAU,CAAC;YACnB,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,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,2BAAuB,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,MAAM,MAAM,GAAmB,MAAM,IAAA,gBAAa,EAAC,GAAS,EAAE;YAC5D,MAAM,MAAM,CAAC,SAAS,CAAC,GAAS,EAAE;gBAChC,MAAM,UAAU,CAAC;YACnB,CAAC,CAAA,EAAE,EAAE,CAAC,CAAC;QACT,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,2BAAuB,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ export declare enum ReportTargets {
2
+ Console = "Console",
3
+ Discord = "Discord"
4
+ }
5
+ declare type JSONArray = Array<JSONValue>;
6
+ declare type JSONValue = string | number | boolean | JSONObject | JSONArray;
7
+ export declare type JSONObject = {
8
+ [key: string]: JSONValue;
9
+ };
10
+ export declare type LiqualityErrorJSON = {
11
+ name: string;
12
+ source: string;
13
+ translationKey: string;
14
+ devMsg: {
15
+ desc: string;
16
+ data: JSONObject;
17
+ };
18
+ rawError: any;
19
+ data: JSONObject | {
20
+ errorId: string;
21
+ };
22
+ reported: boolean;
23
+ reportable: boolean;
24
+ stack: string;
25
+ };
26
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReportTargets = void 0;
4
+ var ReportTargets;
5
+ (function (ReportTargets) {
6
+ ReportTargets["Console"] = "Console";
7
+ ReportTargets["Discord"] = "Discord";
8
+ })(ReportTargets = exports.ReportTargets || (exports.ReportTargets = {}));
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;AAGA,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;AACrB,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB"}
@@ -0,0 +1,10 @@
1
+ import { InternalError } from '../LiqualityErrors';
2
+ import { LiqualityErrorJSON } from '../types';
3
+ export declare function isLiqualityErrorString(error: string): boolean;
4
+ export declare function liqualityErrorStringToJson(error: string): LiqualityErrorJSON;
5
+ export declare const LIQUALITY_ERROR_STRING_STARTER = "LIQUALITY_ERROR_FROM_ERROR_PARSER_PACKAGE";
6
+ export declare function createInternalError(customError: any): InternalError;
7
+ export declare function errorToLiqualityErrorString(error: any): string;
8
+ export declare function errorName(error: any): string;
9
+ export declare function is1001ValidationError(error: any): boolean;
10
+ export declare function is1006NotFoundError(error: any): boolean;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.is1006NotFoundError = exports.is1001ValidationError = exports.errorName = exports.errorToLiqualityErrorString = exports.createInternalError = exports.LIQUALITY_ERROR_STRING_STARTER = exports.liqualityErrorStringToJson = exports.isLiqualityErrorString = void 0;
4
+ const LiqualityErrors_1 = require("../LiqualityErrors");
5
+ const reporters_1 = require("../reporters");
6
+ function isLiqualityErrorString(error) {
7
+ return error.startsWith(exports.LIQUALITY_ERROR_STRING_STARTER);
8
+ }
9
+ exports.isLiqualityErrorString = isLiqualityErrorString;
10
+ function liqualityErrorStringToJson(error) {
11
+ return JSON.parse(error.replace(exports.LIQUALITY_ERROR_STRING_STARTER, ''));
12
+ }
13
+ exports.liqualityErrorStringToJson = liqualityErrorStringToJson;
14
+ exports.LIQUALITY_ERROR_STRING_STARTER = 'LIQUALITY_ERROR_FROM_ERROR_PARSER_PACKAGE';
15
+ function createInternalError(customError) {
16
+ const internalError = new LiqualityErrors_1.InternalError(customError);
17
+ (0, reporters_1.reportLiqualityError)(internalError);
18
+ return internalError;
19
+ }
20
+ exports.createInternalError = createInternalError;
21
+ function errorToLiqualityErrorString(error) {
22
+ if (error instanceof LiqualityErrors_1.LiqualityError)
23
+ return error.toString();
24
+ else if (error instanceof Error && isLiqualityErrorString(error.message))
25
+ return error.message;
26
+ else
27
+ return createInternalError(LiqualityErrors_1.CUSTOM_ERRORS.Unknown(error)).toString();
28
+ }
29
+ exports.errorToLiqualityErrorString = errorToLiqualityErrorString;
30
+ function errorName(error) {
31
+ if (error instanceof LiqualityErrors_1.LiqualityError)
32
+ return error.name;
33
+ else if (error instanceof Error && isLiqualityErrorString(error.message))
34
+ return liqualityErrorStringToJson(error.message).name;
35
+ else
36
+ return '';
37
+ }
38
+ exports.errorName = errorName;
39
+ function is1001ValidationError(error) {
40
+ return error.code === 1001 && error.name === 'ValidationError';
41
+ }
42
+ exports.is1001ValidationError = is1001ValidationError;
43
+ function is1006NotFoundError(error) {
44
+ return error.code === 1006 && error.name === 'NotFoundError';
45
+ }
46
+ exports.is1006NotFoundError = is1006NotFoundError;
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,wDAAkF;AAClF,4CAAoD;AAGpD,SAAgB,sBAAsB,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,UAAU,CAAC,sCAA8B,CAAC,CAAC;AAC1D,CAAC;AAFD,wDAEC;AAED,SAAgB,0BAA0B,CAAC,KAAa;IACtD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,sCAA8B,EAAE,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC;AAFD,gEAEC;AAEY,QAAA,8BAA8B,GAAG,2CAA2C,CAAC;AAE1F,SAAgB,mBAAmB,CAAC,WAAgB;IAClD,MAAM,aAAa,GAAG,IAAI,+BAAa,CAAC,WAAW,CAAC,CAAC;IACrD,IAAA,gCAAoB,EAAC,aAAa,CAAC,CAAC;IACpC,OAAO,aAAa,CAAC;AACvB,CAAC;AAJD,kDAIC;AAED,SAAgB,2BAA2B,CAAC,KAAU;IACpD,IAAI,KAAK,YAAY,gCAAc;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;SACxD,IAAI,KAAK,YAAY,KAAK,IAAI,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;;QAC1F,OAAO,mBAAmB,CAAC,+BAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC3E,CAAC;AAJD,kEAIC;AAGD,SAAgB,SAAS,CAAC,KAAU;IAClC,IAAI,KAAK,YAAY,gCAAc;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;SAClD,IAAI,KAAK,YAAY,KAAK,IAAI,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC;QACtE,OAAO,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;;QACnD,OAAO,EAAE,CAAC;AACjB,CAAC;AALD,8BAKC;AAED,SAAgB,qBAAqB,CAAC,KAAU;IAC9C,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC;AACjE,CAAC;AAFD,sDAEC;AAED,SAAgB,mBAAmB,CAAC,KAAU;IAC5C,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;AAC/D,CAAC;AAFD,kDAEC"}