@lifi/sdk 4.0.0-alpha.8 → 4.0.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 (260) hide show
  1. package/dist/cjs/actions/getQuote.js +2 -1
  2. package/dist/cjs/actions/getQuote.js.map +1 -1
  3. package/dist/cjs/actions/getRelayedTransactionStatus.js +1 -1
  4. package/dist/cjs/actions/getRelayedTransactionStatus.js.map +1 -1
  5. package/dist/cjs/actions/getRelayerQuote.js +2 -1
  6. package/dist/cjs/actions/getRelayerQuote.js.map +1 -1
  7. package/dist/cjs/actions/getStepTransaction.js +18 -1
  8. package/dist/cjs/actions/getStepTransaction.js.map +1 -1
  9. package/dist/cjs/core/BaseStepExecutionTask.d.ts +5 -0
  10. package/dist/cjs/core/BaseStepExecutionTask.js +10 -0
  11. package/dist/cjs/core/BaseStepExecutionTask.js.map +1 -0
  12. package/dist/cjs/core/BaseStepExecutor.d.ts +10 -3
  13. package/dist/cjs/core/BaseStepExecutor.js +53 -0
  14. package/dist/cjs/core/BaseStepExecutor.js.map +1 -1
  15. package/dist/cjs/core/StatusManager.d.ts +13 -12
  16. package/dist/cjs/core/StatusManager.js +55 -61
  17. package/dist/cjs/core/StatusManager.js.map +1 -1
  18. package/dist/cjs/core/TaskPipeline.d.ts +7 -0
  19. package/dist/cjs/core/TaskPipeline.js +27 -0
  20. package/dist/cjs/core/TaskPipeline.js.map +1 -0
  21. package/dist/cjs/core/actionMessages.d.ts +4 -0
  22. package/dist/cjs/core/{processMessages.js → actionMessages.js} +25 -9
  23. package/dist/cjs/core/actionMessages.js.map +1 -0
  24. package/dist/cjs/core/execution.js +13 -1
  25. package/dist/cjs/core/execution.js.map +1 -1
  26. package/dist/cjs/core/prepareRestart.js +6 -6
  27. package/dist/cjs/core/prepareRestart.js.map +1 -1
  28. package/dist/cjs/core/storage.d.ts +17 -0
  29. package/dist/cjs/core/storage.js +36 -0
  30. package/dist/cjs/core/storage.js.map +1 -0
  31. package/dist/cjs/core/tasks/CheckBalanceTask.d.ts +5 -0
  32. package/dist/cjs/core/tasks/CheckBalanceTask.js +26 -0
  33. package/dist/cjs/core/tasks/CheckBalanceTask.js.map +1 -0
  34. package/dist/cjs/core/tasks/PrepareTransactionTask.d.ts +5 -0
  35. package/dist/cjs/core/tasks/PrepareTransactionTask.js +36 -0
  36. package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -0
  37. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.d.ts +8 -0
  38. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +73 -0
  39. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  40. package/dist/cjs/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  41. package/dist/cjs/core/{checkBalance.js → tasks/helpers/checkBalance.js} +4 -4
  42. package/dist/cjs/core/tasks/helpers/checkBalance.js.map +1 -0
  43. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.d.ts +2 -0
  44. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js +30 -0
  45. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  46. package/dist/cjs/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  47. package/dist/cjs/core/{stepComparison.js → tasks/helpers/stepComparison.js} +3 -3
  48. package/dist/cjs/core/tasks/helpers/stepComparison.js.map +1 -0
  49. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.d.ts +4 -0
  50. package/dist/cjs/core/{waitForTransactionStatus.js → tasks/helpers/waitForTransactionStatus.js} +10 -8
  51. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  52. package/dist/cjs/core/utils.d.ts +6 -1
  53. package/dist/cjs/errors/SDKError.d.ts +3 -3
  54. package/dist/cjs/errors/SDKError.js +3 -3
  55. package/dist/cjs/errors/SDKError.js.map +1 -1
  56. package/dist/cjs/errors/constants.d.ts +2 -1
  57. package/dist/cjs/errors/constants.js +1 -0
  58. package/dist/cjs/errors/constants.js.map +1 -1
  59. package/dist/cjs/errors/errors.d.ts +5 -0
  60. package/dist/cjs/errors/errors.js +9 -1
  61. package/dist/cjs/errors/errors.js.map +1 -1
  62. package/dist/cjs/index.d.ts +15 -6
  63. package/dist/cjs/index.js +26 -7
  64. package/dist/cjs/index.js.map +1 -1
  65. package/dist/cjs/types/core.d.ts +21 -17
  66. package/dist/cjs/types/execution.d.ts +22 -0
  67. package/dist/cjs/types/execution.js +3 -0
  68. package/dist/cjs/types/execution.js.map +1 -0
  69. package/dist/cjs/utils/waitForResult.d.ts +1 -1
  70. package/dist/cjs/utils/waitForResult.js +6 -2
  71. package/dist/cjs/utils/waitForResult.js.map +1 -1
  72. package/dist/cjs/utils/withDedupe.d.ts +5 -0
  73. package/dist/cjs/utils/withDedupe.js +2 -0
  74. package/dist/cjs/utils/withDedupe.js.map +1 -1
  75. package/dist/cjs/version.d.ts +1 -1
  76. package/dist/cjs/version.js +1 -1
  77. package/dist/cjs/version.js.map +1 -1
  78. package/dist/esm/actions/getQuote.js +2 -1
  79. package/dist/esm/actions/getQuote.js.map +1 -1
  80. package/dist/esm/actions/getRelayedTransactionStatus.js +1 -1
  81. package/dist/esm/actions/getRelayedTransactionStatus.js.map +1 -1
  82. package/dist/esm/actions/getRelayerQuote.js +2 -1
  83. package/dist/esm/actions/getRelayerQuote.js.map +1 -1
  84. package/dist/esm/actions/getStepTransaction.js +18 -1
  85. package/dist/esm/actions/getStepTransaction.js.map +1 -1
  86. package/dist/esm/core/BaseStepExecutionTask.d.ts +5 -0
  87. package/dist/esm/core/BaseStepExecutionTask.js +6 -0
  88. package/dist/esm/core/BaseStepExecutionTask.js.map +1 -0
  89. package/dist/esm/core/BaseStepExecutor.d.ts +10 -3
  90. package/dist/esm/core/BaseStepExecutor.js +53 -0
  91. package/dist/esm/core/BaseStepExecutor.js.map +1 -1
  92. package/dist/esm/core/StatusManager.d.ts +40 -39
  93. package/dist/esm/core/StatusManager.js +86 -92
  94. package/dist/esm/core/StatusManager.js.map +1 -1
  95. package/dist/esm/core/TaskPipeline.d.ts +7 -0
  96. package/dist/esm/core/TaskPipeline.js +23 -0
  97. package/dist/esm/core/TaskPipeline.js.map +1 -0
  98. package/dist/esm/core/actionMessages.d.ts +4 -0
  99. package/dist/esm/core/{processMessages.js → actionMessages.js} +24 -8
  100. package/dist/esm/core/actionMessages.js.map +1 -0
  101. package/dist/esm/core/execution.js +14 -3
  102. package/dist/esm/core/execution.js.map +1 -1
  103. package/dist/esm/core/prepareRestart.js +10 -9
  104. package/dist/esm/core/prepareRestart.js.map +1 -1
  105. package/dist/esm/core/storage.d.ts +17 -0
  106. package/dist/esm/core/storage.js +30 -0
  107. package/dist/esm/core/storage.js.map +1 -0
  108. package/dist/esm/core/tasks/CheckBalanceTask.d.ts +5 -0
  109. package/dist/esm/core/tasks/CheckBalanceTask.js +22 -0
  110. package/dist/esm/core/tasks/CheckBalanceTask.js.map +1 -0
  111. package/dist/esm/core/tasks/PrepareTransactionTask.d.ts +5 -0
  112. package/dist/esm/core/tasks/PrepareTransactionTask.js +32 -0
  113. package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -0
  114. package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts +8 -0
  115. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +74 -0
  116. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  117. package/dist/esm/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  118. package/dist/esm/core/{checkBalance.js → tasks/helpers/checkBalance.js} +4 -4
  119. package/dist/esm/core/tasks/helpers/checkBalance.js.map +1 -0
  120. package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts +2 -0
  121. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js +26 -0
  122. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  123. package/dist/esm/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  124. package/dist/esm/core/{stepComparison.js → tasks/helpers/stepComparison.js} +3 -3
  125. package/dist/esm/core/tasks/helpers/stepComparison.js.map +1 -0
  126. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts +4 -0
  127. package/dist/esm/core/{waitForTransactionStatus.js → tasks/helpers/waitForTransactionStatus.js} +9 -7
  128. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  129. package/dist/esm/core/utils.d.ts +6 -1
  130. package/dist/esm/errors/SDKError.d.ts +3 -3
  131. package/dist/esm/errors/SDKError.js +4 -4
  132. package/dist/esm/errors/SDKError.js.map +1 -1
  133. package/dist/esm/errors/constants.d.ts +2 -1
  134. package/dist/esm/errors/constants.js +1 -0
  135. package/dist/esm/errors/constants.js.map +1 -1
  136. package/dist/esm/errors/errors.d.ts +10 -0
  137. package/dist/esm/errors/errors.js +12 -0
  138. package/dist/esm/errors/errors.js.map +1 -1
  139. package/dist/esm/index.d.ts +15 -6
  140. package/dist/esm/index.js +12 -5
  141. package/dist/esm/index.js.map +1 -1
  142. package/dist/esm/types/core.d.ts +25 -17
  143. package/dist/esm/types/execution.d.ts +23 -0
  144. package/dist/esm/types/execution.js +2 -0
  145. package/dist/esm/types/execution.js.map +1 -0
  146. package/dist/esm/utils/waitForResult.d.ts +2 -2
  147. package/dist/esm/utils/waitForResult.js +7 -3
  148. package/dist/esm/utils/waitForResult.js.map +1 -1
  149. package/dist/esm/utils/withDedupe.d.ts +10 -0
  150. package/dist/esm/utils/withDedupe.js +1 -1
  151. package/dist/esm/utils/withDedupe.js.map +1 -1
  152. package/dist/esm/version.d.ts +1 -1
  153. package/dist/esm/version.js +1 -1
  154. package/dist/esm/version.js.map +1 -1
  155. package/dist/types/actions/getRelayerQuote.d.ts.map +1 -1
  156. package/dist/types/actions/getStepTransaction.d.ts.map +1 -1
  157. package/dist/types/core/BaseStepExecutionTask.d.ts +6 -0
  158. package/dist/types/core/BaseStepExecutionTask.d.ts.map +1 -0
  159. package/dist/types/core/BaseStepExecutor.d.ts +10 -3
  160. package/dist/types/core/BaseStepExecutor.d.ts.map +1 -1
  161. package/dist/types/core/StatusManager.d.ts +40 -39
  162. package/dist/types/core/StatusManager.d.ts.map +1 -1
  163. package/dist/types/core/TaskPipeline.d.ts +8 -0
  164. package/dist/types/core/TaskPipeline.d.ts.map +1 -0
  165. package/dist/types/core/actionMessages.d.ts +5 -0
  166. package/dist/types/core/actionMessages.d.ts.map +1 -0
  167. package/dist/types/core/execution.d.ts.map +1 -1
  168. package/dist/types/core/prepareRestart.d.ts.map +1 -1
  169. package/dist/types/core/storage.d.ts +18 -0
  170. package/dist/types/core/storage.d.ts.map +1 -0
  171. package/dist/types/core/tasks/CheckBalanceTask.d.ts +6 -0
  172. package/dist/types/core/tasks/CheckBalanceTask.d.ts.map +1 -0
  173. package/dist/types/core/tasks/PrepareTransactionTask.d.ts +6 -0
  174. package/dist/types/core/tasks/PrepareTransactionTask.d.ts.map +1 -0
  175. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts +9 -0
  176. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts.map +1 -0
  177. package/dist/types/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  178. package/dist/types/core/tasks/helpers/checkBalance.d.ts.map +1 -0
  179. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts +3 -0
  180. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts.map +1 -0
  181. package/dist/types/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  182. package/dist/types/core/tasks/helpers/stepComparison.d.ts.map +1 -0
  183. package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts +5 -0
  184. package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts.map +1 -0
  185. package/dist/types/core/utils.d.ts +6 -1
  186. package/dist/types/core/utils.d.ts.map +1 -1
  187. package/dist/types/errors/SDKError.d.ts +3 -3
  188. package/dist/types/errors/SDKError.d.ts.map +1 -1
  189. package/dist/types/errors/constants.d.ts +2 -1
  190. package/dist/types/errors/constants.d.ts.map +1 -1
  191. package/dist/types/errors/errors.d.ts +10 -0
  192. package/dist/types/errors/errors.d.ts.map +1 -1
  193. package/dist/types/index.d.ts +15 -6
  194. package/dist/types/index.d.ts.map +1 -1
  195. package/dist/types/types/core.d.ts +25 -17
  196. package/dist/types/types/core.d.ts.map +1 -1
  197. package/dist/types/types/execution.d.ts +24 -0
  198. package/dist/types/types/execution.d.ts.map +1 -0
  199. package/dist/types/utils/waitForResult.d.ts +2 -2
  200. package/dist/types/utils/waitForResult.d.ts.map +1 -1
  201. package/dist/types/utils/withDedupe.d.ts +10 -0
  202. package/dist/types/utils/withDedupe.d.ts.map +1 -1
  203. package/dist/types/version.d.ts +1 -1
  204. package/dist/types/version.d.ts.map +1 -1
  205. package/package.json +2 -2
  206. package/src/actions/getQuote.ts +4 -1
  207. package/src/actions/getRelayedTransactionStatus.ts +1 -1
  208. package/src/actions/getRelayerQuote.ts +4 -1
  209. package/src/actions/getStepTransaction.ts +27 -11
  210. package/src/core/BaseStepExecutionTask.ts +9 -0
  211. package/src/core/BaseStepExecutor.ts +91 -2
  212. package/src/core/StatusManager.ts +108 -113
  213. package/src/core/TaskPipeline.ts +28 -0
  214. package/src/core/{processMessages.ts → actionMessages.ts} +32 -12
  215. package/src/core/execution.ts +17 -3
  216. package/src/core/prepareRestart.ts +12 -11
  217. package/src/core/storage.ts +42 -0
  218. package/src/core/tasks/CheckBalanceTask.ts +29 -0
  219. package/src/core/tasks/PrepareTransactionTask.ts +62 -0
  220. package/src/core/tasks/WaitForTransactionStatusTask.ts +114 -0
  221. package/src/core/{checkBalance.ts → tasks/helpers/checkBalance.ts} +5 -5
  222. package/src/core/tasks/helpers/getTransactionRequestData.ts +47 -0
  223. package/src/core/{stepComparison.ts → tasks/helpers/stepComparison.ts} +5 -5
  224. package/src/core/{waitForTransactionStatus.ts → tasks/helpers/waitForTransactionStatus.ts} +11 -9
  225. package/src/errors/SDKError.ts +5 -5
  226. package/src/errors/constants.ts +1 -0
  227. package/src/errors/errors.ts +24 -0
  228. package/src/index.ts +27 -7
  229. package/src/types/core.ts +30 -25
  230. package/src/types/execution.ts +32 -0
  231. package/src/utils/waitForResult.ts +9 -4
  232. package/src/utils/withDedupe.ts +1 -1
  233. package/src/version.ts +1 -1
  234. package/dist/cjs/core/checkBalance.js.map +0 -1
  235. package/dist/cjs/core/processMessages.d.ts +0 -4
  236. package/dist/cjs/core/processMessages.js.map +0 -1
  237. package/dist/cjs/core/stepComparison.js.map +0 -1
  238. package/dist/cjs/core/waitForDestinationChainTransaction.d.ts +0 -4
  239. package/dist/cjs/core/waitForDestinationChainTransaction.js +0 -69
  240. package/dist/cjs/core/waitForDestinationChainTransaction.js.map +0 -1
  241. package/dist/cjs/core/waitForTransactionStatus.d.ts +0 -4
  242. package/dist/cjs/core/waitForTransactionStatus.js.map +0 -1
  243. package/dist/esm/core/checkBalance.js.map +0 -1
  244. package/dist/esm/core/processMessages.d.ts +0 -4
  245. package/dist/esm/core/processMessages.js.map +0 -1
  246. package/dist/esm/core/stepComparison.js.map +0 -1
  247. package/dist/esm/core/waitForDestinationChainTransaction.d.ts +0 -4
  248. package/dist/esm/core/waitForDestinationChainTransaction.js +0 -71
  249. package/dist/esm/core/waitForDestinationChainTransaction.js.map +0 -1
  250. package/dist/esm/core/waitForTransactionStatus.d.ts +0 -4
  251. package/dist/esm/core/waitForTransactionStatus.js.map +0 -1
  252. package/dist/types/core/checkBalance.d.ts.map +0 -1
  253. package/dist/types/core/processMessages.d.ts +0 -5
  254. package/dist/types/core/processMessages.d.ts.map +0 -1
  255. package/dist/types/core/stepComparison.d.ts.map +0 -1
  256. package/dist/types/core/waitForDestinationChainTransaction.d.ts +0 -5
  257. package/dist/types/core/waitForDestinationChainTransaction.d.ts.map +0 -1
  258. package/dist/types/core/waitForTransactionStatus.d.ts +0 -5
  259. package/dist/types/core/waitForTransactionStatus.d.ts.map +0 -1
  260. package/src/core/waitForDestinationChainTransaction.ts +0 -106
@@ -1,13 +1,13 @@
1
1
  import type { LiFiStep } from '@lifi/types';
2
- import type { Process } from '../types/core.js';
2
+ import type { ExecutionAction } from '../types/core.js';
3
3
  import type { BaseError } from './baseError.js';
4
4
  import type { ErrorCode } from './constants.js';
5
5
  export declare class SDKError extends Error {
6
6
  step?: LiFiStep;
7
- process?: Process;
7
+ action?: ExecutionAction;
8
8
  code: ErrorCode;
9
9
  name: string;
10
10
  cause: BaseError;
11
- constructor(cause: BaseError, step?: LiFiStep, process?: Process);
11
+ constructor(cause: BaseError, step?: LiFiStep, action?: ExecutionAction);
12
12
  }
13
13
  //# sourceMappingURL=SDKError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SDKError.d.ts","sourceRoot":"","sources":["../../../src/errors/SDKError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAI/C,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,SAAS,CAAA;IACN,IAAI,SAAa;IACjB,KAAK,EAAE,SAAS,CAAA;gBAEb,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,OAAO;CAUjE"}
1
+ {"version":3,"file":"SDKError.d.ts","sourceRoot":"","sources":["../../../src/errors/SDKError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAI/C,qBAAa,QAAS,SAAQ,KAAK;IACjC,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,IAAI,EAAE,SAAS,CAAA;IACN,IAAI,SAAa;IACjB,KAAK,EAAE,SAAS,CAAA;gBAEb,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,eAAe;CAUxE"}
@@ -9,7 +9,8 @@ export declare enum ErrorName {
9
9
  UnknownError = "UnknownError",
10
10
  SlippageError = "SlippageError",
11
11
  HTTPError = "HTTPError",
12
- ConfigError = "ConfigError"
12
+ ConfigError = "ConfigError",
13
+ ExecuteStepRetryError = "ExecuteStepRetryError"
13
14
  }
14
15
  export type ErrorCode = LiFiErrorCode;
15
16
  export declare enum LiFiErrorCode {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/errors/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,QAAQ,aAAa;IACrB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;CAC5B;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,CAAA;AAErC,oBAAY,aAAa;IACvB,aAAa,OAAO;IACpB,eAAe,OAAO;IACtB,sBAAsB,OAAO;IAC7B,iBAAiB,OAAO;IACxB,OAAO,OAAO;IACd,mBAAmB,OAAO;IAC1B,QAAQ,OAAO;IACf,gBAAgB,OAAO;IACvB,qBAAqB,OAAO;IAC5B,aAAa,OAAO;IACpB,mBAAmB,OAAO;IAC1B,aAAa,OAAO;IACpB,iBAAiB,OAAO;IACxB,YAAY,OAAO;IACnB,iBAAiB,OAAO;IACxB,iBAAiB,OAAO;IACxB,0BAA0B,OAAO;IACjC,4BAA4B,OAAO;IACnC,kBAAkB,OAAO;IACzB,2BAA2B,OAAO;IAClC,mBAAmB,OAAO;IAC1B,mBAAmB,OAAO;IAC1B,mBAAmB,OAAO;IAC1B,iBAAiB,OAAO;IACxB,eAAe,OAAO;IACtB,eAAe,OAAO;IACtB,WAAW,OAAO;CACnB;AAED,oBAAY,YAAY;IACtB,YAAY,4BAA4B;IACxC,aAAa,wGAAwG;IACrH,WAAW,0BAA0B;IACrC,sBAAsB,gCAAgC;IACtD,mBAAmB,8BAA8B;CAClD"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/errors/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,QAAQ,aAAa;IACrB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,qBAAqB,0BAA0B;CAChD;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,CAAA;AAErC,oBAAY,aAAa;IACvB,aAAa,OAAO;IACpB,eAAe,OAAO;IACtB,sBAAsB,OAAO;IAC7B,iBAAiB,OAAO;IACxB,OAAO,OAAO;IACd,mBAAmB,OAAO;IAC1B,QAAQ,OAAO;IACf,gBAAgB,OAAO;IACvB,qBAAqB,OAAO;IAC5B,aAAa,OAAO;IACpB,mBAAmB,OAAO;IAC1B,aAAa,OAAO;IACpB,iBAAiB,OAAO;IACxB,YAAY,OAAO;IACnB,iBAAiB,OAAO;IACxB,iBAAiB,OAAO;IACxB,0BAA0B,OAAO;IACjC,4BAA4B,OAAO;IACnC,kBAAkB,OAAO;IACzB,2BAA2B,OAAO;IAClC,mBAAmB,OAAO;IAC1B,mBAAmB,OAAO;IAC1B,mBAAmB,OAAO;IAC1B,iBAAiB,OAAO;IACxB,eAAe,OAAO;IACtB,eAAe,OAAO;IACtB,WAAW,OAAO;CACnB;AAED,oBAAY,YAAY;IACtB,YAAY,4BAA4B;IACxC,aAAa,wGAAwG;IACrH,WAAW,0BAA0B;IACrC,sBAAsB,gCAAgC;IACtD,mBAAmB,8BAA8B;CAClD"}
@@ -1,3 +1,4 @@
1
+ import type { ExecuteStepRetryParams } from '../types/core.js';
1
2
  import { BaseError } from './baseError.js';
2
3
  import { LiFiErrorCode } from './constants.js';
3
4
  export declare class RPCError extends BaseError {
@@ -21,4 +22,13 @@ export declare class ServerError extends BaseError {
21
22
  export declare class ValidationError extends BaseError {
22
23
  constructor(message: string);
23
24
  }
25
+ /**
26
+ * Thrown by a step executor when executeStep should be retried with the given params
27
+ * (e.g. wallet rejected 7702 upgrade → retry with atomicityNotReady).
28
+ * The execution layer catches this and retries executeStep(client, step, retryParams).
29
+ */
30
+ export declare class ExecuteStepRetryError extends BaseError {
31
+ readonly retryParams: ExecuteStepRetryParams;
32
+ constructor(message: string, retryParams: ExecuteStepRetryParams, cause?: Error);
33
+ }
24
34
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAa,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEzD,qBAAa,QAAS,SAAQ,SAAS;gBACzB,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAGhE;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAGhE;AAED,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAGhE;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAG3C;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAG3C;AAED,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,OAAO,EAAE,MAAM;CAG5B"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/errors/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAa,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEzD,qBAAa,QAAS,SAAQ,SAAS;gBACzB,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAGhE;AAED,qBAAa,aAAc,SAAQ,SAAS;gBAC9B,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAGhE;AAED,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAGhE;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAG3C;AAED,qBAAa,YAAa,SAAQ,SAAS;gBAC7B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAG3C;AAED,qBAAa,WAAY,SAAQ,SAAS;gBAC5B,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,OAAO,EAAE,MAAM;CAG5B;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,SAAS;IAClD,QAAQ,CAAC,WAAW,EAAE,sBAAsB,CAAA;gBAG1C,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,sBAAsB,EACnC,KAAK,CAAC,EAAE,KAAK;CAUhB"}
@@ -22,19 +22,28 @@ export { actions } from './actions/index.js';
22
22
  export { patchContractCalls } from './actions/patchContractCalls.js';
23
23
  export { relayTransaction } from './actions/relayTransaction.js';
24
24
  export { createClient } from './client/createClient.js';
25
+ export { getActionMessage, getSubstatusMessage } from './core/actionMessages.js';
26
+ export { BaseStepExecutionTask } from './core/BaseStepExecutionTask.js';
25
27
  export { BaseStepExecutor } from './core/BaseStepExecutor.js';
26
- export { checkBalance } from './core/checkBalance.js';
27
28
  export { executeRoute, getActiveRoute, getActiveRoutes, resumeRoute, stopRouteExecution, updateRouteExecution, } from './core/execution.js';
28
29
  export { StatusManager } from './core/StatusManager.js';
29
- export { stepComparison } from './core/stepComparison.js';
30
- export { waitForDestinationChainTransaction } from './core/waitForDestinationChainTransaction.js';
30
+ export type { SDKStorage } from './core/storage.js';
31
+ export { createDefaultStorage, InMemoryStorage, LocalStorageAdapter, } from './core/storage.js';
32
+ export { TaskPipeline } from './core/TaskPipeline.js';
33
+ export { CheckBalanceTask } from './core/tasks/CheckBalanceTask.js';
34
+ export { checkBalance } from './core/tasks/helpers/checkBalance.js';
35
+ export { getTransactionRequestData } from './core/tasks/helpers/getTransactionRequestData.js';
36
+ export { stepComparison } from './core/tasks/helpers/stepComparison.js';
37
+ export { PrepareTransactionTask } from './core/tasks/PrepareTransactionTask.js';
38
+ export { WaitForTransactionStatusTask } from './core/tasks/WaitForTransactionStatusTask.js';
31
39
  export { BaseError } from './errors/baseError.js';
32
40
  export type { ErrorCode } from './errors/constants.js';
33
41
  export { ErrorMessage, ErrorName, LiFiErrorCode } from './errors/constants.js';
34
- export { BalanceError, ProviderError, RPCError, ServerError, TransactionError, UnknownError, ValidationError, } from './errors/errors.js';
42
+ export { BalanceError, ExecuteStepRetryError, ProviderError, RPCError, ServerError, TransactionError, UnknownError, ValidationError, } from './errors/errors.js';
35
43
  export { HTTPError } from './errors/httpError.js';
36
44
  export { SDKError } from './errors/SDKError.js';
37
- export type { AcceptExchangeRateUpdateHook, AcceptSlippageUpdateHook, AcceptSlippageUpdateHookParams, ContractCallParams, ContractTool, ExchangeRateUpdateParams, Execution, ExecutionOptions, ExecutionStatus, GetContractCallsHook, GetContractCallsResult, InteractionSettings, LiFiStepExtended, Process, ProcessStatus, ProcessType, RequestInterceptor, RouteExecutionData, RouteExecutionDataDictionary, RouteExecutionDictionary, RouteExtended, RPCUrls, SDKBaseConfig, SDKClient, SDKConfig, SDKProvider, StepExecutor, StepExecutorOptions, StepExtended, TransactionMethodType, TransactionParameters, TransactionRequestParameters, TransactionRequestUpdateHook, UpdateRouteHook, } from './types/core.js';
45
+ export type { AcceptExchangeRateUpdateHook, AcceptSlippageUpdateHook, AcceptSlippageUpdateHookParams, ContractCallParams, ContractTool, ExchangeRateUpdateParams, ExecuteStepRetryParams, Execution, ExecutionAction, ExecutionActionStatus, ExecutionActionType, ExecutionOptions, ExecutionStatus, GetContractCallsHook, GetContractCallsResult, InteractionSettings, LiFiStepExtended, RequestInterceptor, RouteExecutionData, RouteExecutionDataDictionary, RouteExecutionDictionary, RouteExtended, RPCUrls, SDKBaseConfig, SDKClient, SDKConfig, SDKProvider, StepExecutor, StepExecutorOptions, StepExtended, TransactionMethodType, TransactionParameters, TransactionRequestParameters, TransactionRequestUpdateHook, UpdateRouteHook, } from './types/core.js';
46
+ export type { StepExecutorBaseContext, StepExecutorContext, TaskResult, TaskStatus, } from './types/execution.js';
38
47
  export { checkPackageUpdates } from './utils/checkPackageUpdates.js';
39
48
  export { convertQuoteToRoute } from './utils/convertQuoteToRoute.js';
40
49
  export { fetchTxErrorDetails } from './utils/fetchTxErrorDetails.js';
@@ -43,5 +52,5 @@ export { isHex } from './utils/isHex.js';
43
52
  export { parseUnits } from './utils/parseUnits.js';
44
53
  export { sleep } from './utils/sleep.js';
45
54
  export { waitForResult } from './utils/waitForResult.js';
46
- export { withDedupe } from './utils/withDedupe.js';
55
+ export { LruMap, withDedupe } from './utils/withDedupe.js';
47
56
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { ChainId, ChainType, CoinKey, ContractCall, ExtendedChain, FeeCost, GasCost, LiFiStep, Route, RouteOptions, Step, Substatus, Token, TokenAmount } from '@lifi/types';
2
+ import type { SDKStorage } from '../core/storage.js';
2
3
  import type { ExtendedRequestInit } from './request.js';
3
4
  export type RequestInterceptor = (request: ExtendedRequestInit) => ExtendedRequestInit | Promise<ExtendedRequestInit>;
4
5
  export interface SDKBaseConfig {
@@ -15,6 +16,7 @@ export interface SDKBaseConfig {
15
16
  preloadChains?: boolean;
16
17
  chainsRefetchInterval?: number;
17
18
  requestInterceptor?: RequestInterceptor;
19
+ storage?: SDKStorage;
18
20
  }
19
21
  export interface SDKConfig extends Partial<Omit<SDKBaseConfig, 'integrator'>> {
20
22
  integrator: string;
@@ -47,11 +49,16 @@ export interface InteractionSettings {
47
49
  allowUpdates?: boolean;
48
50
  allowExecution?: boolean;
49
51
  }
52
+ /**
53
+ * Params passed when retrying executeStep after an ExecuteStepRetryError.
54
+ * Providers can use this to pass strategy-specific retry options (e.g. atomicityNotReady for Ethereum 7702).
55
+ */
56
+ export type ExecuteStepRetryParams = Record<string, unknown>;
50
57
  export interface StepExecutor {
51
58
  allowUserInteraction: boolean;
52
59
  allowExecution: boolean;
53
60
  setInteraction(settings?: InteractionSettings): void;
54
- executeStep(client: SDKClient, step: LiFiStepExtended): Promise<LiFiStepExtended>;
61
+ executeStep(client: SDKClient, step: LiFiStepExtended, retryParams?: ExecuteStepRetryParams): Promise<LiFiStepExtended>;
55
62
  }
56
63
  export interface RouteExecutionData {
57
64
  route: Route;
@@ -128,42 +135,38 @@ export interface ExecutionOptions {
128
135
  getContractCalls?: GetContractCallsHook;
129
136
  adjustZeroOutputFromPreviousStep?: boolean;
130
137
  executeInBackground?: boolean;
131
- disableMessageSigning?: boolean;
132
138
  /**
133
139
  * @deprecated
134
140
  */
135
141
  infiniteApproval?: boolean;
136
142
  }
137
143
  export type ExecutionStatus = 'ACTION_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE';
138
- export type ProcessStatus = 'STARTED' | 'ACTION_REQUIRED' | 'MESSAGE_REQUIRED' | 'RESET_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE' | 'CANCELLED';
139
- export type ProcessType = 'TOKEN_ALLOWANCE' | 'PERMIT' | 'SWAP' | 'CROSS_CHAIN' | 'RECEIVING_CHAIN';
140
- export type Process = {
141
- type: ProcessType;
142
- status: ProcessStatus;
144
+ export type ExecutionActionStatus = 'STARTED' | 'ACTION_REQUIRED' | 'MESSAGE_REQUIRED' | 'RESET_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE' | 'CANCELLED';
145
+ export type ExecutionActionType = 'PERMIT' | 'CHECK_ALLOWANCE' | 'NATIVE_PERMIT' | 'RESET_ALLOWANCE' | 'SET_ALLOWANCE' | 'SWAP' | 'CROSS_CHAIN' | 'RECEIVING_CHAIN';
146
+ export type ExecutionAction = {
147
+ type: ExecutionActionType;
148
+ status: ExecutionActionStatus;
149
+ message?: string;
143
150
  substatus?: Substatus;
151
+ substatusMessage?: string;
144
152
  chainId?: number;
145
153
  txHash?: string;
146
- taskId?: string;
147
154
  txLink?: string;
155
+ taskId?: string;
148
156
  txType?: TransactionMethodType;
149
- actionRequiredAt?: number;
150
- doneAt?: number;
151
- failedAt?: number;
152
- pendingAt?: number;
153
- startedAt: number;
154
- message?: string;
157
+ txHex?: string;
155
158
  error?: {
156
159
  code: string | number;
157
160
  message: string;
158
161
  htmlMessage?: string;
159
162
  };
160
- [key: string]: any;
161
163
  };
162
164
  export interface Execution {
163
165
  startedAt: number;
164
- doneAt?: number;
166
+ signedAt?: number;
165
167
  status: ExecutionStatus;
166
- process: Array<Process>;
168
+ actions: Array<ExecutionAction>;
169
+ lastActionType?: ExecutionActionType;
167
170
  fromAmount?: string;
168
171
  toAmount?: string;
169
172
  toToken?: Token;
@@ -171,6 +174,11 @@ export interface Execution {
171
174
  gasCosts?: GasCost[];
172
175
  internalTxLink?: string;
173
176
  externalTxLink?: string;
177
+ error?: {
178
+ code: string | number;
179
+ message: string;
180
+ htmlMessage?: string;
181
+ };
174
182
  }
175
183
  export type TransactionMethodType = 'standard' | 'relayed' | 'batched';
176
184
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/types/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/types/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { ExtendedChain } from '@lifi/types';
2
+ import type { StatusManager } from '../core/StatusManager.js';
3
+ import type { ExecuteStepRetryParams, ExecutionOptions, LiFiStepExtended, SDKClient } from './core.js';
4
+ export interface StepExecutorBaseContext {
5
+ statusManager: StatusManager;
6
+ executionOptions?: ExecutionOptions;
7
+ fromChain: ExtendedChain;
8
+ toChain: ExtendedChain;
9
+ isBridgeExecution: boolean;
10
+ client: SDKClient;
11
+ step: LiFiStepExtended;
12
+ allowUserInteraction: boolean;
13
+ retryParams?: ExecuteStepRetryParams;
14
+ }
15
+ export interface StepExecutorContext extends StepExecutorBaseContext {
16
+ pollingIntervalMs?: number;
17
+ }
18
+ export interface TaskResult<TContext = Record<string, unknown>> {
19
+ status: TaskStatus;
20
+ /** Optional: data produced for downstream tasks. Pipeline merges into the executor context. */
21
+ context?: TContext;
22
+ }
23
+ export type TaskStatus = 'COMPLETED' | 'PAUSED';
24
+ //# sourceMappingURL=execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../src/types/execution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC7D,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACV,MAAM,WAAW,CAAA;AAElB,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,aAAa,CAAA;IAC5B,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,SAAS,EAAE,aAAa,CAAA;IACxB,OAAO,EAAE,aAAa,CAAA;IACtB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,MAAM,EAAE,SAAS,CAAA;IACjB,IAAI,EAAE,gBAAgB,CAAA;IACtB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,WAAW,CAAC,EAAE,sBAAsB,CAAA;CACrC;AAED,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5D,MAAM,EAAE,UAAU,CAAA;IAClB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,QAAQ,CAAA;CACnB;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAA"}
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Repeatedly calls a given asynchronous function until it resolves with a value
3
3
  * @param fn The function that should be repeated
4
- * @param interval The timeout in milliseconds between retries, defaults to 5000
4
+ * @param interval The timeout in milliseconds between retries, or a function that receives the current poll count and returns the interval. Defaults to 5000
5
5
  * @param maxRetries Maximum number of retries before throwing an error, defaults to 3
6
6
  * @param shouldRetry Optional predicate to determine if an error should trigger a retry
7
7
  * @returns The result of the fn function
8
8
  * @throws Error if maximum retries is reached, if function keeps returning undefined, or if shouldRetry returns false
9
9
  */
10
- export declare const waitForResult: <T>(fn: () => Promise<T | undefined>, interval?: number, maxRetries?: number, shouldRetry?: (count: number, error: unknown) => boolean) => Promise<T>;
10
+ export declare const waitForResult: <T>(fn: () => Promise<T | undefined>, interval?: number | ((poll: number) => number), maxRetries?: number, shouldRetry?: (count: number, error: unknown) => boolean) => Promise<T>;
11
11
  //# sourceMappingURL=waitForResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"waitForResult.d.ts","sourceRoot":"","sources":["../../../src/utils/waitForResult.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAU,CAAC,EACnC,IAAI,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAChC,iBAAe,EACf,mBAAc,EACd,cAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAoB,KACnE,OAAO,CAAC,CAAC,CAuBX,CAAA"}
1
+ {"version":3,"file":"waitForResult.d.ts","sourceRoot":"","sources":["../../../src/utils/waitForResult.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAU,CAAC,EACnC,IAAI,MAAM,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAChC,WAAU,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAQ,EACpD,mBAAc,EACd,cAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAoB,KACnE,OAAO,CAAC,CAAC,CA4BX,CAAA"}
@@ -1,3 +1,13 @@
1
+ /**
2
+ * Map with a LRU (Least recently used) policy.
3
+ *
4
+ * https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU
5
+ */
6
+ export declare class LruMap<value = unknown> extends Map<string, value> {
7
+ maxSize: number;
8
+ constructor(size: number);
9
+ set(key: string, value: value): this;
10
+ }
1
11
  type WithDedupeOptions = {
2
12
  enabled?: boolean | undefined;
3
13
  id?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"withDedupe.d.ts","sourceRoot":"","sources":["../../../src/utils/withDedupe.ts"],"names":[],"mappings":"AAyBA,KAAK,iBAAiB,GAAG;IACvB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACxB,CAAA;AAED,uCAAuC;AACvC,wBAAgB,UAAU,CAAC,CAAC,EAC1B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,EAAE,OAAc,EAAE,EAAE,EAAE,EAAE,iBAAiB,GACxC,OAAO,CAAC,CAAC,CAAC,CAUZ"}
1
+ {"version":3,"file":"withDedupe.d.ts","sourceRoot":"","sources":["../../../src/utils/withDedupe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,MAAM,CAAC,KAAK,GAAG,OAAO,CAAE,SAAQ,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;IAC7D,OAAO,EAAE,MAAM,CAAA;gBAEH,IAAI,EAAE,MAAM;IAKf,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAOvC;AAKD,KAAK,iBAAiB,GAAG;IACvB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACxB,CAAA;AAED,uCAAuC;AACvC,wBAAgB,UAAU,CAAC,CAAC,EAC1B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,EAAE,OAAc,EAAE,EAAE,EAAE,EAAE,iBAAiB,GACxC,OAAO,CAAC,CAAC,CAAC,CAUZ"}
@@ -1,3 +1,3 @@
1
1
  export declare const name = "@lifi/sdk";
2
- export declare const version = "4.0.0-alpha.8";
2
+ export declare const version = "4.0.0-beta.0";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,cAAc,CAAA;AAC/B,eAAO,MAAM,OAAO,kBAAkB,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,cAAc,CAAA;AAC/B,eAAO,MAAM,OAAO,iBAAiB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/sdk",
3
- "version": "4.0.0-alpha.8",
3
+ "version": "4.0.0-beta.0",
4
4
  "description": "LI.FI SDK for Any-to-Any Cross-Chain-Swap",
5
5
  "homepage": "https://github.com/lifinance/sdk",
6
6
  "bugs": {
@@ -28,7 +28,7 @@
28
28
  "./package.json": "./package.json"
29
29
  },
30
30
  "dependencies": {
31
- "@lifi/types": "^17.56.0"
31
+ "@lifi/types": "^17.65.0"
32
32
  },
33
33
  "publishConfig": {
34
34
  "access": "public"
@@ -85,7 +85,10 @@ export async function getQuote(
85
85
  params.preferExchanges ??= client.config.routeOptions?.exchanges?.prefer
86
86
 
87
87
  for (const key of Object.keys(params)) {
88
- if (!params[key as keyof QuoteRequest]) {
88
+ if (
89
+ params[key as keyof QuoteRequest] === undefined ||
90
+ params[key as keyof QuoteRequest] === null
91
+ ) {
89
92
  delete params[key as keyof QuoteRequest]
90
93
  }
91
94
  }
@@ -39,7 +39,7 @@ export const getRelayedTransactionStatus = async (
39
39
 
40
40
  const decodedTaskId = decodeTaskId(taskId)
41
41
  // Temporary solution during the transition between status endpoints
42
- if (decodedTaskId.length === 3) {
42
+ if (decodedTaskId.length >= 3) {
43
43
  return (await getStatus(
44
44
  client,
45
45
  params,
@@ -56,7 +56,10 @@ export const getRelayerQuote = async (
56
56
  params.preferExchanges ??= client.config.routeOptions?.exchanges?.prefer
57
57
 
58
58
  for (const key of Object.keys(params)) {
59
- if (!params[key as keyof QuoteRequest]) {
59
+ if (
60
+ params[key as keyof QuoteRequest] === undefined ||
61
+ params[key as keyof QuoteRequest] === null
62
+ ) {
60
63
  delete params[key as keyof QuoteRequest]
61
64
  }
62
65
  }
@@ -1,4 +1,5 @@
1
1
  import type { LiFiStep, RequestOptions, SignedLiFiStep } from '@lifi/types'
2
+ import { ChainId } from '@lifi/types'
2
3
  import type { SDKClient } from '../types/core.js'
3
4
  import { isStep } from '../utils/isStep.js'
4
5
  import { request } from '../utils/request.js'
@@ -21,16 +22,31 @@ export const getStepTransaction = async (
21
22
  console.warn('SDK Validation: Invalid Step', step)
22
23
  }
23
24
 
24
- return await request<LiFiStep>(
25
- client.config,
26
- `${client.config.apiUrl}/advanced/stepTransaction`,
27
- {
28
- method: 'POST',
29
- headers: {
30
- 'Content-Type': 'application/json',
31
- },
32
- body: JSON.stringify(step),
33
- signal: options?.signal,
25
+ const { config } = client
26
+
27
+ let requestUrl = `${config.apiUrl}/advanced/stepTransaction`
28
+ const jitoBundle = config.routeOptions?.jitoBundle
29
+ const svmSponsor = config.routeOptions?.svmSponsor
30
+
31
+ if (step.action.fromChainId === ChainId.SOL) {
32
+ const queryParams = new URLSearchParams()
33
+ if (jitoBundle) {
34
+ queryParams.set('jitoBundle', jitoBundle.toString())
35
+ }
36
+ if (svmSponsor) {
37
+ queryParams.set('svmSponsor', svmSponsor)
34
38
  }
35
- )
39
+ if (queryParams.size > 0) {
40
+ requestUrl = `${requestUrl}?${queryParams}`
41
+ }
42
+ }
43
+
44
+ return await request<LiFiStep>(config, requestUrl, {
45
+ method: 'POST',
46
+ headers: {
47
+ 'Content-Type': 'application/json',
48
+ },
49
+ body: JSON.stringify(step),
50
+ signal: options?.signal,
51
+ })
36
52
  }
@@ -0,0 +1,9 @@
1
+ import type { StepExecutorContext, TaskResult } from '../types/execution.js'
2
+
3
+ export abstract class BaseStepExecutionTask {
4
+ shouldRun(_context: StepExecutorContext): Promise<boolean> {
5
+ return Promise.resolve(true)
6
+ }
7
+
8
+ abstract run(context: StepExecutorContext): Promise<TaskResult>
9
+ }
@@ -1,12 +1,21 @@
1
- import type { LiFiStep } from '@lifi/types'
1
+ import { ExecuteStepRetryError } from '../errors/errors.js'
2
+ import type { SDKError } from '../errors/SDKError.js'
2
3
  import type {
4
+ ExecuteStepRetryParams,
5
+ ExecutionAction,
3
6
  ExecutionOptions,
4
7
  InteractionSettings,
8
+ LiFiStepExtended,
5
9
  SDKClient,
6
10
  StepExecutor,
7
11
  StepExecutorOptions,
8
12
  } from '../types/core.js'
13
+ import type {
14
+ StepExecutorBaseContext,
15
+ StepExecutorContext,
16
+ } from '../types/execution.js'
9
17
  import { StatusManager } from './StatusManager.js'
18
+ import type { TaskPipeline } from './TaskPipeline.js'
10
19
 
11
20
  // Please be careful when changing the defaults as it may break the behavior (e.g., background execution)
12
21
  const defaultInteractionSettings = {
@@ -37,5 +46,85 @@ export abstract class BaseStepExecutor implements StepExecutor {
37
46
  this.allowExecution = interactionSettings.allowExecution
38
47
  }
39
48
 
40
- abstract executeStep(client: SDKClient, step: LiFiStep): Promise<LiFiStep>
49
+ private createBaseContext = async (
50
+ client: SDKClient,
51
+ step: LiFiStepExtended,
52
+ retryParams?: ExecuteStepRetryParams
53
+ ): Promise<StepExecutorBaseContext> => {
54
+ const fromChain = await client.getChainById(step.action.fromChainId)
55
+ const toChain = await client.getChainById(step.action.toChainId)
56
+
57
+ const isBridgeExecution = fromChain.id !== toChain.id
58
+
59
+ return {
60
+ client,
61
+ step,
62
+ fromChain,
63
+ toChain,
64
+ isBridgeExecution,
65
+ retryParams,
66
+ statusManager: this.statusManager,
67
+ executionOptions: this.executionOptions,
68
+ allowUserInteraction: this.allowUserInteraction,
69
+ }
70
+ }
71
+
72
+ abstract createContext(
73
+ baseContext: StepExecutorBaseContext
74
+ ): Promise<StepExecutorContext>
75
+
76
+ abstract createPipeline(context: StepExecutorContext): TaskPipeline
77
+
78
+ abstract parseErrors(
79
+ error: Error,
80
+ step?: LiFiStepExtended,
81
+ action?: ExecutionAction,
82
+ retryParams?: ExecuteStepRetryParams
83
+ ): Promise<SDKError | ExecuteStepRetryError>
84
+
85
+ executeStep = async (
86
+ client: SDKClient,
87
+ step: LiFiStepExtended,
88
+ retryParams?: ExecuteStepRetryParams
89
+ ): Promise<LiFiStepExtended> => {
90
+ try {
91
+ step.execution = this.statusManager.initializeExecution(step)
92
+
93
+ const baseContext = await this.createBaseContext(
94
+ client,
95
+ step,
96
+ retryParams
97
+ )
98
+ const context = await this.createContext(baseContext)
99
+ const pipeline = this.createPipeline(context)
100
+
101
+ await pipeline.run(context)
102
+
103
+ return step
104
+ } catch (error: any) {
105
+ const action = step.execution?.lastActionType
106
+ ? this.statusManager.findAction(step, step.execution.lastActionType)
107
+ : undefined
108
+ const parsed = await this.parseErrors(error, step, action, retryParams)
109
+ if (!(parsed instanceof ExecuteStepRetryError)) {
110
+ if (action) {
111
+ this.statusManager.updateAction(step, action.type, 'FAILED', {
112
+ error: {
113
+ message: parsed.cause?.message,
114
+ code: parsed.code,
115
+ },
116
+ })
117
+ } else {
118
+ this.statusManager.updateExecution(step, {
119
+ status: 'FAILED',
120
+ error: {
121
+ message: parsed.cause?.message,
122
+ code: parsed.code,
123
+ },
124
+ })
125
+ }
126
+ }
127
+ throw parsed
128
+ }
129
+ }
41
130
  }