@lifi/sdk 3.0.2-beta.0 → 3.1.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 (217) hide show
  1. package/package.json +3 -3
  2. package/src/_cjs/core/EVM/EVMStepExecutor.js +12 -11
  3. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
  4. package/src/_cjs/core/EVM/checkAllowance.js +5 -10
  5. package/src/_cjs/core/EVM/checkAllowance.js.map +1 -1
  6. package/src/_cjs/core/EVM/multisig.js +4 -3
  7. package/src/_cjs/core/EVM/multisig.js.map +1 -1
  8. package/src/_cjs/core/EVM/parseEVMErrors.js +38 -0
  9. package/src/_cjs/core/EVM/parseEVMErrors.js.map +1 -0
  10. package/src/_cjs/core/EVM/publicClient.js +8 -3
  11. package/src/_cjs/core/EVM/publicClient.js.map +1 -1
  12. package/src/_cjs/core/EVM/setAllowance.js +2 -3
  13. package/src/_cjs/core/EVM/setAllowance.js.map +1 -1
  14. package/src/_cjs/core/EVM/switchChain.js +4 -3
  15. package/src/_cjs/core/EVM/switchChain.js.map +1 -1
  16. package/src/_cjs/core/Solana/SolanaStepExecutor.js +42 -24
  17. package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -1
  18. package/src/_cjs/core/Solana/connection.js.map +1 -1
  19. package/src/_cjs/core/Solana/parseSolanaErrors.js +33 -0
  20. package/src/_cjs/core/Solana/parseSolanaErrors.js.map +1 -0
  21. package/src/_cjs/core/checkBalance.js +2 -2
  22. package/src/_cjs/core/checkBalance.js.map +1 -1
  23. package/src/_cjs/core/stepComparison.js +3 -3
  24. package/src/_cjs/core/stepComparison.js.map +1 -1
  25. package/src/_cjs/core/waitForReceivingTransaction.js +1 -1
  26. package/src/_cjs/core/waitForReceivingTransaction.js.map +1 -1
  27. package/src/_cjs/errors/SDKError.js +48 -0
  28. package/src/_cjs/errors/SDKError.js.map +1 -0
  29. package/src/_cjs/errors/baseError.js +30 -0
  30. package/src/_cjs/errors/baseError.js.map +1 -0
  31. package/src/_cjs/errors/constants.js +48 -0
  32. package/src/_cjs/errors/constants.js.map +1 -0
  33. package/src/_cjs/errors/errors.js +48 -0
  34. package/src/_cjs/errors/errors.js.map +1 -0
  35. package/src/_cjs/errors/httpError.js +101 -0
  36. package/src/_cjs/errors/httpError.js.map +1 -0
  37. package/src/_cjs/errors/index.js +11 -0
  38. package/src/_cjs/errors/index.js.map +1 -0
  39. package/src/_cjs/errors/utils/baseErrorRootCause.js +21 -0
  40. package/src/_cjs/errors/utils/baseErrorRootCause.js.map +1 -0
  41. package/src/_cjs/errors/utils/rootCause.js +12 -0
  42. package/src/_cjs/errors/utils/rootCause.js.map +1 -0
  43. package/src/_cjs/helpers.js +13 -8
  44. package/src/_cjs/helpers.js.map +1 -1
  45. package/src/_cjs/index.js +2 -4
  46. package/src/_cjs/index.js.map +1 -1
  47. package/src/_cjs/request.js +37 -34
  48. package/src/_cjs/request.js.map +1 -1
  49. package/src/_cjs/services/api.js +61 -132
  50. package/src/_cjs/services/api.js.map +1 -1
  51. package/src/_cjs/services/balance.js +1 -1
  52. package/src/_cjs/services/balance.js.map +1 -1
  53. package/src/_cjs/types/request.js +3 -0
  54. package/src/_cjs/types/request.js.map +1 -0
  55. package/src/_cjs/utils/errors.js +0 -183
  56. package/src/_cjs/utils/errors.js.map +1 -1
  57. package/src/_cjs/utils/index.js +1 -2
  58. package/src/_cjs/utils/index.js.map +1 -1
  59. package/src/_cjs/version.js +1 -1
  60. package/src/_cjs/version.js.map +1 -1
  61. package/src/_esm/core/EVM/EVMStepExecutor.js +8 -7
  62. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
  63. package/src/_esm/core/EVM/checkAllowance.js +5 -10
  64. package/src/_esm/core/EVM/checkAllowance.js.map +1 -1
  65. package/src/_esm/core/EVM/multisig.js +2 -1
  66. package/src/_esm/core/EVM/multisig.js.map +1 -1
  67. package/src/_esm/core/EVM/parseEVMErrors.js +35 -0
  68. package/src/_esm/core/EVM/parseEVMErrors.js.map +1 -0
  69. package/src/_esm/core/EVM/publicClient.js +9 -4
  70. package/src/_esm/core/EVM/publicClient.js.map +1 -1
  71. package/src/_esm/core/EVM/setAllowance.js +3 -5
  72. package/src/_esm/core/EVM/setAllowance.js.map +1 -1
  73. package/src/_esm/core/EVM/switchChain.js +2 -1
  74. package/src/_esm/core/EVM/switchChain.js.map +1 -1
  75. package/src/_esm/core/Solana/SolanaStepExecutor.js +52 -25
  76. package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -1
  77. package/src/_esm/core/Solana/connection.js +2 -3
  78. package/src/_esm/core/Solana/connection.js.map +1 -1
  79. package/src/_esm/core/Solana/parseSolanaErrors.js +29 -0
  80. package/src/_esm/core/Solana/parseSolanaErrors.js.map +1 -0
  81. package/src/_esm/core/checkBalance.js +2 -2
  82. package/src/_esm/core/checkBalance.js.map +1 -1
  83. package/src/_esm/core/stepComparison.js +3 -3
  84. package/src/_esm/core/stepComparison.js.map +1 -1
  85. package/src/_esm/core/waitForReceivingTransaction.js +1 -1
  86. package/src/_esm/core/waitForReceivingTransaction.js.map +1 -1
  87. package/src/_esm/errors/SDKError.js +47 -0
  88. package/src/_esm/errors/SDKError.js.map +1 -0
  89. package/src/_esm/errors/baseError.js +28 -0
  90. package/src/_esm/errors/baseError.js.map +1 -0
  91. package/src/_esm/errors/constants.js +45 -0
  92. package/src/_esm/errors/constants.js.map +1 -0
  93. package/src/_esm/errors/errors.js +38 -0
  94. package/src/_esm/errors/errors.js.map +1 -0
  95. package/src/_esm/errors/httpError.js +97 -0
  96. package/src/_esm/errors/httpError.js.map +1 -0
  97. package/src/_esm/errors/index.js +8 -0
  98. package/src/_esm/errors/index.js.map +1 -0
  99. package/src/_esm/errors/utils/baseErrorRootCause.js +16 -0
  100. package/src/_esm/errors/utils/baseErrorRootCause.js.map +1 -0
  101. package/src/_esm/errors/utils/rootCause.js +8 -0
  102. package/src/_esm/errors/utils/rootCause.js.map +1 -0
  103. package/src/_esm/helpers.js +16 -9
  104. package/src/_esm/helpers.js.map +1 -1
  105. package/src/_esm/index.js +2 -2
  106. package/src/_esm/index.js.map +1 -1
  107. package/src/_esm/request.js +38 -35
  108. package/src/_esm/request.js.map +1 -1
  109. package/src/_esm/services/api.js +61 -133
  110. package/src/_esm/services/api.js.map +1 -1
  111. package/src/_esm/services/balance.js +4 -4
  112. package/src/_esm/services/balance.js.map +1 -1
  113. package/src/_esm/types/request.js +2 -0
  114. package/src/_esm/types/request.js.map +1 -0
  115. package/src/_esm/utils/errors.js +1 -173
  116. package/src/_esm/utils/errors.js.map +1 -1
  117. package/src/_esm/utils/index.js +1 -2
  118. package/src/_esm/utils/index.js.map +1 -1
  119. package/src/_esm/version.js +1 -1
  120. package/src/_esm/version.js.map +1 -1
  121. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
  122. package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -1
  123. package/src/_types/core/EVM/multisig.d.ts.map +1 -1
  124. package/src/_types/core/EVM/parseEVMErrors.d.ts +4 -0
  125. package/src/_types/core/EVM/parseEVMErrors.d.ts.map +1 -0
  126. package/src/_types/core/EVM/publicClient.d.ts.map +1 -1
  127. package/src/_types/core/EVM/setAllowance.d.ts +1 -2
  128. package/src/_types/core/EVM/setAllowance.d.ts.map +1 -1
  129. package/src/_types/core/EVM/switchChain.d.ts.map +1 -1
  130. package/src/_types/core/EVM/types.d.ts +3 -0
  131. package/src/_types/core/EVM/types.d.ts.map +1 -1
  132. package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -1
  133. package/src/_types/core/Solana/connection.d.ts +2 -3
  134. package/src/_types/core/Solana/connection.d.ts.map +1 -1
  135. package/src/_types/core/Solana/parseSolanaErrors.d.ts +4 -0
  136. package/src/_types/core/Solana/parseSolanaErrors.d.ts.map +1 -0
  137. package/src/_types/core/stepComparison.d.ts.map +1 -1
  138. package/src/_types/core/types.d.ts +3 -0
  139. package/src/_types/core/types.d.ts.map +1 -1
  140. package/src/_types/errors/SDKError.d.ts +12 -0
  141. package/src/_types/errors/SDKError.d.ts.map +1 -0
  142. package/src/_types/errors/baseError.d.ts +7 -0
  143. package/src/_types/errors/baseError.d.ts.map +1 -0
  144. package/src/_types/errors/constants.d.ts +43 -0
  145. package/src/_types/errors/constants.d.ts.map +1 -0
  146. package/src/_types/errors/errors.d.ts +24 -0
  147. package/src/_types/errors/errors.d.ts.map +1 -0
  148. package/src/_types/errors/httpError.d.ts +21 -0
  149. package/src/_types/errors/httpError.d.ts.map +1 -0
  150. package/src/_types/errors/index.d.ts +8 -0
  151. package/src/_types/errors/index.d.ts.map +1 -0
  152. package/src/_types/errors/utils/baseErrorRootCause.d.ts +4 -0
  153. package/src/_types/errors/utils/baseErrorRootCause.d.ts.map +1 -0
  154. package/src/_types/errors/utils/rootCause.d.ts +2 -0
  155. package/src/_types/errors/utils/rootCause.d.ts.map +1 -0
  156. package/src/_types/helpers.d.ts +5 -4
  157. package/src/_types/helpers.d.ts.map +1 -1
  158. package/src/_types/index.d.ts +2 -2
  159. package/src/_types/index.d.ts.map +1 -1
  160. package/src/_types/request.d.ts +1 -5
  161. package/src/_types/request.d.ts.map +1 -1
  162. package/src/_types/services/api.d.ts.map +1 -1
  163. package/src/_types/services/balance.d.ts +3 -3
  164. package/src/_types/types/request.d.ts +4 -0
  165. package/src/_types/types/request.d.ts.map +1 -0
  166. package/src/_types/utils/errors.d.ts +0 -109
  167. package/src/_types/utils/errors.d.ts.map +1 -1
  168. package/src/_types/utils/index.d.ts +1 -2
  169. package/src/_types/utils/index.d.ts.map +1 -1
  170. package/src/_types/version.d.ts +1 -1
  171. package/src/_types/version.d.ts.map +1 -1
  172. package/src/core/EVM/EVMStepExecutor.ts +14 -12
  173. package/src/core/EVM/checkAllowance.ts +5 -10
  174. package/src/core/EVM/multisig.ts +2 -1
  175. package/src/core/EVM/parseEVMErrors.ts +60 -0
  176. package/src/core/EVM/publicClient.ts +9 -4
  177. package/src/core/EVM/setAllowance.ts +2 -6
  178. package/src/core/EVM/switchChain.ts +2 -1
  179. package/src/core/EVM/types.ts +3 -0
  180. package/src/core/Solana/SolanaStepExecutor.ts +67 -34
  181. package/src/core/Solana/connection.ts +2 -3
  182. package/src/core/Solana/parseSolanaErrors.ts +45 -0
  183. package/src/core/checkBalance.ts +2 -2
  184. package/src/core/stepComparison.ts +3 -4
  185. package/src/core/types.ts +3 -0
  186. package/src/core/waitForReceivingTransaction.ts +1 -1
  187. package/src/errors/SDKError.ts +25 -0
  188. package/src/errors/baseError.ts +22 -0
  189. package/src/errors/constants.ts +45 -0
  190. package/src/errors/errors.ts +44 -0
  191. package/src/errors/httpError.ts +93 -0
  192. package/src/errors/index.ts +7 -0
  193. package/src/errors/utils/baseErrorRootCause.ts +18 -0
  194. package/src/errors/utils/rootCause.ts +7 -0
  195. package/src/helpers.ts +23 -16
  196. package/src/index.ts +2 -2
  197. package/src/request.ts +52 -38
  198. package/src/services/api.ts +109 -157
  199. package/src/services/balance.ts +4 -4
  200. package/src/types/request.ts +3 -0
  201. package/src/utils/errors.ts +0 -233
  202. package/src/utils/index.ts +1 -2
  203. package/src/version.ts +1 -1
  204. package/src/_cjs/utils/parseBackendError.js +0 -27
  205. package/src/_cjs/utils/parseBackendError.js.map +0 -1
  206. package/src/_cjs/utils/parseError.js +0 -69
  207. package/src/_cjs/utils/parseError.js.map +0 -1
  208. package/src/_esm/utils/parseBackendError.js +0 -24
  209. package/src/_esm/utils/parseBackendError.js.map +0 -1
  210. package/src/_esm/utils/parseError.js +0 -100
  211. package/src/_esm/utils/parseError.js.map +0 -1
  212. package/src/_types/utils/parseBackendError.d.ts +0 -3
  213. package/src/_types/utils/parseBackendError.d.ts.map +0 -1
  214. package/src/_types/utils/parseError.d.ts +0 -35
  215. package/src/_types/utils/parseError.d.ts.map +0 -1
  216. package/src/utils/parseBackendError.ts +0 -50
  217. package/src/utils/parseError.ts +0 -210
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseBackendError = void 0;
4
- const errors_js_1 = require("./errors.js");
5
- const parseBackendError = async (e) => {
6
- let data;
7
- try {
8
- data = await e.response?.json();
9
- }
10
- catch (error) {
11
- }
12
- if (e.response?.status === 400) {
13
- return new errors_js_1.ValidationError(data?.message || e.response?.statusText, undefined, e.stack);
14
- }
15
- if (e.response?.status === 404) {
16
- return new errors_js_1.NotFoundError(data?.message || e.response?.statusText, undefined, e.stack);
17
- }
18
- if (e.response?.status === 409) {
19
- return new errors_js_1.SlippageError(data?.message || e.response?.statusText, errors_js_1.ErrorMessage.SlippageError, e.stack);
20
- }
21
- if (e.response?.status === 500) {
22
- return new errors_js_1.ServerError(data?.message || e.response?.statusText, undefined, e.stack);
23
- }
24
- return new errors_js_1.ServerError(errors_js_1.ErrorMessage.Default, undefined, e.stack);
25
- };
26
- exports.parseBackendError = parseBackendError;
27
- //# sourceMappingURL=parseBackendError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseBackendError.js","sourceRoot":"","sources":["../../utils/parseBackendError.ts"],"names":[],"mappings":";;;AACA,2CAMoB;AAEb,MAAM,iBAAiB,GAAG,KAAK,EAAE,CAAM,EAAsB,EAAE;IACpE,IAAI,IAAI,CAAA;IACR,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;IAEjB,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,2BAAe,CACxB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,SAAS,EACT,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,yBAAa,CACtB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,SAAS,EACT,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,yBAAa,CACtB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,wBAAY,CAAC,aAAa,EAC1B,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,uBAAW,CACpB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,SAAS,EACT,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,OAAO,IAAI,uBAAW,CAAC,wBAAY,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;AAClE,CAAC,CAAA;AAxCY,QAAA,iBAAiB,qBAwC7B"}
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseError = void 0;
4
- const eth_rpc_errors_1 = require("eth-rpc-errors");
5
- const helpers_js_1 = require("../helpers.js");
6
- const errors_js_1 = require("./errors.js");
7
- const getTransactionMessage_js_1 = require("./getTransactionMessage.js");
8
- const parseError = async (e, step, process) => {
9
- if (e instanceof errors_js_1.LiFiError) {
10
- return e;
11
- }
12
- const errorCode = e.code || e.cause?.code;
13
- switch (errorCode) {
14
- case errors_js_1.EthersErrorType.CallExecption:
15
- const defaultErrorMessage = await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process);
16
- try {
17
- if (!step?.action.fromChainId) {
18
- throw new Error('fromChainId is not defined.');
19
- }
20
- const response = await (0, helpers_js_1.fetchTxErrorDetails)(e.transactionHash, step?.action.fromChainId);
21
- const errorMessage = response?.error_message ?? e.reason;
22
- const isAllowanceError = response?.error_message?.includes(errors_js_1.EthersErrorMessage.ERC20Allowance) || e.reason?.includes(errors_js_1.EthersErrorMessage.ERC20Allowance);
23
- if (isAllowanceError) {
24
- return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.AllowanceRequired, e.reason, errorMessage, e.stack);
25
- }
26
- throw new Error(e);
27
- }
28
- catch (error) {
29
- return new errors_js_1.ProviderError(errors_js_1.LiFiErrorCode.TransactionFailed, e.reason, defaultErrorMessage, e.stack);
30
- }
31
- case errors_js_1.EthersErrorType.InsufficientFunds:
32
- return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.InsufficientFunds, e.message, await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
33
- case errors_js_1.EthersErrorType.ActionRejected:
34
- case errors_js_1.MetaMaskProviderErrorCode.userRejectedRequest:
35
- return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.SignatureRejected, e.message, await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
36
- case errors_js_1.LiFiErrorCode.TransactionUnprepared:
37
- return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.TransactionUnprepared, e.message, await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
38
- case errors_js_1.LiFiErrorCode.ValidationError:
39
- return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.ValidationError, e.message, e.htmlMessage);
40
- case errors_js_1.LiFiErrorCode.TransactionCanceled:
41
- return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.TransactionCanceled, e.message, e.htmlMessage);
42
- case errors_js_1.LiFiErrorCode.ExchangeRateUpdateCanceled:
43
- return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.ExchangeRateUpdateCanceled, e.message, e.htmlMessage);
44
- case errors_js_1.LiFiErrorCode.WalletChangedDuringExecution:
45
- return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.WalletChangedDuringExecution, e.message, e.htmlMessage);
46
- default: {
47
- if (errorCode && typeof errorCode === 'number') {
48
- if (Object.values(eth_rpc_errors_1.errorCodes.rpc).includes(errorCode)) {
49
- if (errorCode === eth_rpc_errors_1.errorCodes.rpc.internal &&
50
- (e.message?.includes(errors_js_1.EthersErrorMessage.Underpriced) ||
51
- e.message?.includes(errors_js_1.EthersErrorMessage.LowReplacementFee))) {
52
- return new errors_js_1.RPCError(errors_js_1.LiFiErrorCode.TransactionUnderpriced, errors_js_1.ErrorMessage.TransactionUnderpriced, await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
53
- }
54
- if (e.message?.includes(errors_js_1.EthersErrorMessage.LowGas) ||
55
- e.message?.includes(errors_js_1.EthersErrorMessage.OutOfGas)) {
56
- return new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.GasLimitError, errors_js_1.ErrorMessage.GasLimitLow, await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
57
- }
58
- return new errors_js_1.RPCError(errorCode, (0, eth_rpc_errors_1.getMessageFromCode)(errorCode), await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
59
- }
60
- if (Object.values(eth_rpc_errors_1.errorCodes.provider).includes(errorCode)) {
61
- return new errors_js_1.ProviderError(errorCode, (0, eth_rpc_errors_1.getMessageFromCode)(errorCode), await (0, getTransactionMessage_js_1.getTransactionNotSentMessage)(step, process), e.stack);
62
- }
63
- }
64
- return new errors_js_1.UnknownError(errors_js_1.LiFiErrorCode.InternalError, e.message || errors_js_1.ErrorMessage.UnknownError, undefined, e.stack);
65
- }
66
- }
67
- };
68
- exports.parseError = parseError;
69
- //# sourceMappingURL=parseError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseError.js","sourceRoot":"","sources":["../../utils/parseError.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { ErrorMessage, NotFoundError, ServerError, SlippageError, ValidationError, } from './errors.js';
2
- export const parseBackendError = async (e) => {
3
- let data;
4
- try {
5
- data = await e.response?.json();
6
- }
7
- catch (error) {
8
- // ignore
9
- }
10
- if (e.response?.status === 400) {
11
- return new ValidationError(data?.message || e.response?.statusText, undefined, e.stack);
12
- }
13
- if (e.response?.status === 404) {
14
- return new NotFoundError(data?.message || e.response?.statusText, undefined, e.stack);
15
- }
16
- if (e.response?.status === 409) {
17
- return new SlippageError(data?.message || e.response?.statusText, ErrorMessage.SlippageError, e.stack);
18
- }
19
- if (e.response?.status === 500) {
20
- return new ServerError(data?.message || e.response?.statusText, undefined, e.stack);
21
- }
22
- return new ServerError(ErrorMessage.Default, undefined, e.stack);
23
- };
24
- //# sourceMappingURL=parseBackendError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseBackendError.js","sourceRoot":"","sources":["../../utils/parseBackendError.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,aAAa,CAAA;AAEpB,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,CAAM,EAAsB,EAAE;IACpE,IAAI,IAAI,CAAA;IACR,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS;IACX,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,eAAe,CACxB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,SAAS,EACT,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,aAAa,CACtB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,SAAS,EACT,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,aAAa,CACtB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,YAAY,CAAC,aAAa,EAC1B,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;QAC/B,OAAO,IAAI,WAAW,CACpB,IAAI,EAAE,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EACvC,SAAS,EACT,CAAC,CAAC,KAAK,CACR,CAAA;IACH,CAAC;IAED,OAAO,IAAI,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;AAClE,CAAC,CAAA"}
@@ -1,100 +0,0 @@
1
- import { errorCodes as MetaMaskErrorCodes, getMessageFromCode, } from 'eth-rpc-errors';
2
- import { fetchTxErrorDetails } from '../helpers.js';
3
- import { ErrorMessage, EthersErrorMessage, EthersErrorType, LiFiError, LiFiErrorCode, MetaMaskProviderErrorCode, ProviderError, RPCError, TransactionError, UnknownError, } from './errors.js';
4
- import { getTransactionNotSentMessage } from './getTransactionMessage.js';
5
- /**
6
- * Available MetaMask error codes:
7
- *
8
- * export const errorCodes: ErrorCodes = {
9
- rpc: {
10
- invalidInput: -32000,
11
- resourceNotFound: -32001,
12
- resourceUnavailable: -32002,
13
- transactionRejected: -32003,
14
- methodNotSupported: -32004,
15
- limitExceeded: -32005,
16
- parse: -32700,
17
- invalidRequest: -32600,
18
- methodNotFound: -32601,
19
- invalidParams: -32602,
20
- internal: -32603,
21
- },
22
- provider: {
23
- userRejectedRequest: 4001,
24
- unauthorized: 4100,
25
- unsupportedMethod: 4200,
26
- disconnected: 4900,
27
- chainDisconnected: 4901,
28
- },
29
- };
30
- *
31
- * For more information about error codes supported by metamask check
32
- * https://github.com/MetaMask/eth-rpc-errors
33
- * https://eips.ethereum.org/EIPS/eip-1474#error-codes
34
- * https://eips.ethereum.org/EIPS/eip-1193#provider-errors
35
- */
36
- export const parseError = async (e, step, process) => {
37
- if (e instanceof LiFiError) {
38
- return e;
39
- }
40
- const errorCode = e.code || e.cause?.code;
41
- switch (errorCode) {
42
- case EthersErrorType.CallExecption:
43
- const defaultErrorMessage = await getTransactionNotSentMessage(step, process);
44
- try {
45
- if (!step?.action.fromChainId) {
46
- throw new Error('fromChainId is not defined.');
47
- }
48
- const response = await fetchTxErrorDetails(e.transactionHash, step?.action.fromChainId);
49
- const errorMessage = response?.error_message ?? e.reason;
50
- const isAllowanceError = response?.error_message?.includes(EthersErrorMessage.ERC20Allowance) || e.reason?.includes(EthersErrorMessage.ERC20Allowance);
51
- if (isAllowanceError) {
52
- return new TransactionError(LiFiErrorCode.AllowanceRequired, e.reason, errorMessage, e.stack);
53
- }
54
- // Error messages other than allowance error will be handled in catch block
55
- throw new Error(e);
56
- }
57
- catch (error) {
58
- return new ProviderError(LiFiErrorCode.TransactionFailed, e.reason, defaultErrorMessage, e.stack);
59
- }
60
- case EthersErrorType.InsufficientFunds:
61
- return new TransactionError(LiFiErrorCode.InsufficientFunds, e.message, await getTransactionNotSentMessage(step, process), e.stack);
62
- case EthersErrorType.ActionRejected:
63
- case MetaMaskProviderErrorCode.userRejectedRequest:
64
- return new TransactionError(LiFiErrorCode.SignatureRejected, e.message, await getTransactionNotSentMessage(step, process), e.stack);
65
- case LiFiErrorCode.TransactionUnprepared:
66
- return new TransactionError(LiFiErrorCode.TransactionUnprepared, e.message, await getTransactionNotSentMessage(step, process), e.stack);
67
- case LiFiErrorCode.ValidationError:
68
- return new TransactionError(LiFiErrorCode.ValidationError, e.message, e.htmlMessage);
69
- case LiFiErrorCode.TransactionCanceled:
70
- return new TransactionError(LiFiErrorCode.TransactionCanceled, e.message, e.htmlMessage);
71
- case LiFiErrorCode.ExchangeRateUpdateCanceled:
72
- return new TransactionError(LiFiErrorCode.ExchangeRateUpdateCanceled, e.message, e.htmlMessage);
73
- case LiFiErrorCode.WalletChangedDuringExecution:
74
- return new TransactionError(LiFiErrorCode.WalletChangedDuringExecution, e.message, e.htmlMessage);
75
- default: {
76
- if (errorCode && typeof errorCode === 'number') {
77
- if (Object.values(MetaMaskErrorCodes.rpc).includes(errorCode)) {
78
- // rpc errors
79
- // underpriced errors are sent as internal errors, so we need to parse the message manually
80
- if (errorCode === MetaMaskErrorCodes.rpc.internal &&
81
- (e.message?.includes(EthersErrorMessage.Underpriced) ||
82
- e.message?.includes(EthersErrorMessage.LowReplacementFee))) {
83
- return new RPCError(LiFiErrorCode.TransactionUnderpriced, ErrorMessage.TransactionUnderpriced, await getTransactionNotSentMessage(step, process), e.stack);
84
- }
85
- if (e.message?.includes(EthersErrorMessage.LowGas) ||
86
- e.message?.includes(EthersErrorMessage.OutOfGas)) {
87
- return new TransactionError(LiFiErrorCode.GasLimitError, ErrorMessage.GasLimitLow, await getTransactionNotSentMessage(step, process), e.stack);
88
- }
89
- return new RPCError(errorCode, getMessageFromCode(errorCode), await getTransactionNotSentMessage(step, process), e.stack);
90
- }
91
- // provider errors
92
- if (Object.values(MetaMaskErrorCodes.provider).includes(errorCode)) {
93
- return new ProviderError(errorCode, getMessageFromCode(errorCode), await getTransactionNotSentMessage(step, process), e.stack);
94
- }
95
- }
96
- return new UnknownError(LiFiErrorCode.InternalError, e.message || ErrorMessage.UnknownError, undefined, e.stack);
97
- }
98
- }
99
- };
100
- //# sourceMappingURL=parseError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseError.js","sourceRoot":"","sources":["../../utils/parseError.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,IAAI,kBAAkB,EAChC,kBAAkB,GACnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,aAAa,EACb,yBAAyB,EACzB,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,YAAY,GACb,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,CAAM,EACN,IAAe,EACf,OAAiB,EACG,EAAE;IACtB,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAA;IAEzC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,eAAe,CAAC,aAAa;YAChC,MAAM,mBAAmB,GAAG,MAAM,4BAA4B,CAC5D,IAAI,EACJ,OAAO,CACR,CAAA;YACD,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;gBAChD,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CACxC,CAAC,CAAC,eAAe,EACjB,IAAI,EAAE,MAAM,CAAC,WAAW,CACzB,CAAA;gBAED,MAAM,YAAY,GAAG,QAAQ,EAAE,aAAa,IAAI,CAAC,CAAC,MAAM,CAAA;gBAExD,MAAM,gBAAgB,GACpB,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAC/B,kBAAkB,CAAC,cAAc,CAClC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;gBAE5D,IAAI,gBAAgB,EAAE,CAAC;oBACrB,OAAO,IAAI,gBAAgB,CACzB,aAAa,CAAC,iBAAiB,EAC/B,CAAC,CAAC,MAAM,EACR,YAAY,EACZ,CAAC,CAAC,KAAK,CACR,CAAA;gBACH,CAAC;gBAED,2EAA2E;gBAC3E,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,aAAa,CACtB,aAAa,CAAC,iBAAiB,EAC/B,CAAC,CAAC,MAAM,EACR,mBAAmB,EACnB,CAAC,CAAC,KAAK,CACR,CAAA;YACH,CAAC;QACH,KAAK,eAAe,CAAC,iBAAiB;YACpC,OAAO,IAAI,gBAAgB,CACzB,aAAa,CAAC,iBAAiB,EAC/B,CAAC,CAAC,OAAO,EACT,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,EACjD,CAAC,CAAC,KAAK,CACR,CAAA;QACH,KAAK,eAAe,CAAC,cAAc,CAAC;QACpC,KAAK,yBAAyB,CAAC,mBAAmB;YAChD,OAAO,IAAI,gBAAgB,CACzB,aAAa,CAAC,iBAAiB,EAC/B,CAAC,CAAC,OAAO,EACT,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,EACjD,CAAC,CAAC,KAAK,CACR,CAAA;QACH,KAAK,aAAa,CAAC,qBAAqB;YACtC,OAAO,IAAI,gBAAgB,CACzB,aAAa,CAAC,qBAAqB,EACnC,CAAC,CAAC,OAAO,EACT,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,EACjD,CAAC,CAAC,KAAK,CACR,CAAA;QACH,KAAK,aAAa,CAAC,eAAe;YAChC,OAAO,IAAI,gBAAgB,CACzB,aAAa,CAAC,eAAe,EAC7B,CAAC,CAAC,OAAO,EACT,CAAC,CAAC,WAAW,CACd,CAAA;QACH,KAAK,aAAa,CAAC,mBAAmB;YACpC,OAAO,IAAI,gBAAgB,CACzB,aAAa,CAAC,mBAAmB,EACjC,CAAC,CAAC,OAAO,EACT,CAAC,CAAC,WAAW,CACd,CAAA;QACH,KAAK,aAAa,CAAC,0BAA0B;YAC3C,OAAO,IAAI,gBAAgB,CACzB,aAAa,CAAC,0BAA0B,EACxC,CAAC,CAAC,OAAO,EACT,CAAC,CAAC,WAAW,CACd,CAAA;QACH,KAAK,aAAa,CAAC,4BAA4B;YAC7C,OAAO,IAAI,gBAAgB,CACzB,aAAa,CAAC,4BAA4B,EAC1C,CAAC,CAAC,OAAO,EACT,CAAC,CAAC,WAAW,CACd,CAAA;QACH,OAAO,CAAC,CAAC,CAAC;YACR,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC/C,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAgB,CAAC,EAAE,CAAC;oBACrE,aAAa;oBACb,2FAA2F;oBAC3F,IACE,SAAS,KAAK,kBAAkB,CAAC,GAAG,CAAC,QAAQ;wBAC7C,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,WAAW,CAAC;4BAClD,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,EAC5D,CAAC;wBACD,OAAO,IAAI,QAAQ,CACjB,aAAa,CAAC,sBAAsB,EACpC,YAAY,CAAC,sBAAsB,EACnC,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,EACjD,CAAC,CAAC,KAAK,CACR,CAAA;oBACH,CAAC;oBAED,IACE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC;wBAC9C,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAChD,CAAC;wBACD,OAAO,IAAI,gBAAgB,CACzB,aAAa,CAAC,aAAa,EAC3B,YAAY,CAAC,WAAW,EACxB,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,EACjD,CAAC,CAAC,KAAK,CACR,CAAA;oBACH,CAAC;oBAED,OAAO,IAAI,QAAQ,CACjB,SAAS,EACT,kBAAkB,CAAC,SAAS,CAAC,EAC7B,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,EACjD,CAAC,CAAC,KAAK,CACR,CAAA;gBACH,CAAC;gBAED,kBAAkB;gBAClB,IACE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAgB,CAAC,EACrE,CAAC;oBACD,OAAO,IAAI,aAAa,CACtB,SAAS,EACT,kBAAkB,CAAC,SAAS,CAAC,EAC7B,MAAM,4BAA4B,CAAC,IAAI,EAAE,OAAO,CAAC,EACjD,CAAC,CAAC,KAAK,CACR,CAAA;gBACH,CAAC;YACH,CAAC;YACD,OAAO,IAAI,YAAY,CACrB,aAAa,CAAC,aAAa,EAC3B,CAAC,CAAC,OAAO,IAAI,YAAY,CAAC,YAAY,EACtC,SAAS,EACT,CAAC,CAAC,KAAK,CACR,CAAA;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -1,3 +0,0 @@
1
- import type { LiFiError } from './errors.js';
2
- export declare const parseBackendError: (e: any) => Promise<LiFiError>;
3
- //# sourceMappingURL=parseBackendError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseBackendError.d.ts","sourceRoot":"","sources":["../../utils/parseBackendError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAS5C,eAAO,MAAM,iBAAiB,MAAa,GAAG,KAAG,OAAO,CAAC,SAAS,CAwCjE,CAAA"}
@@ -1,35 +0,0 @@
1
- import type { LiFiStep, Process } from '@lifi/types';
2
- import { LiFiError } from './errors.js';
3
- /**
4
- * Available MetaMask error codes:
5
- *
6
- * export const errorCodes: ErrorCodes = {
7
- rpc: {
8
- invalidInput: -32000,
9
- resourceNotFound: -32001,
10
- resourceUnavailable: -32002,
11
- transactionRejected: -32003,
12
- methodNotSupported: -32004,
13
- limitExceeded: -32005,
14
- parse: -32700,
15
- invalidRequest: -32600,
16
- methodNotFound: -32601,
17
- invalidParams: -32602,
18
- internal: -32603,
19
- },
20
- provider: {
21
- userRejectedRequest: 4001,
22
- unauthorized: 4100,
23
- unsupportedMethod: 4200,
24
- disconnected: 4900,
25
- chainDisconnected: 4901,
26
- },
27
- };
28
- *
29
- * For more information about error codes supported by metamask check
30
- * https://github.com/MetaMask/eth-rpc-errors
31
- * https://eips.ethereum.org/EIPS/eip-1474#error-codes
32
- * https://eips.ethereum.org/EIPS/eip-1193#provider-errors
33
- */
34
- export declare const parseError: (e: any, step?: LiFiStep, process?: Process) => Promise<LiFiError>;
35
- //# sourceMappingURL=parseError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseError.d.ts","sourceRoot":"","sources":["../../utils/parseError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAMpD,OAAO,EAIL,SAAS,EAOV,MAAM,aAAa,CAAA;AAGpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,eAAO,MAAM,UAAU,MAClB,GAAG,SACC,QAAQ,YACL,OAAO,KAChB,OAAO,CAAC,SAAS,CAyJnB,CAAA"}
@@ -1,50 +0,0 @@
1
- import type { LiFiError } from './errors.js'
2
- import {
3
- ErrorMessage,
4
- NotFoundError,
5
- ServerError,
6
- SlippageError,
7
- ValidationError,
8
- } from './errors.js'
9
-
10
- export const parseBackendError = async (e: any): Promise<LiFiError> => {
11
- let data
12
- try {
13
- data = await e.response?.json()
14
- } catch (error) {
15
- // ignore
16
- }
17
- if (e.response?.status === 400) {
18
- return new ValidationError(
19
- data?.message || e.response?.statusText,
20
- undefined,
21
- e.stack
22
- )
23
- }
24
-
25
- if (e.response?.status === 404) {
26
- return new NotFoundError(
27
- data?.message || e.response?.statusText,
28
- undefined,
29
- e.stack
30
- )
31
- }
32
-
33
- if (e.response?.status === 409) {
34
- return new SlippageError(
35
- data?.message || e.response?.statusText,
36
- ErrorMessage.SlippageError,
37
- e.stack
38
- )
39
- }
40
-
41
- if (e.response?.status === 500) {
42
- return new ServerError(
43
- data?.message || e.response?.statusText,
44
- undefined,
45
- e.stack
46
- )
47
- }
48
-
49
- return new ServerError(ErrorMessage.Default, undefined, e.stack)
50
- }
@@ -1,210 +0,0 @@
1
- import type { LiFiStep, Process } from '@lifi/types'
2
- import {
3
- errorCodes as MetaMaskErrorCodes,
4
- getMessageFromCode,
5
- } from 'eth-rpc-errors'
6
- import { fetchTxErrorDetails } from '../helpers.js'
7
- import {
8
- ErrorMessage,
9
- EthersErrorMessage,
10
- EthersErrorType,
11
- LiFiError,
12
- LiFiErrorCode,
13
- MetaMaskProviderErrorCode,
14
- ProviderError,
15
- RPCError,
16
- TransactionError,
17
- UnknownError,
18
- } from './errors.js'
19
- import { getTransactionNotSentMessage } from './getTransactionMessage.js'
20
-
21
- /**
22
- * Available MetaMask error codes:
23
- *
24
- * export const errorCodes: ErrorCodes = {
25
- rpc: {
26
- invalidInput: -32000,
27
- resourceNotFound: -32001,
28
- resourceUnavailable: -32002,
29
- transactionRejected: -32003,
30
- methodNotSupported: -32004,
31
- limitExceeded: -32005,
32
- parse: -32700,
33
- invalidRequest: -32600,
34
- methodNotFound: -32601,
35
- invalidParams: -32602,
36
- internal: -32603,
37
- },
38
- provider: {
39
- userRejectedRequest: 4001,
40
- unauthorized: 4100,
41
- unsupportedMethod: 4200,
42
- disconnected: 4900,
43
- chainDisconnected: 4901,
44
- },
45
- };
46
- *
47
- * For more information about error codes supported by metamask check
48
- * https://github.com/MetaMask/eth-rpc-errors
49
- * https://eips.ethereum.org/EIPS/eip-1474#error-codes
50
- * https://eips.ethereum.org/EIPS/eip-1193#provider-errors
51
- */
52
-
53
- export const parseError = async (
54
- e: any,
55
- step?: LiFiStep,
56
- process?: Process
57
- ): Promise<LiFiError> => {
58
- if (e instanceof LiFiError) {
59
- return e
60
- }
61
-
62
- const errorCode = e.code || e.cause?.code
63
-
64
- switch (errorCode) {
65
- case EthersErrorType.CallExecption:
66
- const defaultErrorMessage = await getTransactionNotSentMessage(
67
- step,
68
- process
69
- )
70
- try {
71
- if (!step?.action.fromChainId) {
72
- throw new Error('fromChainId is not defined.')
73
- }
74
-
75
- const response = await fetchTxErrorDetails(
76
- e.transactionHash,
77
- step?.action.fromChainId
78
- )
79
-
80
- const errorMessage = response?.error_message ?? e.reason
81
-
82
- const isAllowanceError =
83
- response?.error_message?.includes(
84
- EthersErrorMessage.ERC20Allowance
85
- ) || e.reason?.includes(EthersErrorMessage.ERC20Allowance)
86
-
87
- if (isAllowanceError) {
88
- return new TransactionError(
89
- LiFiErrorCode.AllowanceRequired,
90
- e.reason,
91
- errorMessage,
92
- e.stack
93
- )
94
- }
95
-
96
- // Error messages other than allowance error will be handled in catch block
97
- throw new Error(e)
98
- } catch (error) {
99
- return new ProviderError(
100
- LiFiErrorCode.TransactionFailed,
101
- e.reason,
102
- defaultErrorMessage,
103
- e.stack
104
- )
105
- }
106
- case EthersErrorType.InsufficientFunds:
107
- return new TransactionError(
108
- LiFiErrorCode.InsufficientFunds,
109
- e.message,
110
- await getTransactionNotSentMessage(step, process),
111
- e.stack
112
- )
113
- case EthersErrorType.ActionRejected:
114
- case MetaMaskProviderErrorCode.userRejectedRequest:
115
- return new TransactionError(
116
- LiFiErrorCode.SignatureRejected,
117
- e.message,
118
- await getTransactionNotSentMessage(step, process),
119
- e.stack
120
- )
121
- case LiFiErrorCode.TransactionUnprepared:
122
- return new TransactionError(
123
- LiFiErrorCode.TransactionUnprepared,
124
- e.message,
125
- await getTransactionNotSentMessage(step, process),
126
- e.stack
127
- )
128
- case LiFiErrorCode.ValidationError:
129
- return new TransactionError(
130
- LiFiErrorCode.ValidationError,
131
- e.message,
132
- e.htmlMessage
133
- )
134
- case LiFiErrorCode.TransactionCanceled:
135
- return new TransactionError(
136
- LiFiErrorCode.TransactionCanceled,
137
- e.message,
138
- e.htmlMessage
139
- )
140
- case LiFiErrorCode.ExchangeRateUpdateCanceled:
141
- return new TransactionError(
142
- LiFiErrorCode.ExchangeRateUpdateCanceled,
143
- e.message,
144
- e.htmlMessage
145
- )
146
- case LiFiErrorCode.WalletChangedDuringExecution:
147
- return new TransactionError(
148
- LiFiErrorCode.WalletChangedDuringExecution,
149
- e.message,
150
- e.htmlMessage
151
- )
152
- default: {
153
- if (errorCode && typeof errorCode === 'number') {
154
- if (Object.values(MetaMaskErrorCodes.rpc).includes(errorCode as any)) {
155
- // rpc errors
156
- // underpriced errors are sent as internal errors, so we need to parse the message manually
157
- if (
158
- errorCode === MetaMaskErrorCodes.rpc.internal &&
159
- (e.message?.includes(EthersErrorMessage.Underpriced) ||
160
- e.message?.includes(EthersErrorMessage.LowReplacementFee))
161
- ) {
162
- return new RPCError(
163
- LiFiErrorCode.TransactionUnderpriced,
164
- ErrorMessage.TransactionUnderpriced,
165
- await getTransactionNotSentMessage(step, process),
166
- e.stack
167
- )
168
- }
169
-
170
- if (
171
- e.message?.includes(EthersErrorMessage.LowGas) ||
172
- e.message?.includes(EthersErrorMessage.OutOfGas)
173
- ) {
174
- return new TransactionError(
175
- LiFiErrorCode.GasLimitError,
176
- ErrorMessage.GasLimitLow,
177
- await getTransactionNotSentMessage(step, process),
178
- e.stack
179
- )
180
- }
181
-
182
- return new RPCError(
183
- errorCode,
184
- getMessageFromCode(errorCode),
185
- await getTransactionNotSentMessage(step, process),
186
- e.stack
187
- )
188
- }
189
-
190
- // provider errors
191
- if (
192
- Object.values(MetaMaskErrorCodes.provider).includes(errorCode as any)
193
- ) {
194
- return new ProviderError(
195
- errorCode,
196
- getMessageFromCode(errorCode),
197
- await getTransactionNotSentMessage(step, process),
198
- e.stack
199
- )
200
- }
201
- }
202
- return new UnknownError(
203
- LiFiErrorCode.InternalError,
204
- e.message || ErrorMessage.UnknownError,
205
- undefined,
206
- e.stack
207
- )
208
- }
209
- }
210
- }