@lifi/sdk 4.0.0-alpha.9 → 4.0.0-beta.1

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 (249) 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/actions/getTokens.js +1 -1
  10. package/dist/cjs/actions/getTokens.js.map +1 -1
  11. package/dist/cjs/core/BaseStepExecutionTask.d.ts +5 -0
  12. package/dist/cjs/core/BaseStepExecutionTask.js +10 -0
  13. package/dist/cjs/core/BaseStepExecutionTask.js.map +1 -0
  14. package/dist/cjs/core/BaseStepExecutor.d.ts +10 -3
  15. package/dist/cjs/core/BaseStepExecutor.js +51 -0
  16. package/dist/cjs/core/BaseStepExecutor.js.map +1 -1
  17. package/dist/cjs/core/StatusManager.d.ts +12 -10
  18. package/dist/cjs/core/StatusManager.js +32 -33
  19. package/dist/cjs/core/StatusManager.js.map +1 -1
  20. package/dist/cjs/core/TaskPipeline.d.ts +7 -0
  21. package/dist/cjs/core/TaskPipeline.js +27 -0
  22. package/dist/cjs/core/TaskPipeline.js.map +1 -0
  23. package/dist/cjs/core/actionMessages.js +19 -3
  24. package/dist/cjs/core/actionMessages.js.map +1 -1
  25. package/dist/cjs/core/execution.js +13 -1
  26. package/dist/cjs/core/execution.js.map +1 -1
  27. package/dist/cjs/core/prepareRestart.js +2 -3
  28. package/dist/cjs/core/prepareRestart.js.map +1 -1
  29. package/dist/cjs/core/storage.d.ts +17 -0
  30. package/dist/cjs/core/storage.js +36 -0
  31. package/dist/cjs/core/storage.js.map +1 -0
  32. package/dist/cjs/core/tasks/CheckBalanceTask.d.ts +5 -0
  33. package/dist/cjs/core/tasks/CheckBalanceTask.js +26 -0
  34. package/dist/cjs/core/tasks/CheckBalanceTask.js.map +1 -0
  35. package/dist/cjs/core/tasks/PrepareTransactionTask.d.ts +5 -0
  36. package/dist/cjs/core/tasks/PrepareTransactionTask.js +36 -0
  37. package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -0
  38. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.d.ts +8 -0
  39. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +73 -0
  40. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  41. package/dist/cjs/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  42. package/dist/cjs/core/{checkBalance.js → tasks/helpers/checkBalance.js} +4 -4
  43. package/dist/cjs/core/tasks/helpers/checkBalance.js.map +1 -0
  44. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.d.ts +2 -0
  45. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js +30 -0
  46. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  47. package/dist/cjs/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  48. package/dist/cjs/core/{stepComparison.js → tasks/helpers/stepComparison.js} +3 -3
  49. package/dist/cjs/core/tasks/helpers/stepComparison.js.map +1 -0
  50. package/dist/cjs/core/{waitForTransactionStatus.d.ts → tasks/helpers/waitForTransactionStatus.d.ts} +2 -2
  51. package/dist/cjs/core/{waitForTransactionStatus.js → tasks/helpers/waitForTransactionStatus.js} +7 -5
  52. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  53. package/dist/cjs/core/utils.d.ts +6 -1
  54. package/dist/cjs/errors/constants.d.ts +2 -1
  55. package/dist/cjs/errors/constants.js +1 -0
  56. package/dist/cjs/errors/constants.js.map +1 -1
  57. package/dist/cjs/errors/errors.d.ts +5 -0
  58. package/dist/cjs/errors/errors.js +9 -1
  59. package/dist/cjs/errors/errors.js.map +1 -1
  60. package/dist/cjs/errors/httpError.js +3 -3
  61. package/dist/cjs/errors/httpError.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 +14 -6
  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/actions/getTokens.js +1 -1
  87. package/dist/esm/actions/getTokens.js.map +1 -1
  88. package/dist/esm/core/BaseStepExecutionTask.d.ts +5 -0
  89. package/dist/esm/core/BaseStepExecutionTask.js +6 -0
  90. package/dist/esm/core/BaseStepExecutionTask.js.map +1 -0
  91. package/dist/esm/core/BaseStepExecutor.d.ts +10 -3
  92. package/dist/esm/core/BaseStepExecutor.js +52 -0
  93. package/dist/esm/core/BaseStepExecutor.js.map +1 -1
  94. package/dist/esm/core/StatusManager.d.ts +29 -27
  95. package/dist/esm/core/StatusManager.js +49 -50
  96. package/dist/esm/core/StatusManager.js.map +1 -1
  97. package/dist/esm/core/TaskPipeline.d.ts +7 -0
  98. package/dist/esm/core/TaskPipeline.js +23 -0
  99. package/dist/esm/core/TaskPipeline.js.map +1 -0
  100. package/dist/esm/core/actionMessages.js +19 -3
  101. package/dist/esm/core/actionMessages.js.map +1 -1
  102. package/dist/esm/core/execution.js +14 -3
  103. package/dist/esm/core/execution.js.map +1 -1
  104. package/dist/esm/core/prepareRestart.js +2 -3
  105. package/dist/esm/core/prepareRestart.js.map +1 -1
  106. package/dist/esm/core/storage.d.ts +17 -0
  107. package/dist/esm/core/storage.js +30 -0
  108. package/dist/esm/core/storage.js.map +1 -0
  109. package/dist/esm/core/tasks/CheckBalanceTask.d.ts +5 -0
  110. package/dist/esm/core/tasks/CheckBalanceTask.js +22 -0
  111. package/dist/esm/core/tasks/CheckBalanceTask.js.map +1 -0
  112. package/dist/esm/core/tasks/PrepareTransactionTask.d.ts +5 -0
  113. package/dist/esm/core/tasks/PrepareTransactionTask.js +32 -0
  114. package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -0
  115. package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts +8 -0
  116. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +74 -0
  117. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  118. package/dist/esm/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  119. package/dist/esm/core/{checkBalance.js → tasks/helpers/checkBalance.js} +4 -4
  120. package/dist/esm/core/tasks/helpers/checkBalance.js.map +1 -0
  121. package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts +2 -0
  122. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js +26 -0
  123. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  124. package/dist/esm/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  125. package/dist/esm/core/{stepComparison.js → tasks/helpers/stepComparison.js} +3 -3
  126. package/dist/esm/core/tasks/helpers/stepComparison.js.map +1 -0
  127. package/dist/esm/core/{waitForTransactionStatus.d.ts → tasks/helpers/waitForTransactionStatus.d.ts} +2 -2
  128. package/dist/esm/core/{waitForTransactionStatus.js → tasks/helpers/waitForTransactionStatus.js} +7 -5
  129. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  130. package/dist/esm/core/utils.d.ts +6 -1
  131. package/dist/esm/errors/constants.d.ts +2 -1
  132. package/dist/esm/errors/constants.js +1 -0
  133. package/dist/esm/errors/constants.js.map +1 -1
  134. package/dist/esm/errors/errors.d.ts +10 -0
  135. package/dist/esm/errors/errors.js +12 -0
  136. package/dist/esm/errors/errors.js.map +1 -1
  137. package/dist/esm/errors/httpError.js +3 -3
  138. package/dist/esm/errors/httpError.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 +18 -6
  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 +29 -27
  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.map +1 -1
  166. package/dist/types/core/execution.d.ts.map +1 -1
  167. package/dist/types/core/prepareRestart.d.ts.map +1 -1
  168. package/dist/types/core/storage.d.ts +18 -0
  169. package/dist/types/core/storage.d.ts.map +1 -0
  170. package/dist/types/core/tasks/CheckBalanceTask.d.ts +6 -0
  171. package/dist/types/core/tasks/CheckBalanceTask.d.ts.map +1 -0
  172. package/dist/types/core/tasks/PrepareTransactionTask.d.ts +6 -0
  173. package/dist/types/core/tasks/PrepareTransactionTask.d.ts.map +1 -0
  174. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts +9 -0
  175. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts.map +1 -0
  176. package/dist/types/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  177. package/dist/types/core/tasks/helpers/checkBalance.d.ts.map +1 -0
  178. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts +3 -0
  179. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts.map +1 -0
  180. package/dist/types/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  181. package/dist/types/core/tasks/helpers/stepComparison.d.ts.map +1 -0
  182. package/dist/types/core/{waitForTransactionStatus.d.ts → tasks/helpers/waitForTransactionStatus.d.ts} +2 -2
  183. package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts.map +1 -0
  184. package/dist/types/core/utils.d.ts +6 -1
  185. package/dist/types/core/utils.d.ts.map +1 -1
  186. package/dist/types/errors/constants.d.ts +2 -1
  187. package/dist/types/errors/constants.d.ts.map +1 -1
  188. package/dist/types/errors/errors.d.ts +10 -0
  189. package/dist/types/errors/errors.d.ts.map +1 -1
  190. package/dist/types/index.d.ts +15 -6
  191. package/dist/types/index.d.ts.map +1 -1
  192. package/dist/types/types/core.d.ts +18 -6
  193. package/dist/types/types/core.d.ts.map +1 -1
  194. package/dist/types/types/execution.d.ts +24 -0
  195. package/dist/types/types/execution.d.ts.map +1 -0
  196. package/dist/types/utils/waitForResult.d.ts +2 -2
  197. package/dist/types/utils/waitForResult.d.ts.map +1 -1
  198. package/dist/types/utils/withDedupe.d.ts +10 -0
  199. package/dist/types/utils/withDedupe.d.ts.map +1 -1
  200. package/dist/types/version.d.ts +1 -1
  201. package/dist/types/version.d.ts.map +1 -1
  202. package/package.json +2 -2
  203. package/src/actions/getQuote.ts +4 -1
  204. package/src/actions/getRelayedTransactionStatus.ts +1 -1
  205. package/src/actions/getRelayerQuote.ts +4 -1
  206. package/src/actions/getStepTransaction.ts +27 -11
  207. package/src/actions/getTokens.ts +4 -2
  208. package/src/core/BaseStepExecutionTask.ts +9 -0
  209. package/src/core/BaseStepExecutor.ts +90 -2
  210. package/src/core/StatusManager.ts +62 -61
  211. package/src/core/TaskPipeline.ts +28 -0
  212. package/src/core/actionMessages.ts +20 -3
  213. package/src/core/execution.ts +17 -3
  214. package/src/core/prepareRestart.ts +2 -3
  215. package/src/core/storage.ts +42 -0
  216. package/src/core/tasks/CheckBalanceTask.ts +29 -0
  217. package/src/core/tasks/PrepareTransactionTask.ts +62 -0
  218. package/src/core/tasks/WaitForTransactionStatusTask.ts +114 -0
  219. package/src/core/{checkBalance.ts → tasks/helpers/checkBalance.ts} +5 -5
  220. package/src/core/tasks/helpers/getTransactionRequestData.ts +47 -0
  221. package/src/core/{stepComparison.ts → tasks/helpers/stepComparison.ts} +5 -5
  222. package/src/core/{waitForTransactionStatus.ts → tasks/helpers/waitForTransactionStatus.ts} +9 -7
  223. package/src/errors/constants.ts +1 -0
  224. package/src/errors/errors.ts +24 -0
  225. package/src/errors/httpError.ts +3 -3
  226. package/src/index.ts +24 -4
  227. package/src/types/core.ts +22 -13
  228. package/src/types/execution.ts +32 -0
  229. package/src/utils/waitForResult.ts +9 -4
  230. package/src/utils/withDedupe.ts +1 -1
  231. package/src/version.ts +1 -1
  232. package/dist/cjs/core/checkBalance.js.map +0 -1
  233. package/dist/cjs/core/stepComparison.js.map +0 -1
  234. package/dist/cjs/core/waitForDestinationChainTransaction.d.ts +0 -4
  235. package/dist/cjs/core/waitForDestinationChainTransaction.js +0 -71
  236. package/dist/cjs/core/waitForDestinationChainTransaction.js.map +0 -1
  237. package/dist/cjs/core/waitForTransactionStatus.js.map +0 -1
  238. package/dist/esm/core/checkBalance.js.map +0 -1
  239. package/dist/esm/core/stepComparison.js.map +0 -1
  240. package/dist/esm/core/waitForDestinationChainTransaction.d.ts +0 -4
  241. package/dist/esm/core/waitForDestinationChainTransaction.js +0 -74
  242. package/dist/esm/core/waitForDestinationChainTransaction.js.map +0 -1
  243. package/dist/esm/core/waitForTransactionStatus.js.map +0 -1
  244. package/dist/types/core/checkBalance.d.ts.map +0 -1
  245. package/dist/types/core/stepComparison.d.ts.map +0 -1
  246. package/dist/types/core/waitForDestinationChainTransaction.d.ts +0 -5
  247. package/dist/types/core/waitForDestinationChainTransaction.d.ts.map +0 -1
  248. package/dist/types/core/waitForTransactionStatus.d.ts.map +0 -1
  249. package/src/core/waitForDestinationChainTransaction.ts +0 -112
@@ -1,15 +1,13 @@
1
1
  import type { ChainId, LiFiStep } from '@lifi/types';
2
- import type { Execution, ExecutionAction, ExecutionActionStatus, ExecutionActionType, ExecutionStatus, LiFiStepExtended } from '../types/core.js';
3
- type FindOrCreateActionProps = {
2
+ import type { Execution, ExecutionAction, ExecutionActionStatus, ExecutionActionType, LiFiStepExtended } from '../types/core.js';
3
+ type ActionProps = {
4
4
  step: LiFiStepExtended;
5
5
  type: ExecutionActionType;
6
- chainId?: ChainId;
7
- status?: ExecutionActionStatus;
6
+ chainId: ChainId;
7
+ status: ExecutionActionStatus;
8
8
  };
9
9
  /**
10
- * Manages status updates of a route and provides various functions for tracking actions
11
- * @param {string} routeId The route dd this StatusManger belongs to.
12
- * @returns {StatusManager} An instance of StatusManager.
10
+ * Manages status updates of a route and provides various functions for tracking actions.
13
11
  */
14
12
  export declare class StatusManager {
15
13
  private readonly routeId;
@@ -17,35 +15,43 @@ export declare class StatusManager {
17
15
  constructor(routeId: string);
18
16
  /**
19
17
  * Initializes the execution object of a Step.
20
- * @param step The current step in execution
21
- * @returns The initialized execution object for this step and a function to update this step
18
+ * @param step The current step in execution
19
+ * @returns The initialized execution object for this step
22
20
  */
23
- initExecutionObject: (step: LiFiStepExtended) => Execution;
21
+ initializeExecution: (step: LiFiStepExtended) => Execution;
24
22
  /**
25
23
  * Updates the execution object of a Step.
26
- * @param step The current step in execution
27
- * @param status The status for the execution
28
- * @param execution Optional. Information about received tokens
24
+ * @param step The current step in execution
25
+ * @param execution Partial execution data to merge
29
26
  * @returns The step with the updated execution object
30
27
  */
31
- updateExecution(step: LiFiStepExtended, status: ExecutionStatus, execution?: Partial<Execution>): LiFiStep;
28
+ updateExecution(step: LiFiStepExtended, execution: Partial<Execution>): LiFiStep;
32
29
  /**
33
30
  * Finds an action of the specified type in the step's execution
34
31
  * @param step The step to search in
35
32
  * @param type The action type to find
36
- * @param status Optional status to update the action with if found
37
33
  * @returns The found action or undefined if not found
38
34
  */
39
- findAction(step: LiFiStepExtended, type: ExecutionActionType, status?: ExecutionActionStatus): ExecutionAction | undefined;
35
+ findAction(step: LiFiStepExtended, type: ExecutionActionType): ExecutionAction | undefined;
40
36
  /**
41
37
  * Create and push a new action into the execution.
38
+ * Caller is responsible for ensuring an action of this type does not already exist.
42
39
  * @param step The step that should contain the new action.
43
- * @param type Type of the action. Used to identify already existing actions.
40
+ * @param type Type of the action.
44
41
  * @param chainId Chain Id of the action.
45
- * @param status By default created action is set to the STARTED status. We can override new action with the needed status.
46
- * @returns Returns action.
42
+ * @param status The initial status for the new action.
43
+ * @returns The created action.
44
+ */
45
+ createAction: ({ step, type, chainId, status, }: ActionProps) => ExecutionAction;
46
+ /**
47
+ * Find an existing action by type and update it, or create a new one if none exists.
48
+ * @param step The step that should contain the action.
49
+ * @param type Type of the action. Used to identify already existing actions.
50
+ * @param chainId Chain Id of the action (used when creating).
51
+ * @param status The status to set on the found or newly created action.
52
+ * @returns The updated or newly created action.
47
53
  */
48
- findOrCreateAction: ({ step, type, chainId, status, }: FindOrCreateActionProps) => ExecutionAction;
54
+ initializeAction: ({ step, type, chainId, status, }: ActionProps) => ExecutionAction;
49
55
  /**
50
56
  * Update an action object.
51
57
  * @param step The step where the action should be updated
@@ -54,13 +60,9 @@ export declare class StatusManager {
54
60
  * @param [params] Additional parameters to append to the action.
55
61
  * @returns The updated action
56
62
  */
57
- updateAction: (step: LiFiStepExtended, type: ExecutionActionType, status: ExecutionActionStatus, params?: Partial<ExecutionAction>) => ExecutionAction;
58
- /**
59
- * Remove an action from the execution
60
- * @param step The step where the action should be removed from
61
- * @param type The action type to remove
62
- */
63
- removeAction: (step: LiFiStepExtended, type: ExecutionActionType) => void;
63
+ updateAction: (step: LiFiStepExtended, type: ExecutionActionType, status: ExecutionActionStatus, params?: Partial<ExecutionAction & {
64
+ signedAt?: number;
65
+ }>) => ExecutionAction;
64
66
  updateStepInRoute: (step: LiFiStep) => LiFiStep;
65
67
  allowUpdates(value: boolean): void;
66
68
  }
@@ -1,9 +1,7 @@
1
1
  import { getActionMessage } from './actionMessages.js';
2
2
  import { executionState } from './executionState.js';
3
3
  /**
4
- * Manages status updates of a route and provides various functions for tracking actions
5
- * @param {string} routeId The route dd this StatusManger belongs to.
6
- * @returns {StatusManager} An instance of StatusManager.
4
+ * Manages status updates of a route and provides various functions for tracking actions.
7
5
  */
8
6
  export class StatusManager {
9
7
  routeId;
@@ -13,10 +11,10 @@ export class StatusManager {
13
11
  }
14
12
  /**
15
13
  * Initializes the execution object of a Step.
16
- * @param step The current step in execution
17
- * @returns The initialized execution object for this step and a function to update this step
14
+ * @param step The current step in execution
15
+ * @returns The initialized execution object for this step
18
16
  */
19
- initExecutionObject = (step) => {
17
+ initializeExecution = (step) => {
20
18
  if (!step.execution) {
21
19
  step.execution = {
22
20
  startedAt: Date.now(),
@@ -30,28 +28,25 @@ export class StatusManager {
30
28
  step.execution.startedAt = Date.now();
31
29
  step.execution.status = 'PENDING';
32
30
  step.execution.signedAt = undefined;
31
+ step.execution.error = undefined;
33
32
  this.updateStepInRoute(step);
34
33
  }
35
34
  return step.execution;
36
35
  };
37
36
  /**
38
37
  * Updates the execution object of a Step.
39
- * @param step The current step in execution
40
- * @param status The status for the execution
41
- * @param execution Optional. Information about received tokens
38
+ * @param step The current step in execution
39
+ * @param execution Partial execution data to merge
42
40
  * @returns The step with the updated execution object
43
41
  */
44
- updateExecution(step, status, execution) {
42
+ updateExecution(step, execution) {
45
43
  if (!step.execution) {
46
44
  throw Error("Can't update empty execution.");
47
45
  }
48
- step.execution.status = status;
49
- if (execution) {
50
- step.execution = {
51
- ...step.execution,
52
- ...execution,
53
- };
54
- }
46
+ step.execution = {
47
+ ...step.execution,
48
+ ...execution,
49
+ };
55
50
  this.updateStepInRoute(step);
56
51
  return step;
57
52
  }
@@ -59,43 +54,55 @@ export class StatusManager {
59
54
  * Finds an action of the specified type in the step's execution
60
55
  * @param step The step to search in
61
56
  * @param type The action type to find
62
- * @param status Optional status to update the action with if found
63
57
  * @returns The found action or undefined if not found
64
58
  */
65
- findAction(step, type, status) {
59
+ findAction(step, type) {
66
60
  if (!step.execution?.actions) {
67
61
  throw new Error("Execution hasn't been initialized.");
68
62
  }
69
63
  const action = step.execution.actions.find((p) => p.type === type);
70
- if (action && status && action.status !== status) {
71
- action.status = status;
72
- this.updateStepInRoute(step);
73
- }
74
64
  return action;
75
65
  }
76
66
  /**
77
67
  * Create and push a new action into the execution.
68
+ * Caller is responsible for ensuring an action of this type does not already exist.
78
69
  * @param step The step that should contain the new action.
79
- * @param type Type of the action. Used to identify already existing actions.
70
+ * @param type Type of the action.
80
71
  * @param chainId Chain Id of the action.
81
- * @param status By default created action is set to the STARTED status. We can override new action with the needed status.
82
- * @returns Returns action.
72
+ * @param status The initial status for the new action.
73
+ * @returns The created action.
83
74
  */
84
- findOrCreateAction = ({ step, type, chainId, status, }) => {
85
- const action = this.findAction(step, type, status);
86
- if (action) {
87
- return action;
75
+ createAction = ({ step, type, chainId, status, }) => {
76
+ if (!step.execution) {
77
+ throw new Error("Execution hasn't been initialized.");
88
78
  }
89
79
  const newAction = {
90
- type: type,
91
- message: getActionMessage(type, status ?? 'STARTED'),
92
- status: status ?? 'STARTED',
93
- chainId: chainId,
80
+ type,
81
+ message: getActionMessage(type, status),
82
+ status,
83
+ chainId,
94
84
  };
95
85
  step.execution.actions.push(newAction);
96
86
  this.updateStepInRoute(step);
97
87
  return newAction;
98
88
  };
89
+ /**
90
+ * Find an existing action by type and update it, or create a new one if none exists.
91
+ * @param step The step that should contain the action.
92
+ * @param type Type of the action. Used to identify already existing actions.
93
+ * @param chainId Chain Id of the action (used when creating).
94
+ * @param status The status to set on the found or newly created action.
95
+ * @returns The updated or newly created action.
96
+ */
97
+ initializeAction = ({ step, type, chainId, status, }) => {
98
+ const action = this.findAction(step, type);
99
+ if (action) {
100
+ return this.updateAction(step, type, status, {
101
+ error: undefined,
102
+ });
103
+ }
104
+ return this.createAction({ step, type, chainId, status });
105
+ };
99
106
  /**
100
107
  * Update an action object.
101
108
  * @param step The step where the action should be updated
@@ -117,11 +124,17 @@ export class StatusManager {
117
124
  break;
118
125
  case 'FAILED':
119
126
  step.execution.status = 'FAILED';
127
+ if (params?.error) {
128
+ step.execution.error = params.error;
129
+ }
120
130
  break;
121
131
  case 'DONE':
122
132
  break;
123
133
  case 'PENDING':
124
134
  step.execution.status = 'PENDING';
135
+ if (params?.signedAt) {
136
+ step.execution.signedAt = params.signedAt;
137
+ }
125
138
  break;
126
139
  case 'RESET_REQUIRED':
127
140
  case 'MESSAGE_REQUIRED':
@@ -135,9 +148,8 @@ export class StatusManager {
135
148
  currentAction.message = getActionMessage(type, status);
136
149
  // set extra parameters or overwrite the standard params set in the switch statement
137
150
  if (params) {
138
- for (const [key, value] of Object.entries(params)) {
139
- currentAction[key] = value;
140
- }
151
+ const { signedAt: _signedAt, ...rest } = params;
152
+ Object.assign(currentAction, rest);
141
153
  }
142
154
  // Sort actions, the ones with DONE status go first
143
155
  step.execution.actions = [
@@ -147,19 +159,6 @@ export class StatusManager {
147
159
  this.updateStepInRoute(step); // updates the step in the route
148
160
  return currentAction;
149
161
  };
150
- /**
151
- * Remove an action from the execution
152
- * @param step The step where the action should be removed from
153
- * @param type The action type to remove
154
- */
155
- removeAction = (step, type) => {
156
- if (!step.execution) {
157
- throw new Error("Execution hasn't been initialized.");
158
- }
159
- const index = step.execution.actions.findIndex((p) => p.type === type);
160
- step.execution.actions.splice(index, 1);
161
- this.updateStepInRoute(step);
162
- };
163
162
  updateStepInRoute = (step) => {
164
163
  if (!this.shouldUpdate) {
165
164
  return step;
@@ -1 +1 @@
1
- {"version":3,"file":"StatusManager.js","sourceRoot":"","sources":["../../../src/core/StatusManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StatusManager.js","sourceRoot":"","sources":["../../../src/core/StatusManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { StepExecutorContext, TaskResult } from '../types/execution.js';
2
+ import type { BaseStepExecutionTask } from './BaseStepExecutionTask.js';
3
+ export declare class TaskPipeline {
4
+ private readonly tasks;
5
+ constructor(tasks: BaseStepExecutionTask[]);
6
+ run(context: StepExecutorContext): Promise<TaskResult>;
7
+ }
@@ -0,0 +1,23 @@
1
+ export class TaskPipeline {
2
+ tasks;
3
+ constructor(tasks) {
4
+ this.tasks = tasks;
5
+ }
6
+ async run(context) {
7
+ for (const task of this.tasks) {
8
+ const shouldRun = await task.shouldRun(context);
9
+ if (!shouldRun) {
10
+ continue;
11
+ }
12
+ const result = await task.run(context);
13
+ if (result.status === 'PAUSED') {
14
+ return { status: 'PAUSED' };
15
+ }
16
+ if (result.context && typeof result.context === 'object') {
17
+ Object.assign(context, result.context);
18
+ }
19
+ }
20
+ return { status: 'COMPLETED' };
21
+ }
22
+ }
23
+ //# sourceMappingURL=TaskPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskPipeline.js","sourceRoot":"","sources":["../../../src/core/TaskPipeline.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,YAAY;IACN,KAAK,CAAyB;IAE/C,YAAY,KAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAA4B;QACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAQ;YACV,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACtC,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;YAC7B,CAAC;YACD,IAAI,MAAM,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;IAChC,CAAC;CACF"}
@@ -1,9 +1,18 @@
1
1
  const actionMessages = {
2
- TOKEN_ALLOWANCE: {
2
+ CHECK_ALLOWANCE: {
3
+ STARTED: 'Checking token allowance',
4
+ PENDING: 'Waiting for token allowance check',
5
+ DONE: 'Token allowance checked',
6
+ },
7
+ RESET_ALLOWANCE: {
8
+ STARTED: 'Resetting token allowance',
9
+ RESET_REQUIRED: 'Resetting token allowance',
10
+ PENDING: 'Waiting for token allowance reset',
11
+ DONE: 'Token allowance reset',
12
+ },
13
+ SET_ALLOWANCE: {
3
14
  STARTED: 'Setting token allowance',
4
15
  ACTION_REQUIRED: 'Set token allowance',
5
- RESET_REQUIRED: 'Resetting token allowance',
6
- MESSAGE_REQUIRED: 'Sign token allowance message',
7
16
  PENDING: 'Waiting for token allowance',
8
17
  DONE: 'Token allowance set',
9
18
  },
@@ -22,6 +31,7 @@ const actionMessages = {
22
31
  DONE: 'Bridge transaction confirmed',
23
32
  },
24
33
  RECEIVING_CHAIN: {
34
+ STARTED: 'Waiting for destination chain',
25
35
  PENDING: 'Waiting for destination chain',
26
36
  DONE: 'Bridge completed',
27
37
  },
@@ -31,6 +41,12 @@ const actionMessages = {
31
41
  PENDING: 'Waiting for permit message',
32
42
  DONE: 'Permit message signed',
33
43
  },
44
+ NATIVE_PERMIT: {
45
+ STARTED: 'Preparing transaction',
46
+ ACTION_REQUIRED: 'Sign permit message',
47
+ PENDING: 'Waiting for permit message',
48
+ DONE: 'Permit message signed',
49
+ },
34
50
  };
35
51
  const substatusMessages = {
36
52
  PENDING: {
@@ -1 +1 @@
1
- {"version":3,"file":"actionMessages.js","sourceRoot":"","sources":["../../../src/core/actionMessages.ts"],"names":[],"mappings":"AAMA,MAAM,cAAc,GAGhB;IACF,eAAe,EAAE;QACf,OAAO,EAAE,yBAAyB;QAClC,eAAe,EAAE,qBAAqB;QACtC,cAAc,EAAE,2BAA2B;QAC3C,gBAAgB,EAAE,8BAA8B;QAChD,OAAO,EAAE,6BAA6B;QACtC,IAAI,EAAE,qBAAqB;KAC5B;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,4BAA4B;QACrC,eAAe,EAAE,uBAAuB;QACxC,gBAAgB,EAAE,mBAAmB;QACrC,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,gBAAgB;KACvB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,8BAA8B;QACvC,eAAe,EAAE,yBAAyB;QAC1C,gBAAgB,EAAE,qBAAqB;QACvC,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,8BAA8B;KACrC;IACD,eAAe,EAAE;QACf,OAAO,EAAE,+BAA+B;QACxC,IAAI,EAAE,kBAAkB;KACzB;IACD,MAAM,EAAE;QACN,OAAO,EAAE,uBAAuB;QAChC,eAAe,EAAE,qBAAqB;QACtC,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,uBAAuB;KAC9B;CACF,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,gBAAgB,CAC9B,IAAyB,EACzB,MAA6B;IAE7B,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IAClD,OAAO,aAAa,CAAA;AACtB,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
+ {"version":3,"file":"actionMessages.js","sourceRoot":"","sources":["../../../src/core/actionMessages.ts"],"names":[],"mappings":"AAMA,MAAM,cAAc,GAGhB;IACF,eAAe,EAAE;QACf,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,mCAAmC;QAC5C,IAAI,EAAE,yBAAyB;KAChC;IACD,eAAe,EAAE;QACf,OAAO,EAAE,2BAA2B;QACpC,cAAc,EAAE,2BAA2B;QAC3C,OAAO,EAAE,mCAAmC;QAC5C,IAAI,EAAE,uBAAuB;KAC9B;IACD,aAAa,EAAE;QACb,OAAO,EAAE,yBAAyB;QAClC,eAAe,EAAE,qBAAqB;QACtC,OAAO,EAAE,6BAA6B;QACtC,IAAI,EAAE,qBAAqB;KAC5B;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,4BAA4B;QACrC,eAAe,EAAE,uBAAuB;QACxC,gBAAgB,EAAE,mBAAmB;QACrC,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,gBAAgB;KACvB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,8BAA8B;QACvC,eAAe,EAAE,yBAAyB;QAC1C,gBAAgB,EAAE,qBAAqB;QACvC,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,8BAA8B;KACrC;IACD,eAAe,EAAE;QACf,OAAO,EAAE,+BAA+B;QACxC,OAAO,EAAE,+BAA+B;QACxC,IAAI,EAAE,kBAAkB;KACzB;IACD,MAAM,EAAE;QACN,OAAO,EAAE,uBAAuB;QAChC,eAAe,EAAE,qBAAqB;QACtC,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,uBAAuB;KAC9B;IACD,aAAa,EAAE;QACb,OAAO,EAAE,uBAAuB;QAChC,eAAe,EAAE,qBAAqB;QACtC,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,uBAAuB;KAC9B;CACF,CAAA;AAED,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,gBAAgB,CAC9B,IAAyB,EACzB,MAA6B;IAE7B,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IAClD,OAAO,aAAa,CAAA;AACtB,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,5 +1,5 @@
1
1
  import { LiFiErrorCode } from '../errors/constants.js';
2
- import { ProviderError } from '../errors/errors.js';
2
+ import { ExecuteStepRetryError, ProviderError } from '../errors/errors.js';
3
3
  import { executionState } from './executionState.js';
4
4
  import { prepareRestart } from './prepareRestart.js';
5
5
  /**
@@ -64,7 +64,6 @@ const executeSteps = async (client, route) => {
64
64
  const step = route.steps[index];
65
65
  const previousStep = route.steps[index - 1];
66
66
  // Check if the step is already done
67
- //
68
67
  if (step.execution?.status === 'DONE') {
69
68
  continue;
70
69
  }
@@ -94,7 +93,19 @@ const executeSteps = async (client, route) => {
94
93
  if (execution.executionOptions) {
95
94
  updateRouteExecution(route, execution.executionOptions);
96
95
  }
97
- const executedStep = await stepExecutor.executeStep(client, step);
96
+ let executedStep;
97
+ try {
98
+ executedStep = await stepExecutor.executeStep(client, step);
99
+ }
100
+ catch (e) {
101
+ if (e instanceof ExecuteStepRetryError) {
102
+ step.execution = undefined;
103
+ executedStep = await stepExecutor.executeStep(client, step, e.retryParams);
104
+ }
105
+ else {
106
+ throw e;
107
+ }
108
+ }
98
109
  // We may reach this point if user interaction isn't allowed. We want to stop execution until we resume it
99
110
  if (executedStep.execution?.status !== 'DONE') {
100
111
  stopRouteExecution(route);
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/core/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/core/execution.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,8 @@ export const prepareRestart = (route) => {
3
3
  const step = route.steps[index];
4
4
  if (step.execution) {
5
5
  // Find the index of the last action that has tx hash, taskId, or signed messages
6
- const lastValidIndex = step.execution.actions.findLastIndex((action) => (!!action.txHash ||
7
- !!action.taskId ||
8
- !!action.signedTypedData?.length) &&
6
+ const lastValidIndex = step.execution.actions.findLastIndex((action) => ['SWAP', 'CROSS_CHAIN', 'RECEIVING_CHAIN'].includes(action.type) &&
7
+ (!!action.txHash || !!action.taskId) &&
9
8
  action.status !== 'FAILED');
10
9
  // Keep all actions up to the one with tx hash
11
10
  if (lastValidIndex >= 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"prepareRestart.js","sourceRoot":"","sources":["../../../src/core/prepareRestart.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAE,EAAE;IACrD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,iFAAiF;YACjF,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CACzD,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;gBACd,CAAC,CAAC,MAAM,CAAC,MAAM;gBACf,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC;gBACnC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAC7B,CAAA;YAED,8CAA8C;YAC9C,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CACnD,CAAC,EACD,cAAc,GAAG,CAAC,CACnB,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAA;YAC7B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;IACrC,CAAC;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"prepareRestart.js","sourceRoot":"","sources":["../../../src/core/prepareRestart.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAE,EAAE;IACrD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,iFAAiF;YACjF,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CACzD,CAAC,MAAM,EAAE,EAAE,CACT,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;gBAChE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBACpC,MAAM,CAAC,MAAM,KAAK,QAAQ,CAC7B,CAAA;YAED,8CAA8C;YAC9C,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CACnD,CAAC,EACD,cAAc,GAAG,CAAC,CACnB,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAA;YAC7B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;IACrC,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ export interface SDKStorage {
2
+ get(key: string): string | null | Promise<string | null>;
3
+ set(key: string, value: string): void | Promise<void>;
4
+ remove(key: string): void | Promise<void>;
5
+ }
6
+ export declare class LocalStorageAdapter implements SDKStorage {
7
+ get(key: string): string | null;
8
+ set(key: string, value: string): void;
9
+ remove(key: string): void;
10
+ }
11
+ export declare class InMemoryStorage implements SDKStorage {
12
+ private store;
13
+ get(key: string): string | null;
14
+ set(key: string, value: string): void;
15
+ remove(key: string): void;
16
+ }
17
+ export declare function createDefaultStorage(): SDKStorage;
@@ -0,0 +1,30 @@
1
+ export class LocalStorageAdapter {
2
+ get(key) {
3
+ return window.localStorage.getItem(key);
4
+ }
5
+ set(key, value) {
6
+ window.localStorage.setItem(key, value);
7
+ }
8
+ remove(key) {
9
+ window.localStorage.removeItem(key);
10
+ }
11
+ }
12
+ export class InMemoryStorage {
13
+ store = new Map();
14
+ get(key) {
15
+ return this.store.get(key) ?? null;
16
+ }
17
+ set(key, value) {
18
+ this.store.set(key, value);
19
+ }
20
+ remove(key) {
21
+ this.store.delete(key);
22
+ }
23
+ }
24
+ export function createDefaultStorage() {
25
+ if (typeof window !== 'undefined' && window.localStorage) {
26
+ return new LocalStorageAdapter();
27
+ }
28
+ return new InMemoryStorage();
29
+ }
30
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/core/storage.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,mBAAmB;IAC9B,GAAG,CAAC,GAAW;QACb,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAa;QAC5B,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IAClB,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEzC,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;IACpC,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAa;QAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB;IAClC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACzD,OAAO,IAAI,mBAAmB,EAAE,CAAA;IAClC,CAAC;IACD,OAAO,IAAI,eAAe,EAAE,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { StepExecutorContext, TaskResult } from '../../types/execution.js';
2
+ import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js';
3
+ export declare class CheckBalanceTask extends BaseStepExecutionTask {
4
+ run(context: StepExecutorContext): Promise<TaskResult>;
5
+ }
@@ -0,0 +1,22 @@
1
+ import { LiFiErrorCode } from '../../errors/constants.js';
2
+ import { TransactionError } from '../../errors/errors.js';
3
+ import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js';
4
+ import { checkBalance } from './helpers/checkBalance.js';
5
+ export class CheckBalanceTask extends BaseStepExecutionTask {
6
+ async run(context) {
7
+ const { client, step, statusManager, isBridgeExecution } = context;
8
+ statusManager.initializeAction({
9
+ step,
10
+ type: isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP',
11
+ chainId: step.action.fromChainId,
12
+ status: 'STARTED',
13
+ });
14
+ const walletAddress = step.action.fromAddress;
15
+ if (!walletAddress) {
16
+ throw new TransactionError(LiFiErrorCode.InternalError, 'The wallet address is undefined.');
17
+ }
18
+ await checkBalance(client, walletAddress, step);
19
+ return { status: 'COMPLETED' };
20
+ }
21
+ }
22
+ //# sourceMappingURL=CheckBalanceTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckBalanceTask.js","sourceRoot":"","sources":["../../../../src/core/tasks/CheckBalanceTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,OAAO,gBAAiB,SAAQ,qBAAqB;IACzD,KAAK,CAAC,GAAG,CAAC,OAA4B;QACpC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAA;QAElE,aAAa,CAAC,gBAAgB,CAAC;YAC7B,IAAI;YACJ,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;YAChD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAChC,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,aAAa,EAC3B,kCAAkC,CACnC,CAAA;QACH,CAAC;QAED,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;QAC/C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;IAChC,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ import type { StepExecutorContext, TaskResult } from '../../types/execution.js';
2
+ import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js';
3
+ export declare class PrepareTransactionTask extends BaseStepExecutionTask {
4
+ run(context: StepExecutorContext): Promise<TaskResult>;
5
+ }
@@ -0,0 +1,32 @@
1
+ import { getStepTransaction } from '../../actions/getStepTransaction.js';
2
+ import { LiFiErrorCode } from '../../errors/constants.js';
3
+ import { TransactionError } from '../../errors/errors.js';
4
+ import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js';
5
+ import { stepComparison } from './helpers/stepComparison.js';
6
+ export class PrepareTransactionTask extends BaseStepExecutionTask {
7
+ async run(context) {
8
+ const { client, step, statusManager, allowUserInteraction, executionOptions, isBridgeExecution, } = context;
9
+ const action = statusManager.findAction(step, isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP');
10
+ if (!action) {
11
+ throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction. Action not found.');
12
+ }
13
+ if (!step.transactionRequest) {
14
+ const { execution, ...stepBase } = step;
15
+ const updatedStep = await getStepTransaction(client, stepBase);
16
+ const comparedStep = await stepComparison(statusManager, step, updatedStep, allowUserInteraction, executionOptions);
17
+ Object.assign(step, {
18
+ ...comparedStep,
19
+ execution: step.execution,
20
+ });
21
+ }
22
+ if (!step.transactionRequest?.data) {
23
+ throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction. Transaction request data is not found.');
24
+ }
25
+ statusManager.updateAction(step, action.type, 'ACTION_REQUIRED');
26
+ if (!allowUserInteraction) {
27
+ return { status: 'PAUSED' };
28
+ }
29
+ return { status: 'COMPLETED' };
30
+ }
31
+ }
32
+ //# sourceMappingURL=PrepareTransactionTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrepareTransactionTask.js","sourceRoot":"","sources":["../../../../src/core/tasks/PrepareTransactionTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE5D,MAAM,OAAO,sBAAuB,SAAQ,qBAAqB;IAC/D,KAAK,CAAC,GAAG,CAAC,OAA4B;QACpC,MAAM,EACJ,MAAM,EACN,IAAI,EACJ,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,GAClB,GAAG,OAAO,CAAA;QAEX,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CACrC,IAAI,EACJ,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAC3C,CAAA;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,kDAAkD,CACnD,CAAA;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAA;YACvC,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC9D,MAAM,YAAY,GAAG,MAAM,cAAc,CACvC,aAAa,EACb,IAAI,EACJ,WAAW,EACX,oBAAoB,EACpB,gBAAgB,CACjB,CAAA;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;gBAClB,GAAG,YAAY;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,uEAAuE,CACxE,CAAA;QACH,CAAC;QAED,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;QAEhE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QAC7B,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;IAChC,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ import type { ExecutionActionType } from '../../types/core.js';
2
+ import type { StepExecutorContext, TaskResult } from '../../types/execution.js';
3
+ import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js';
4
+ export declare class WaitForTransactionStatusTask extends BaseStepExecutionTask {
5
+ readonly actionType: ExecutionActionType;
6
+ constructor(actionType: ExecutionActionType);
7
+ run(context: StepExecutorContext): Promise<TaskResult>;
8
+ }