@lifi/sdk 3.0.1 → 3.1.0-beta.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 (237) hide show
  1. package/package.json +4 -4
  2. package/src/_cjs/constants.js +2 -1
  3. package/src/_cjs/constants.js.map +1 -1
  4. package/src/_cjs/core/EVM/EVMStepExecutor.js +16 -15
  5. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
  6. package/src/_cjs/core/EVM/checkAllowance.js +3 -4
  7. package/src/_cjs/core/EVM/checkAllowance.js.map +1 -1
  8. package/src/_cjs/core/EVM/multisig.js +4 -3
  9. package/src/_cjs/core/EVM/multisig.js.map +1 -1
  10. package/src/_cjs/core/EVM/parseEVMErrors.js +38 -0
  11. package/src/_cjs/core/EVM/parseEVMErrors.js.map +1 -0
  12. package/src/_cjs/core/EVM/publicClient.js +8 -3
  13. package/src/_cjs/core/EVM/publicClient.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 +54 -32
  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/getSolanaBalance.js +1 -2
  20. package/src/_cjs/core/Solana/getSolanaBalance.js.map +1 -1
  21. package/src/_cjs/core/Solana/parseSolanaErrors.js +33 -0
  22. package/src/_cjs/core/Solana/parseSolanaErrors.js.map +1 -0
  23. package/src/_cjs/core/StatusManager.js +3 -3
  24. package/src/_cjs/core/StatusManager.js.map +1 -1
  25. package/src/_cjs/core/checkBalance.js +4 -5
  26. package/src/_cjs/core/checkBalance.js.map +1 -1
  27. package/src/_cjs/core/processMessages.js +61 -0
  28. package/src/_cjs/core/processMessages.js.map +1 -0
  29. package/src/_cjs/core/stepComparison.js +3 -3
  30. package/src/_cjs/core/stepComparison.js.map +1 -1
  31. package/src/_cjs/core/utils.js +6 -58
  32. package/src/_cjs/core/utils.js.map +1 -1
  33. package/src/_cjs/core/waitForReceivingTransaction.js +3 -3
  34. package/src/_cjs/core/waitForReceivingTransaction.js.map +1 -1
  35. package/src/_cjs/errors/SDKError.js +48 -0
  36. package/src/_cjs/errors/SDKError.js.map +1 -0
  37. package/src/_cjs/errors/baseError.js +30 -0
  38. package/src/_cjs/errors/baseError.js.map +1 -0
  39. package/src/_cjs/errors/constants.js +48 -0
  40. package/src/_cjs/errors/constants.js.map +1 -0
  41. package/src/_cjs/errors/errors.js +48 -0
  42. package/src/_cjs/errors/errors.js.map +1 -0
  43. package/src/_cjs/errors/httpError.js +101 -0
  44. package/src/_cjs/errors/httpError.js.map +1 -0
  45. package/src/_cjs/errors/index.js +11 -0
  46. package/src/_cjs/errors/index.js.map +1 -0
  47. package/src/_cjs/errors/utils/baseErrorRootCause.js +21 -0
  48. package/src/_cjs/errors/utils/baseErrorRootCause.js.map +1 -0
  49. package/src/_cjs/errors/utils/rootCause.js +12 -0
  50. package/src/_cjs/errors/utils/rootCause.js.map +1 -0
  51. package/src/_cjs/helpers.js +13 -8
  52. package/src/_cjs/helpers.js.map +1 -1
  53. package/src/_cjs/index.js +2 -4
  54. package/src/_cjs/index.js.map +1 -1
  55. package/src/_cjs/request.js +37 -34
  56. package/src/_cjs/request.js.map +1 -1
  57. package/src/_cjs/services/api.js +61 -132
  58. package/src/_cjs/services/api.js.map +1 -1
  59. package/src/_cjs/services/balance.js +1 -1
  60. package/src/_cjs/services/balance.js.map +1 -1
  61. package/src/_cjs/types/request.js +3 -0
  62. package/src/_cjs/types/request.js.map +1 -0
  63. package/src/_cjs/utils/errors.js +0 -182
  64. package/src/_cjs/utils/errors.js.map +1 -1
  65. package/src/_cjs/utils/index.js +1 -2
  66. package/src/_cjs/utils/index.js.map +1 -1
  67. package/src/_cjs/version.js +1 -1
  68. package/src/_cjs/version.js.map +1 -1
  69. package/src/_esm/constants.js +1 -0
  70. package/src/_esm/constants.js.map +1 -1
  71. package/src/_esm/core/EVM/EVMStepExecutor.js +9 -8
  72. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
  73. package/src/_esm/core/EVM/checkAllowance.js +3 -4
  74. package/src/_esm/core/EVM/checkAllowance.js.map +1 -1
  75. package/src/_esm/core/EVM/multisig.js +2 -1
  76. package/src/_esm/core/EVM/multisig.js.map +1 -1
  77. package/src/_esm/core/EVM/parseEVMErrors.js +35 -0
  78. package/src/_esm/core/EVM/parseEVMErrors.js.map +1 -0
  79. package/src/_esm/core/EVM/publicClient.js +9 -4
  80. package/src/_esm/core/EVM/publicClient.js.map +1 -1
  81. package/src/_esm/core/EVM/switchChain.js +2 -1
  82. package/src/_esm/core/EVM/switchChain.js.map +1 -1
  83. package/src/_esm/core/Solana/SolanaStepExecutor.js +67 -36
  84. package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -1
  85. package/src/_esm/core/Solana/connection.js +2 -3
  86. package/src/_esm/core/Solana/connection.js.map +1 -1
  87. package/src/_esm/core/Solana/getSolanaBalance.js +2 -3
  88. package/src/_esm/core/Solana/getSolanaBalance.js.map +1 -1
  89. package/src/_esm/core/Solana/parseSolanaErrors.js +29 -0
  90. package/src/_esm/core/Solana/parseSolanaErrors.js.map +1 -0
  91. package/src/_esm/core/StatusManager.js +1 -1
  92. package/src/_esm/core/StatusManager.js.map +1 -1
  93. package/src/_esm/core/checkBalance.js +4 -5
  94. package/src/_esm/core/checkBalance.js.map +1 -1
  95. package/src/_esm/core/processMessages.js +58 -0
  96. package/src/_esm/core/processMessages.js.map +1 -0
  97. package/src/_esm/core/stepComparison.js +3 -3
  98. package/src/_esm/core/stepComparison.js.map +1 -1
  99. package/src/_esm/core/utils.js +7 -58
  100. package/src/_esm/core/utils.js.map +1 -1
  101. package/src/_esm/core/waitForReceivingTransaction.js +2 -2
  102. package/src/_esm/core/waitForReceivingTransaction.js.map +1 -1
  103. package/src/_esm/errors/SDKError.js +47 -0
  104. package/src/_esm/errors/SDKError.js.map +1 -0
  105. package/src/_esm/errors/baseError.js +28 -0
  106. package/src/_esm/errors/baseError.js.map +1 -0
  107. package/src/_esm/errors/constants.js +45 -0
  108. package/src/_esm/errors/constants.js.map +1 -0
  109. package/src/_esm/errors/errors.js +38 -0
  110. package/src/_esm/errors/errors.js.map +1 -0
  111. package/src/_esm/errors/httpError.js +97 -0
  112. package/src/_esm/errors/httpError.js.map +1 -0
  113. package/src/_esm/errors/index.js +8 -0
  114. package/src/_esm/errors/index.js.map +1 -0
  115. package/src/_esm/errors/utils/baseErrorRootCause.js +16 -0
  116. package/src/_esm/errors/utils/baseErrorRootCause.js.map +1 -0
  117. package/src/_esm/errors/utils/rootCause.js +8 -0
  118. package/src/_esm/errors/utils/rootCause.js.map +1 -0
  119. package/src/_esm/helpers.js +16 -9
  120. package/src/_esm/helpers.js.map +1 -1
  121. package/src/_esm/index.js +2 -2
  122. package/src/_esm/index.js.map +1 -1
  123. package/src/_esm/request.js +38 -35
  124. package/src/_esm/request.js.map +1 -1
  125. package/src/_esm/services/api.js +61 -133
  126. package/src/_esm/services/api.js.map +1 -1
  127. package/src/_esm/services/balance.js +4 -4
  128. package/src/_esm/services/balance.js.map +1 -1
  129. package/src/_esm/types/request.js +2 -0
  130. package/src/_esm/types/request.js.map +1 -0
  131. package/src/_esm/utils/errors.js +1 -172
  132. package/src/_esm/utils/errors.js.map +1 -1
  133. package/src/_esm/utils/index.js +1 -2
  134. package/src/_esm/utils/index.js.map +1 -1
  135. package/src/_esm/version.js +1 -1
  136. package/src/_esm/version.js.map +1 -1
  137. package/src/_types/constants.d.ts +1 -0
  138. package/src/_types/constants.d.ts.map +1 -1
  139. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
  140. package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -1
  141. package/src/_types/core/EVM/multisig.d.ts.map +1 -1
  142. package/src/_types/core/EVM/parseEVMErrors.d.ts +4 -0
  143. package/src/_types/core/EVM/parseEVMErrors.d.ts.map +1 -0
  144. package/src/_types/core/EVM/publicClient.d.ts.map +1 -1
  145. package/src/_types/core/EVM/switchChain.d.ts.map +1 -1
  146. package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -1
  147. package/src/_types/core/Solana/connection.d.ts +2 -3
  148. package/src/_types/core/Solana/connection.d.ts.map +1 -1
  149. package/src/_types/core/Solana/parseSolanaErrors.d.ts +4 -0
  150. package/src/_types/core/Solana/parseSolanaErrors.d.ts.map +1 -0
  151. package/src/_types/core/StatusManager.d.ts.map +1 -1
  152. package/src/_types/core/checkBalance.d.ts.map +1 -1
  153. package/src/_types/core/processMessages.d.ts +4 -0
  154. package/src/_types/core/processMessages.d.ts.map +1 -0
  155. package/src/_types/core/stepComparison.d.ts.map +1 -1
  156. package/src/_types/core/utils.d.ts +4 -5
  157. package/src/_types/core/utils.d.ts.map +1 -1
  158. package/src/_types/errors/SDKError.d.ts +12 -0
  159. package/src/_types/errors/SDKError.d.ts.map +1 -0
  160. package/src/_types/errors/baseError.d.ts +7 -0
  161. package/src/_types/errors/baseError.d.ts.map +1 -0
  162. package/src/_types/errors/constants.d.ts +43 -0
  163. package/src/_types/errors/constants.d.ts.map +1 -0
  164. package/src/_types/errors/errors.d.ts +24 -0
  165. package/src/_types/errors/errors.d.ts.map +1 -0
  166. package/src/_types/errors/httpError.d.ts +21 -0
  167. package/src/_types/errors/httpError.d.ts.map +1 -0
  168. package/src/_types/errors/index.d.ts +8 -0
  169. package/src/_types/errors/index.d.ts.map +1 -0
  170. package/src/_types/errors/utils/baseErrorRootCause.d.ts +4 -0
  171. package/src/_types/errors/utils/baseErrorRootCause.d.ts.map +1 -0
  172. package/src/_types/errors/utils/rootCause.d.ts +2 -0
  173. package/src/_types/errors/utils/rootCause.d.ts.map +1 -0
  174. package/src/_types/helpers.d.ts +5 -4
  175. package/src/_types/helpers.d.ts.map +1 -1
  176. package/src/_types/index.d.ts +2 -2
  177. package/src/_types/index.d.ts.map +1 -1
  178. package/src/_types/request.d.ts +1 -5
  179. package/src/_types/request.d.ts.map +1 -1
  180. package/src/_types/services/api.d.ts.map +1 -1
  181. package/src/_types/services/balance.d.ts +3 -3
  182. package/src/_types/types/request.d.ts +4 -0
  183. package/src/_types/types/request.d.ts.map +1 -0
  184. package/src/_types/utils/errors.d.ts +0 -108
  185. package/src/_types/utils/errors.d.ts.map +1 -1
  186. package/src/_types/utils/index.d.ts +1 -2
  187. package/src/_types/utils/index.d.ts.map +1 -1
  188. package/src/_types/version.d.ts +1 -1
  189. package/src/_types/version.d.ts.map +1 -1
  190. package/src/constants.ts +1 -0
  191. package/src/core/EVM/EVMStepExecutor.ts +15 -13
  192. package/src/core/EVM/checkAllowance.ts +3 -4
  193. package/src/core/EVM/multisig.ts +2 -1
  194. package/src/core/EVM/parseEVMErrors.ts +60 -0
  195. package/src/core/EVM/publicClient.ts +9 -4
  196. package/src/core/EVM/switchChain.ts +2 -1
  197. package/src/core/Solana/SolanaStepExecutor.ts +92 -52
  198. package/src/core/Solana/connection.ts +2 -3
  199. package/src/core/Solana/getSolanaBalance.ts +2 -3
  200. package/src/core/Solana/parseSolanaErrors.ts +45 -0
  201. package/src/core/StatusManager.ts +1 -1
  202. package/src/core/checkBalance.ts +4 -5
  203. package/src/core/processMessages.ts +81 -0
  204. package/src/core/stepComparison.ts +3 -4
  205. package/src/core/utils.ts +9 -84
  206. package/src/core/waitForReceivingTransaction.ts +2 -2
  207. package/src/errors/SDKError.ts +25 -0
  208. package/src/errors/baseError.ts +22 -0
  209. package/src/errors/constants.ts +45 -0
  210. package/src/errors/errors.ts +44 -0
  211. package/src/errors/httpError.ts +93 -0
  212. package/src/errors/index.ts +7 -0
  213. package/src/errors/utils/baseErrorRootCause.ts +18 -0
  214. package/src/errors/utils/rootCause.ts +7 -0
  215. package/src/helpers.ts +23 -16
  216. package/src/index.ts +2 -2
  217. package/src/request.ts +52 -38
  218. package/src/services/api.ts +109 -157
  219. package/src/services/balance.ts +4 -4
  220. package/src/types/request.ts +3 -0
  221. package/src/utils/errors.ts +0 -232
  222. package/src/utils/index.ts +1 -2
  223. package/src/version.ts +1 -1
  224. package/src/_cjs/utils/parseBackendError.js +0 -27
  225. package/src/_cjs/utils/parseBackendError.js.map +0 -1
  226. package/src/_cjs/utils/parseError.js +0 -69
  227. package/src/_cjs/utils/parseError.js.map +0 -1
  228. package/src/_esm/utils/parseBackendError.js +0 -24
  229. package/src/_esm/utils/parseBackendError.js.map +0 -1
  230. package/src/_esm/utils/parseError.js +0 -100
  231. package/src/_esm/utils/parseError.js.map +0 -1
  232. package/src/_types/utils/parseBackendError.d.ts +0 -3
  233. package/src/_types/utils/parseBackendError.d.ts.map +0 -1
  234. package/src/_types/utils/parseError.d.ts +0 -35
  235. package/src/_types/utils/parseError.d.ts.map +0 -1
  236. package/src/utils/parseBackendError.ts +0 -50
  237. package/src/utils/parseError.ts +0 -210
@@ -1,6 +1,7 @@
1
1
  import { formatUnits } from 'viem';
2
2
  import { getTokenBalance } from '../services/balance.js';
3
- import { BalanceError } from '../utils/errors.js';
3
+ import { BalanceError } from '../errors/errors.js';
4
+ import { sleep } from './utils.js';
4
5
  export const checkBalance = async (walletAddress, step, depth = 0) => {
5
6
  const token = await getTokenBalance(walletAddress, step.action.fromToken);
6
7
  if (token) {
@@ -8,9 +9,7 @@ export const checkBalance = async (walletAddress, step, depth = 0) => {
8
9
  const neededBalance = BigInt(step.action.fromAmount);
9
10
  if (currentBalance < neededBalance) {
10
11
  if (depth <= 3) {
11
- await new Promise((resolve) => {
12
- setTimeout(resolve, 200);
13
- });
12
+ await sleep(200);
14
13
  await checkBalance(walletAddress, step, depth + 1);
15
14
  }
16
15
  else if ((neededBalance * BigInt((1 - step.action.slippage) * 1_000_000_000)) /
@@ -31,7 +30,7 @@ export const checkBalance = async (walletAddress, step, depth = 0) => {
31
30
  `If the problem consists, please delete this transfer and ` +
32
31
  `start a new one with a maximum of ${current} ${token.symbol}.`;
33
32
  }
34
- throw new BalanceError('The balance is too low.', errorMessage);
33
+ throw new BalanceError('The balance is too low.');
35
34
  }
36
35
  }
37
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../core/checkBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACzE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC5B,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;gBAC1B,CAAC,CAAC,CAAA;gBACF,MAAM,YAAY,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACpD,CAAC;iBAAM,IACL,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,CAAC;gBAClE,WAAc;gBAChB,cAAc,EACd,CAAC;gBACD,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC1D,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,YAAY,GACd,QAAQ,KAAK,CAAC,MAAM,uBAAuB;oBAC3C,uBAAuB,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI;oBAClD,8BAA8B,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI;oBACzD,0BAA0B,CAAA;gBAE5B,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;oBAC1B,YAAY;wBACV,2DAA2D;4BAC3D,qCAAqC,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;gBACnE,CAAC;gBAED,MAAM,IAAI,YAAY,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAA;YACjE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../core/checkBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACzE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,YAAY,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YACpD,CAAC;iBAAM,IACL,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,CAAC;gBAClE,WAAc;gBAChB,cAAc,EACd,CAAC;gBACD,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC1D,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,YAAY,GACd,QAAQ,KAAK,CAAC,MAAM,uBAAuB;oBAC3C,uBAAuB,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI;oBAClD,8BAA8B,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI;oBACzD,0BAA0B,CAAA;gBAE5B,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;oBAC1B,YAAY;wBACV,2DAA2D;4BAC3D,qCAAqC,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;gBACnE,CAAC;gBAED,MAAM,IAAI,YAAY,CAAC,yBAAyB,CAAC,CAAA;YACnD,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,58 @@
1
+ import {} from '@lifi/types';
2
+ const processMessages = {
3
+ TOKEN_ALLOWANCE: {
4
+ STARTED: 'Setting token allowance.',
5
+ PENDING: 'Waiting for token allowance.',
6
+ DONE: 'Token allowance set.',
7
+ },
8
+ SWITCH_CHAIN: {
9
+ PENDING: 'Chain switch required.',
10
+ DONE: 'Chain switched successfully.',
11
+ },
12
+ SWAP: {
13
+ STARTED: 'Preparing swap transaction.',
14
+ ACTION_REQUIRED: 'Please sign the transaction.',
15
+ PENDING: 'Waiting for swap transaction.',
16
+ DONE: 'Swap completed.',
17
+ },
18
+ CROSS_CHAIN: {
19
+ STARTED: 'Preparing bridge transaction.',
20
+ ACTION_REQUIRED: 'Please sign the transaction.',
21
+ PENDING: 'Waiting for bridge transaction.',
22
+ DONE: 'Bridge transaction confirmed.',
23
+ },
24
+ RECEIVING_CHAIN: {
25
+ PENDING: 'Waiting for destination chain.',
26
+ DONE: 'Bridge completed.',
27
+ },
28
+ TRANSACTION: {},
29
+ };
30
+ const substatusMessages = {
31
+ PENDING: {
32
+ BRIDGE_NOT_AVAILABLE: 'Bridge communication is temporarily unavailable.',
33
+ CHAIN_NOT_AVAILABLE: 'RPC communication is temporarily unavailable.',
34
+ UNKNOWN_ERROR: 'An unexpected error occurred. Please seek assistance in the LI.FI discord server.',
35
+ WAIT_SOURCE_CONFIRMATIONS: 'The bridge deposit has been received. The bridge is waiting for more confirmations to start the off-chain logic.',
36
+ WAIT_DESTINATION_TRANSACTION: 'The bridge off-chain logic is being executed. Wait for the transaction to appear on the destination chain.',
37
+ },
38
+ DONE: {
39
+ PARTIAL: 'Some of the received tokens are not the requested destination tokens.',
40
+ REFUNDED: 'The tokens were refunded to the sender address.',
41
+ COMPLETED: 'The transfer is complete.',
42
+ },
43
+ FAILED: {},
44
+ INVALID: {},
45
+ NOT_FOUND: {},
46
+ };
47
+ export function getProcessMessage(type, status) {
48
+ const processMessage = processMessages[type][status];
49
+ return processMessage;
50
+ }
51
+ export function getSubstatusMessage(status, substatus) {
52
+ if (!substatus) {
53
+ return;
54
+ }
55
+ const message = substatusMessages[status][substatus];
56
+ return message;
57
+ }
58
+ //# sourceMappingURL=processMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processMessages.js","sourceRoot":"","sources":["../../core/processMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,MAAM,aAAa,CAAA;AAEpB,MAAM,eAAe,GAGjB;IACF,eAAe,EAAE;QACf,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,sBAAsB;KAC7B;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE,8BAA8B;KACrC;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,6BAA6B;QACtC,eAAe,EAAE,8BAA8B;QAC/C,OAAO,EAAE,+BAA+B;QACxC,IAAI,EAAE,iBAAiB;KACxB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,+BAA+B;QACxC,eAAe,EAAE,8BAA8B;QAC/C,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,+BAA+B;KACtC;IACD,eAAe,EAAE;QACf,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,mBAAmB;KAC1B;IACD,WAAW,EAAE,EAAE;CAChB,CAAA;AACD,MAAM,iBAAiB,GAGnB;IACF,OAAO,EAAE;QACP,oBAAoB,EAAE,kDAAkD;QACxE,mBAAmB,EAAE,+CAA+C;QACpE,aAAa,EACX,mFAAmF;QACrF,yBAAyB,EACvB,kHAAkH;QACpH,4BAA4B,EAC1B,4GAA4G;KAC/G;IACD,IAAI,EAAE;QACJ,OAAO,EACL,uEAAuE;QACzE,QAAQ,EAAE,iDAAiD;QAC3D,SAAS,EAAE,2BAA2B;KACvC;IACD,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;CACd,CAAA;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAiB,EACjB,MAAqB;IAErB,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IACpD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAqB,EACrB,SAAqB;IAErB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAM;IACR,CAAC;IACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAA;IACpD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,4 +1,5 @@
1
- import { LiFiErrorCode, TransactionError } from '../utils/errors.js';
1
+ import { LiFiErrorCode } from '../errors/constants.js';
2
+ import { TransactionError } from '../errors/errors.js';
2
3
  import { checkStepSlippageThreshold } from './utils.js';
3
4
  /**
4
5
  * This method checks whether the new and updated Step meets the required exchange rate conditions.
@@ -27,8 +28,7 @@ export const stepComparison = async (statusManager, oldStep, newStep, allowUserI
27
28
  }
28
29
  if (!allowStepUpdate) {
29
30
  // The user declined the new exchange rate, so we are not going to proceed
30
- throw new TransactionError(LiFiErrorCode.ExchangeRateUpdateCanceled, 'Exchange rate has changed!', `Transaction was not sent, your funds are still in your wallet.
31
- The exchange rate has changed and the previous estimation can not be fulfilled due to value loss.`);
31
+ throw new TransactionError(LiFiErrorCode.ExchangeRateUpdateCanceled, `Exchange rate has changed!\nTransaction was not sent, your funds are still in your wallet.\nThe exchange rate has changed and the previous estimation can not be fulfilled due to value loss.`);
32
32
  }
33
33
  return statusManager.updateStepInRoute(newStep);
34
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"stepComparison.js","sourceRoot":"","sources":["../../core/stepComparison.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAGpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAEvD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,aAA4B,EAC5B,OAAiB,EACjB,OAAiB,EACjB,oBAA6B,EAC7B,gBAAmC,EAChB,EAAE;IACrB,uEAAuE;IACvE,IAAI,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,eAAoC,CAAA;IACxC,IAAI,oBAAoB,EAAE,CAAC;QACzB,eAAe,GAAG,MAAM,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;YACvE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,0EAA0E;QAC1E,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,0BAA0B,EACxC,4BAA4B,EAC5B;wGACkG,CACnG,CAAA;IACH,CAAC;IAED,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA"}
1
+ {"version":3,"file":"stepComparison.js","sourceRoot":"","sources":["../../core/stepComparison.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAEvD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,aAA4B,EAC5B,OAAiB,EACjB,OAAiB,EACjB,oBAA6B,EAC7B,gBAAmC,EAChB,EAAE;IACrB,uEAAuE;IACvE,IAAI,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,eAAoC,CAAA;IACxC,IAAI,oBAAoB,EAAE,CAAC;QACzB,eAAe,GAAG,MAAM,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;YACvE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,0EAA0E;QAC1E,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,0BAA0B,EACxC,+LAA+L,CAChM,CAAA;IACH,CAAC;IAED,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA"}
@@ -1,66 +1,10 @@
1
1
  import {} from '@lifi/types';
2
- const processMessages = {
3
- TOKEN_ALLOWANCE: {
4
- STARTED: 'Setting token allowance.',
5
- PENDING: 'Waiting for token allowance.',
6
- DONE: 'Token allowance set.',
7
- },
8
- SWITCH_CHAIN: {
9
- PENDING: 'Chain switch required.',
10
- DONE: 'Chain switched successfully.',
11
- },
12
- SWAP: {
13
- STARTED: 'Preparing swap transaction.',
14
- ACTION_REQUIRED: 'Please sign the transaction.',
15
- PENDING: 'Waiting for swap transaction.',
16
- DONE: 'Swap completed.',
17
- },
18
- CROSS_CHAIN: {
19
- STARTED: 'Preparing bridge transaction.',
20
- ACTION_REQUIRED: 'Please sign the transaction.',
21
- PENDING: 'Waiting for bridge transaction.',
22
- DONE: 'Bridge transaction confirmed.',
23
- },
24
- RECEIVING_CHAIN: {
25
- PENDING: 'Waiting for destination chain.',
26
- DONE: 'Bridge completed.',
27
- },
28
- TRANSACTION: {},
29
- };
30
- const substatusMessages = {
31
- PENDING: {
32
- BRIDGE_NOT_AVAILABLE: 'Bridge communication is temporarily unavailable.',
33
- CHAIN_NOT_AVAILABLE: 'RPC communication is temporarily unavailable.',
34
- UNKNOWN_ERROR: 'An unexpected error occurred. Please seek assistance in the LI.FI discord server.',
35
- WAIT_SOURCE_CONFIRMATIONS: 'The bridge deposit has been received. The bridge is waiting for more confirmations to start the off-chain logic.',
36
- WAIT_DESTINATION_TRANSACTION: 'The bridge off-chain logic is being executed. Wait for the transaction to appear on the destination chain.',
37
- },
38
- DONE: {
39
- PARTIAL: 'Some of the received tokens are not the requested destination tokens.',
40
- REFUNDED: 'The tokens were refunded to the sender address.',
41
- COMPLETED: 'The transfer is complete.',
42
- },
43
- FAILED: {},
44
- INVALID: {},
45
- NOT_FOUND: {},
46
- };
47
- export function getProcessMessage(type, status) {
48
- const processMessage = processMessages[type][status];
49
- return processMessage;
50
- }
51
- export function getSubstatusMessage(status, substatus) {
52
- if (!substatus) {
53
- return;
54
- }
55
- const message = substatusMessages[status][substatus];
56
- return message;
57
- }
58
2
  /**
59
3
  * Used to check if changed exchange rate is in the range of slippage threshold.
60
4
  * We use a slippage value as a threshold to trigger the rate change hook.
61
5
  * This can result in almost doubled slippage for the user and need to be revisited.
62
- * @param oldStep
63
- * @param newStep
6
+ * @param oldStep - old step
7
+ * @param newStep - new step
64
8
  * @returns Boolean
65
9
  */
66
10
  export function checkStepSlippageThreshold(oldStep, newStep) {
@@ -77,4 +21,9 @@ export function checkStepSlippageThreshold(oldStep, newStep) {
77
21
  }
78
22
  return actualSlippage <= setSlippage;
79
23
  }
24
+ export function sleep(ms) {
25
+ return new Promise((resolve) => {
26
+ setTimeout(() => resolve(null), ms);
27
+ });
28
+ }
80
29
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAMN,MAAM,aAAa,CAAA;AAEpB,MAAM,eAAe,GAGjB;IACF,eAAe,EAAE;QACf,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,sBAAsB;KAC7B;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE,8BAA8B;KACrC;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,6BAA6B;QACtC,eAAe,EAAE,8BAA8B;QAC/C,OAAO,EAAE,+BAA+B;QACxC,IAAI,EAAE,iBAAiB;KACxB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,+BAA+B;QACxC,eAAe,EAAE,8BAA8B;QAC/C,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,+BAA+B;KACtC;IACD,eAAe,EAAE;QACf,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,mBAAmB;KAC1B;IACD,WAAW,EAAE,EAAE;CAChB,CAAA;AACD,MAAM,iBAAiB,GAGnB;IACF,OAAO,EAAE;QACP,oBAAoB,EAAE,kDAAkD;QACxE,mBAAmB,EAAE,+CAA+C;QACpE,aAAa,EACX,mFAAmF;QACrF,yBAAyB,EACvB,kHAAkH;QACpH,4BAA4B,EAC1B,4GAA4G;KAC/G;IACD,IAAI,EAAE;QACJ,OAAO,EACL,uEAAuE;QACzE,QAAQ,EAAE,iDAAiD;QAC3D,SAAS,EAAE,2BAA2B;KACvC;IACD,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;CACd,CAAA;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAiB,EACjB,MAAqB;IAErB,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IACpD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAqB,EACrB,SAAqB;IAErB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAM;IACR,CAAC;IACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAA;IACpD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAiB,EACjB,OAAiB;IAEjB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAA;IAC3C,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;IACpE,2DAA2D;IAC3D,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;QAC7B,cAAc;YACZ,MAAM,CAAC,CAAC,gBAAgB,GAAG,WAAc,CAAC,GAAG,oBAAoB,CAAC;gBAClE,aAAa,CAAA;IACjB,CAAC;IACD,OAAO,cAAc,IAAI,WAAW,CAAA;AACtC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../core/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,aAAa,CAAA;AAE3C;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAiB,EACjB,OAAiB;IAEjB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAA;IAC3C,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;IACpE,2DAA2D;IAC3D,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;QAC7B,cAAc;YACZ,MAAM,CAAC,CAAC,gBAAgB,GAAG,WAAc,CAAC,GAAG,oBAAoB,CAAC;gBAClE,aAAa,CAAA;IACjB,CAAC;IACD,OAAO,cAAc,IAAI,WAAW,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { getStatus } from '../services/api.js';
2
- import { ServerError } from '../utils/errors.js';
2
+ import { ServerError } from '../errors/errors.js';
3
3
  import { repeatUntilDone } from '../utils/utils.js';
4
- import { getSubstatusMessage } from './utils.js';
4
+ import { getSubstatusMessage } from './processMessages.js';
5
5
  const TRANSACTION_HASH_OBSERVERS = {};
6
6
  export async function waitForReceivingTransaction(txHash, statusManager, processType, step) {
7
7
  const _getStatus = () => new Promise(async (resolve, reject) => {
@@ -1 +1 @@
1
- {"version":3,"file":"waitForReceivingTransaction.js","sourceRoot":"","sources":["../../core/waitForReceivingTransaction.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,MAAM,0BAA0B,GAA4C,EAAE,CAAA;AAE9E,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,aAA4B,EAC5B,WAAwB,EACxB,IAAc;IAEd,MAAM,UAAU,GAAG,GAAwC,EAAE,CAC3D,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI,cAA8B,CAAA;QAClC,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,SAAS,CAAC;gBAC/B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC9B,MAAM;gBACN,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;aACrD,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YACxD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;QAC3B,CAAC;QAED,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;YAC9B,KAAK,MAAM;gBACT,OAAO,OAAO,CAAC,cAAc,CAAC,CAAA;YAChC,KAAK,SAAS;gBACZ,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;oBACzD,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,gBAAgB,EACd,cAAc,CAAC,gBAAgB;wBAC/B,mBAAmB,CACjB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,SAAS,CACzB;oBACH,MAAM,EAAG,cAAiC,CAAC,kBAAkB;iBAC9D,CAAC,CAAA;gBACF,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,WAAW;gBACd,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd;gBACE,OAAO,MAAM,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,IAAI,MAAM,CAAA;IAEV,IAAI,MAAM,IAAI,0BAA0B,EAAE,CAAC;QACzC,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;SAAM,CAAC;QACN,0BAA0B,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACvE,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,WAAW,CAAC,+CAA+C,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"waitForReceivingTransaction.js","sourceRoot":"","sources":["../../core/waitForReceivingTransaction.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE1D,MAAM,0BAA0B,GAA4C,EAAE,CAAA;AAE9E,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,aAA4B,EAC5B,WAAwB,EACxB,IAAc;IAEd,MAAM,UAAU,GAAG,GAAwC,EAAE,CAC3D,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI,cAA8B,CAAA;QAClC,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,SAAS,CAAC;gBAC/B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC9B,MAAM;gBACN,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;aACrD,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YACxD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;QAC3B,CAAC;QAED,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;YAC9B,KAAK,MAAM;gBACT,OAAO,OAAO,CAAC,cAAc,CAAC,CAAA;YAChC,KAAK,SAAS;gBACZ,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;oBACzD,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,gBAAgB,EACd,cAAc,CAAC,gBAAgB;wBAC/B,mBAAmB,CACjB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,SAAS,CACzB;oBACH,MAAM,EAAG,cAAiC,CAAC,kBAAkB;iBAC9D,CAAC,CAAA;gBACF,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,WAAW;gBACd,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd;gBACE,OAAO,MAAM,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,IAAI,MAAM,CAAA;IAEV,IAAI,MAAM,IAAI,0BAA0B,EAAE,CAAC;QACzC,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;SAAM,CAAC;QACN,0BAA0B,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACvE,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,WAAW,CAAC,+CAA+C,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { version } from '../version.js';
2
+ import {} from './constants.js';
3
+ // Note: SDKError is used to wrapper and present errors at the top level
4
+ // Where opportunity allows we also add the step and the process related to the error
5
+ export class SDKError extends Error {
6
+ constructor(cause, step, process) {
7
+ const errorMessage = `${cause.message ? `[${cause.name}] ${cause.message}` : 'Unknown error occurred'}\nLI.FI SDK version: ${version}`;
8
+ super(errorMessage);
9
+ Object.defineProperty(this, "step", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: void 0
14
+ });
15
+ Object.defineProperty(this, "process", {
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true,
19
+ value: void 0
20
+ });
21
+ Object.defineProperty(this, "code", {
22
+ enumerable: true,
23
+ configurable: true,
24
+ writable: true,
25
+ value: void 0
26
+ });
27
+ Object.defineProperty(this, "name", {
28
+ enumerable: true,
29
+ configurable: true,
30
+ writable: true,
31
+ value: 'SDKError'
32
+ });
33
+ Object.defineProperty(this, "cause", {
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true,
37
+ value: void 0
38
+ });
39
+ this.name = 'SDKError';
40
+ this.step = step;
41
+ this.process = process;
42
+ this.cause = cause;
43
+ this.stack = this.cause.stack;
44
+ this.code = cause.code;
45
+ }
46
+ }
47
+ //# sourceMappingURL=SDKError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDKError.js","sourceRoot":"","sources":["../../errors/SDKError.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAkB,MAAM,gBAAgB,CAAA;AAE/C,wEAAwE;AACxE,qFAAqF;AACrF,MAAM,OAAO,QAAS,SAAQ,KAAK;IAOjC,YAAY,KAAgB,EAAE,IAAe,EAAE,OAAiB;QAC9D,MAAM,YAAY,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,wBAAwB,wBAAwB,OAAO,EAAE,CAAA;QACtI,KAAK,CAAC,YAAY,CAAC,CAAA;QARrB;;;;;WAAe;QACf;;;;;WAAiB;QACjB;;;;;WAAe;QACN;;;;mBAAO,UAAU;WAAA;QACjB;;;;;WAAgB;QAKvB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ import { getRootCause } from './utils/rootCause.js';
2
+ // Note: we use the BaseErrors to capture errors at specific points in the code
3
+ // they can carry addition to help give more context
4
+ export class BaseError extends Error {
5
+ constructor(name, code, message, cause) {
6
+ super(message);
7
+ Object.defineProperty(this, "code", {
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true,
11
+ value: void 0
12
+ });
13
+ Object.defineProperty(this, "cause", {
14
+ enumerable: true,
15
+ configurable: true,
16
+ writable: true,
17
+ value: void 0
18
+ });
19
+ this.name = name;
20
+ this.code = code;
21
+ this.cause = cause;
22
+ const rootCause = getRootCause(this.cause);
23
+ if (rootCause && rootCause.stack) {
24
+ this.stack = rootCause.stack;
25
+ }
26
+ }
27
+ }
28
+ //# sourceMappingURL=baseError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseError.js","sourceRoot":"","sources":["../../errors/baseError.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAEnD,+EAA+E;AAC/E,qDAAqD;AACrD,MAAM,OAAO,SAAU,SAAQ,KAAK;IAIlC,YAAY,IAAe,EAAE,IAAY,EAAE,OAAe,EAAE,KAAa;QACvE,KAAK,CAAC,OAAO,CAAC,CAAA;QAJhB;;;;;WAAe;QACN;;;;;WAAa;QAKpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAElB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1C,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;QAC9B,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,45 @@
1
+ export var ErrorName;
2
+ (function (ErrorName) {
3
+ ErrorName["RPCError"] = "RPCError";
4
+ ErrorName["ProviderError"] = "ProviderError";
5
+ ErrorName["ServerError"] = "ServerError";
6
+ ErrorName["TransactionError"] = "TransactionError";
7
+ ErrorName["ValidationError"] = "ValidationError";
8
+ ErrorName["BalanceError"] = "BalanceError";
9
+ ErrorName["NotFoundError"] = "NotFoundError";
10
+ ErrorName["UnknownError"] = "UnknownError";
11
+ ErrorName["SlippageError"] = "SlippageError";
12
+ ErrorName["HTTPError"] = "HTTPError";
13
+ })(ErrorName || (ErrorName = {}));
14
+ export var LiFiErrorCode;
15
+ (function (LiFiErrorCode) {
16
+ LiFiErrorCode[LiFiErrorCode["InternalError"] = 1000] = "InternalError";
17
+ LiFiErrorCode[LiFiErrorCode["ValidationError"] = 1001] = "ValidationError";
18
+ LiFiErrorCode[LiFiErrorCode["TransactionUnderpriced"] = 1002] = "TransactionUnderpriced";
19
+ LiFiErrorCode[LiFiErrorCode["TransactionFailed"] = 1003] = "TransactionFailed";
20
+ LiFiErrorCode[LiFiErrorCode["Timeout"] = 1004] = "Timeout";
21
+ LiFiErrorCode[LiFiErrorCode["ProviderUnavailable"] = 1005] = "ProviderUnavailable";
22
+ LiFiErrorCode[LiFiErrorCode["NotFound"] = 1006] = "NotFound";
23
+ LiFiErrorCode[LiFiErrorCode["ChainSwitchError"] = 1007] = "ChainSwitchError";
24
+ LiFiErrorCode[LiFiErrorCode["TransactionUnprepared"] = 1008] = "TransactionUnprepared";
25
+ LiFiErrorCode[LiFiErrorCode["GasLimitError"] = 1009] = "GasLimitError";
26
+ LiFiErrorCode[LiFiErrorCode["TransactionCanceled"] = 1010] = "TransactionCanceled";
27
+ LiFiErrorCode[LiFiErrorCode["SlippageError"] = 1011] = "SlippageError";
28
+ LiFiErrorCode[LiFiErrorCode["SignatureRejected"] = 1012] = "SignatureRejected";
29
+ LiFiErrorCode[LiFiErrorCode["BalanceError"] = 1013] = "BalanceError";
30
+ LiFiErrorCode[LiFiErrorCode["AllowanceRequired"] = 1014] = "AllowanceRequired";
31
+ LiFiErrorCode[LiFiErrorCode["InsufficientFunds"] = 1015] = "InsufficientFunds";
32
+ LiFiErrorCode[LiFiErrorCode["ExchangeRateUpdateCanceled"] = 1016] = "ExchangeRateUpdateCanceled";
33
+ LiFiErrorCode[LiFiErrorCode["WalletChangedDuringExecution"] = 1017] = "WalletChangedDuringExecution";
34
+ LiFiErrorCode[LiFiErrorCode["TransactionExpired"] = 1018] = "TransactionExpired";
35
+ LiFiErrorCode[LiFiErrorCode["TransactionSimulationFailed"] = 1019] = "TransactionSimulationFailed";
36
+ })(LiFiErrorCode || (LiFiErrorCode = {}));
37
+ export var ErrorMessage;
38
+ (function (ErrorMessage) {
39
+ ErrorMessage["UnknownError"] = "Unknown error occurred.";
40
+ ErrorMessage["SlippageError"] = "The slippage is larger than the defined threshold. Please request a new route to get a fresh quote.";
41
+ ErrorMessage["GasLimitLow"] = "Gas limit is too low.";
42
+ ErrorMessage["TransactionUnderpriced"] = "Transaction is underpriced.";
43
+ ErrorMessage["TransactionReverted"] = "Transaction was reverted.";
44
+ })(ErrorMessage || (ErrorMessage = {}));
45
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../errors/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAWX;AAXD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,oCAAuB,CAAA;AACzB,CAAC,EAXW,SAAS,KAAT,SAAS,QAWpB;AAID,MAAM,CAAN,IAAY,aAqBX;AArBD,WAAY,aAAa;IACvB,sEAAoB,CAAA;IACpB,0EAAsB,CAAA;IACtB,wFAA6B,CAAA;IAC7B,8EAAwB,CAAA;IACxB,0DAAc,CAAA;IACd,kFAA0B,CAAA;IAC1B,4DAAe,CAAA;IACf,4EAAuB,CAAA;IACvB,sFAA4B,CAAA;IAC5B,sEAAoB,CAAA;IACpB,kFAA0B,CAAA;IAC1B,sEAAoB,CAAA;IACpB,8EAAwB,CAAA;IACxB,oEAAmB,CAAA;IACnB,8EAAwB,CAAA;IACxB,8EAAwB,CAAA;IACxB,gGAAiC,CAAA;IACjC,oGAAmC,CAAA;IACnC,gFAAyB,CAAA;IACzB,kGAAkC,CAAA;AACpC,CAAC,EArBW,aAAa,KAAb,aAAa,QAqBxB;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,wDAAwC,CAAA;IACxC,qIAAqH,CAAA;IACrH,qDAAqC,CAAA;IACrC,sEAAsD,CAAA;IACtD,iEAAiD,CAAA;AACnD,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
@@ -0,0 +1,38 @@
1
+ import { ErrorName, LiFiErrorCode } from './constants.js';
2
+ import { BaseError } from './baseError.js';
3
+ export class RPCError extends BaseError {
4
+ constructor(code, message, cause) {
5
+ super(ErrorName.RPCError, code, message, cause);
6
+ }
7
+ }
8
+ export class ProviderError extends BaseError {
9
+ constructor(code, message, cause) {
10
+ super(ErrorName.ProviderError, code, message, cause);
11
+ }
12
+ }
13
+ export class TransactionError extends BaseError {
14
+ constructor(code, message, cause) {
15
+ super(ErrorName.TransactionError, code, message, cause);
16
+ }
17
+ }
18
+ export class UnknownError extends BaseError {
19
+ constructor(message, cause) {
20
+ super(ErrorName.UnknownError, LiFiErrorCode.InternalError, message, cause);
21
+ }
22
+ }
23
+ export class BalanceError extends BaseError {
24
+ constructor(message, cause) {
25
+ super(ErrorName.BalanceError, LiFiErrorCode.BalanceError, message, cause);
26
+ }
27
+ }
28
+ export class ServerError extends BaseError {
29
+ constructor(message) {
30
+ super(ErrorName.ServerError, LiFiErrorCode.InternalError, message);
31
+ }
32
+ }
33
+ export class ValidationError extends BaseError {
34
+ constructor(message) {
35
+ super(ErrorName.ValidationError, LiFiErrorCode.ValidationError, message);
36
+ }
37
+ }
38
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../errors/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrC,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACtD,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC5E,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3E,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACpE,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;CACF"}
@@ -0,0 +1,97 @@
1
+ import { LiFiErrorCode } from './constants.js';
2
+ import { BaseError } from './baseError.js';
3
+ import { ErrorName, ErrorMessage } from './constants.js';
4
+ const statusCodeToErrorClassificationMap = new Map([
5
+ [
6
+ 400,
7
+ { type: ErrorName.ValidationError, code: LiFiErrorCode.ValidationError },
8
+ ],
9
+ [404, { type: ErrorName.NotFoundError, code: LiFiErrorCode.NotFound }],
10
+ [
11
+ 409,
12
+ {
13
+ type: ErrorName.SlippageError,
14
+ code: LiFiErrorCode.SlippageError,
15
+ message: ErrorMessage.SlippageError,
16
+ },
17
+ ],
18
+ [500, { type: ErrorName.ServerError, code: LiFiErrorCode.InternalError }],
19
+ ]);
20
+ const getErrorClassificationFromStatusCode = (code) => statusCodeToErrorClassificationMap.get(code) ?? {
21
+ type: ErrorName.ServerError,
22
+ code: LiFiErrorCode.InternalError,
23
+ };
24
+ const createInitialMessage = (response) => {
25
+ const statusCode = response.status || response.status === 0 ? response.status : '';
26
+ const title = response.statusText || '';
27
+ const status = `${statusCode} ${title}`.trim();
28
+ const reason = status ? `status code ${status}` : 'an unknown error';
29
+ return `Request failed with ${reason}`;
30
+ };
31
+ export class HTTPError extends BaseError {
32
+ constructor(response, url, options) {
33
+ const errorClassification = getErrorClassificationFromStatusCode(response.status);
34
+ const additionalMessage = errorClassification?.message
35
+ ? `\n${errorClassification.message}`
36
+ : '';
37
+ const message = createInitialMessage(response) + additionalMessage;
38
+ super(ErrorName.HTTPError, errorClassification.code, message);
39
+ Object.defineProperty(this, "response", {
40
+ enumerable: true,
41
+ configurable: true,
42
+ writable: true,
43
+ value: void 0
44
+ });
45
+ Object.defineProperty(this, "status", {
46
+ enumerable: true,
47
+ configurable: true,
48
+ writable: true,
49
+ value: void 0
50
+ });
51
+ Object.defineProperty(this, "url", {
52
+ enumerable: true,
53
+ configurable: true,
54
+ writable: true,
55
+ value: void 0
56
+ });
57
+ Object.defineProperty(this, "fetchOptions", {
58
+ enumerable: true,
59
+ configurable: true,
60
+ writable: true,
61
+ value: void 0
62
+ });
63
+ Object.defineProperty(this, "type", {
64
+ enumerable: true,
65
+ configurable: true,
66
+ writable: true,
67
+ value: void 0
68
+ });
69
+ Object.defineProperty(this, "responseBody", {
70
+ enumerable: true,
71
+ configurable: true,
72
+ writable: true,
73
+ value: void 0
74
+ });
75
+ this.type = errorClassification.type;
76
+ this.response = response;
77
+ this.status = response.status;
78
+ this.message = message;
79
+ this.url = url;
80
+ this.fetchOptions = options;
81
+ }
82
+ async buildAdditionalDetails() {
83
+ if (this.type) {
84
+ this.message = `[${this.type}] ${this.message}`;
85
+ }
86
+ try {
87
+ this.responseBody = await this.response.json();
88
+ const spacer = '\n ';
89
+ if (this.responseBody) {
90
+ this.message += `${spacer}responseMessage: ${this.responseBody?.message.toString().replaceAll('\n', spacer)}`;
91
+ }
92
+ }
93
+ catch { }
94
+ return this;
95
+ }
96
+ }
97
+ //# sourceMappingURL=httpError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpError.js","sourceRoot":"","sources":["../../errors/httpError.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export * from './baseError.js';
2
+ export * from './constants.js';
3
+ export * from './errors.js';
4
+ export * from './httpError.js';
5
+ export * from './SDKError.js';
6
+ export * from './utils/rootCause.js';
7
+ export * from './utils/baseErrorRootCause.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { BaseError } from '../baseError.js';
2
+ import { HTTPError } from '../httpError.js';
3
+ export const getRootCauseBaseError = (e) => {
4
+ let rootCause = e;
5
+ while (rootCause.cause && rootCause.cause instanceof BaseError) {
6
+ rootCause = rootCause.cause;
7
+ }
8
+ return rootCause;
9
+ };
10
+ export const getRootCauseBaseErrorMessage = (e) => {
11
+ const rootCause = getRootCauseBaseError(e);
12
+ return rootCause instanceof HTTPError
13
+ ? rootCause.responseBody?.message || rootCause.message
14
+ : rootCause.message;
15
+ };
16
+ //# sourceMappingURL=baseErrorRootCause.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseErrorRootCause.js","sourceRoot":"","sources":["../../../errors/utils/baseErrorRootCause.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAQ,EAAE,EAAE;IAChD,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,OAAO,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,YAAY,SAAS,EAAE,CAAC;QAC/D,SAAS,GAAG,SAAS,CAAC,KAAkB,CAAA;IAC1C,CAAC;IACD,OAAO,SAAsB,CAAA;AAC/B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAQ,EAAE,EAAE;IACvD,MAAM,SAAS,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAE1C,OAAO,SAAS,YAAY,SAAS;QACnC,CAAC,CAAE,SAAuB,CAAC,YAAY,EAAE,OAAO,IAAI,SAAS,CAAC,OAAO;QACrE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAA;AACvB,CAAC,CAAA"}
@@ -0,0 +1,8 @@
1
+ export const getRootCause = (e) => {
2
+ let rootCause = e;
3
+ while (rootCause?.cause) {
4
+ rootCause = rootCause.cause;
5
+ }
6
+ return rootCause;
7
+ };
8
+ //# sourceMappingURL=rootCause.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rootCause.js","sourceRoot":"","sources":["../../../errors/utils/rootCause.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAoB,EAAE,EAAE;IACnD,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,OAAO,SAAS,EAAE,KAAK,EAAE,CAAC;QACxB,SAAS,GAAG,SAAS,CAAC,KAAc,CAAA;IACtC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
@@ -1,11 +1,12 @@
1
- import { request } from './request.js';
2
- import { ValidationError } from './utils/errors.js';
3
1
  import { name, version } from './version.js';
2
+ import { ValidationError } from './errors/errors.js';
3
+ import { SDKError } from './errors/SDKError.js';
4
4
  export const checkPackageUpdates = async (packageName, packageVersion) => {
5
5
  try {
6
6
  const pkgName = packageName ?? name;
7
- const response = await request(`https://registry.npmjs.org/${pkgName}/latest`, { skipTrackingHeaders: true });
8
- const latestVersion = response.version;
7
+ const response = await fetch(`https://registry.npmjs.org/${pkgName}/latest`);
8
+ const reponseBody = await response.json();
9
+ const latestVersion = reponseBody.version;
9
10
  const currentVersion = packageVersion ?? version;
10
11
  if (latestVersion > currentVersion) {
11
12
  console.warn(
@@ -20,15 +21,17 @@ export const checkPackageUpdates = async (packageName, packageVersion) => {
20
21
  /**
21
22
  * Converts a quote to Route
22
23
  * @param step - Step returned from the quote endpoint.
24
+ * @param txHash
25
+ * @param chainId
23
26
  * @returns - The route to be executed.
24
- * @throws {ValidationError} Throws a ValidationError if the step has missing values.
27
+ * @throws {BaseError} Throws a ValidationError if the step has missing values.
25
28
  */
26
29
  export const convertQuoteToRoute = (step) => {
27
30
  if (!step.estimate.fromAmountUSD) {
28
- throw new ValidationError("Missing 'fromAmountUSD' in step estimate.");
31
+ throw new SDKError(new ValidationError("Missing 'fromAmountUSD' in step estimate."));
29
32
  }
30
33
  if (!step.estimate.toAmountUSD) {
31
- throw new ValidationError("Missing 'toAmountUSD' in step estimate.");
34
+ throw new SDKError(new ValidationError("Missing 'toAmountUSD' in step estimate."));
32
35
  }
33
36
  const route = {
34
37
  fromToken: step.action.fromToken,
@@ -47,7 +50,11 @@ export const convertQuoteToRoute = (step) => {
47
50
  return route;
48
51
  };
49
52
  export const fetchTxErrorDetails = async (txHash, chainId) => {
50
- const response = await request(`https://api.tenderly.co/api/v1/public-contract/${chainId}/tx/${txHash}`);
51
- return response;
53
+ try {
54
+ const response = await fetch(`https://api.tenderly.co/api/v1/public-contract/${chainId}/tx/${txHash}`);
55
+ const reponseBody = await response.json();
56
+ return reponseBody;
57
+ }
58
+ catch (_) { }
52
59
  };
53
60
  //# sourceMappingURL=helpers.js.map