@lifi/sdk 4.0.0-alpha.9 → 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 (239) 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 +12 -10
  16. package/dist/cjs/core/StatusManager.js +35 -33
  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.js +19 -3
  22. package/dist/cjs/core/actionMessages.js.map +1 -1
  23. package/dist/cjs/core/execution.js +13 -1
  24. package/dist/cjs/core/execution.js.map +1 -1
  25. package/dist/cjs/core/prepareRestart.js +3 -3
  26. package/dist/cjs/core/prepareRestart.js.map +1 -1
  27. package/dist/cjs/core/storage.d.ts +17 -0
  28. package/dist/cjs/core/storage.js +36 -0
  29. package/dist/cjs/core/storage.js.map +1 -0
  30. package/dist/cjs/core/tasks/CheckBalanceTask.d.ts +5 -0
  31. package/dist/cjs/core/tasks/CheckBalanceTask.js +26 -0
  32. package/dist/cjs/core/tasks/CheckBalanceTask.js.map +1 -0
  33. package/dist/cjs/core/tasks/PrepareTransactionTask.d.ts +5 -0
  34. package/dist/cjs/core/tasks/PrepareTransactionTask.js +36 -0
  35. package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -0
  36. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.d.ts +8 -0
  37. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +73 -0
  38. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  39. package/dist/cjs/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  40. package/dist/cjs/core/{checkBalance.js → tasks/helpers/checkBalance.js} +4 -4
  41. package/dist/cjs/core/tasks/helpers/checkBalance.js.map +1 -0
  42. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.d.ts +2 -0
  43. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js +30 -0
  44. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  45. package/dist/cjs/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  46. package/dist/cjs/core/{stepComparison.js → tasks/helpers/stepComparison.js} +3 -3
  47. package/dist/cjs/core/tasks/helpers/stepComparison.js.map +1 -0
  48. package/dist/cjs/core/{waitForTransactionStatus.d.ts → tasks/helpers/waitForTransactionStatus.d.ts} +2 -2
  49. package/dist/cjs/core/{waitForTransactionStatus.js → tasks/helpers/waitForTransactionStatus.js} +7 -5
  50. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  51. package/dist/cjs/core/utils.d.ts +6 -1
  52. package/dist/cjs/errors/constants.d.ts +2 -1
  53. package/dist/cjs/errors/constants.js +1 -0
  54. package/dist/cjs/errors/constants.js.map +1 -1
  55. package/dist/cjs/errors/errors.d.ts +5 -0
  56. package/dist/cjs/errors/errors.js +9 -1
  57. package/dist/cjs/errors/errors.js.map +1 -1
  58. package/dist/cjs/index.d.ts +15 -6
  59. package/dist/cjs/index.js +26 -7
  60. package/dist/cjs/index.js.map +1 -1
  61. package/dist/cjs/types/core.d.ts +15 -6
  62. package/dist/cjs/types/execution.d.ts +22 -0
  63. package/dist/cjs/types/execution.js +3 -0
  64. package/dist/cjs/types/execution.js.map +1 -0
  65. package/dist/cjs/utils/waitForResult.d.ts +1 -1
  66. package/dist/cjs/utils/waitForResult.js +6 -2
  67. package/dist/cjs/utils/waitForResult.js.map +1 -1
  68. package/dist/cjs/utils/withDedupe.d.ts +5 -0
  69. package/dist/cjs/utils/withDedupe.js +2 -0
  70. package/dist/cjs/utils/withDedupe.js.map +1 -1
  71. package/dist/cjs/version.d.ts +1 -1
  72. package/dist/cjs/version.js +1 -1
  73. package/dist/cjs/version.js.map +1 -1
  74. package/dist/esm/actions/getQuote.js +2 -1
  75. package/dist/esm/actions/getQuote.js.map +1 -1
  76. package/dist/esm/actions/getRelayedTransactionStatus.js +1 -1
  77. package/dist/esm/actions/getRelayedTransactionStatus.js.map +1 -1
  78. package/dist/esm/actions/getRelayerQuote.js +2 -1
  79. package/dist/esm/actions/getRelayerQuote.js.map +1 -1
  80. package/dist/esm/actions/getStepTransaction.js +18 -1
  81. package/dist/esm/actions/getStepTransaction.js.map +1 -1
  82. package/dist/esm/core/BaseStepExecutionTask.d.ts +5 -0
  83. package/dist/esm/core/BaseStepExecutionTask.js +6 -0
  84. package/dist/esm/core/BaseStepExecutionTask.js.map +1 -0
  85. package/dist/esm/core/BaseStepExecutor.d.ts +10 -3
  86. package/dist/esm/core/BaseStepExecutor.js +53 -0
  87. package/dist/esm/core/BaseStepExecutor.js.map +1 -1
  88. package/dist/esm/core/StatusManager.d.ts +29 -27
  89. package/dist/esm/core/StatusManager.js +52 -50
  90. package/dist/esm/core/StatusManager.js.map +1 -1
  91. package/dist/esm/core/TaskPipeline.d.ts +7 -0
  92. package/dist/esm/core/TaskPipeline.js +23 -0
  93. package/dist/esm/core/TaskPipeline.js.map +1 -0
  94. package/dist/esm/core/actionMessages.js +19 -3
  95. package/dist/esm/core/actionMessages.js.map +1 -1
  96. package/dist/esm/core/execution.js +14 -3
  97. package/dist/esm/core/execution.js.map +1 -1
  98. package/dist/esm/core/prepareRestart.js +4 -3
  99. package/dist/esm/core/prepareRestart.js.map +1 -1
  100. package/dist/esm/core/storage.d.ts +17 -0
  101. package/dist/esm/core/storage.js +30 -0
  102. package/dist/esm/core/storage.js.map +1 -0
  103. package/dist/esm/core/tasks/CheckBalanceTask.d.ts +5 -0
  104. package/dist/esm/core/tasks/CheckBalanceTask.js +22 -0
  105. package/dist/esm/core/tasks/CheckBalanceTask.js.map +1 -0
  106. package/dist/esm/core/tasks/PrepareTransactionTask.d.ts +5 -0
  107. package/dist/esm/core/tasks/PrepareTransactionTask.js +32 -0
  108. package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -0
  109. package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts +8 -0
  110. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +74 -0
  111. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  112. package/dist/esm/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  113. package/dist/esm/core/{checkBalance.js → tasks/helpers/checkBalance.js} +4 -4
  114. package/dist/esm/core/tasks/helpers/checkBalance.js.map +1 -0
  115. package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts +2 -0
  116. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js +26 -0
  117. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  118. package/dist/esm/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  119. package/dist/esm/core/{stepComparison.js → tasks/helpers/stepComparison.js} +3 -3
  120. package/dist/esm/core/tasks/helpers/stepComparison.js.map +1 -0
  121. package/dist/esm/core/{waitForTransactionStatus.d.ts → tasks/helpers/waitForTransactionStatus.d.ts} +2 -2
  122. package/dist/esm/core/{waitForTransactionStatus.js → tasks/helpers/waitForTransactionStatus.js} +7 -5
  123. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  124. package/dist/esm/core/utils.d.ts +6 -1
  125. package/dist/esm/errors/constants.d.ts +2 -1
  126. package/dist/esm/errors/constants.js +1 -0
  127. package/dist/esm/errors/constants.js.map +1 -1
  128. package/dist/esm/errors/errors.d.ts +10 -0
  129. package/dist/esm/errors/errors.js +12 -0
  130. package/dist/esm/errors/errors.js.map +1 -1
  131. package/dist/esm/index.d.ts +15 -6
  132. package/dist/esm/index.js +12 -5
  133. package/dist/esm/index.js.map +1 -1
  134. package/dist/esm/types/core.d.ts +19 -6
  135. package/dist/esm/types/execution.d.ts +23 -0
  136. package/dist/esm/types/execution.js +2 -0
  137. package/dist/esm/types/execution.js.map +1 -0
  138. package/dist/esm/utils/waitForResult.d.ts +2 -2
  139. package/dist/esm/utils/waitForResult.js +7 -3
  140. package/dist/esm/utils/waitForResult.js.map +1 -1
  141. package/dist/esm/utils/withDedupe.d.ts +10 -0
  142. package/dist/esm/utils/withDedupe.js +1 -1
  143. package/dist/esm/utils/withDedupe.js.map +1 -1
  144. package/dist/esm/version.d.ts +1 -1
  145. package/dist/esm/version.js +1 -1
  146. package/dist/esm/version.js.map +1 -1
  147. package/dist/types/actions/getRelayerQuote.d.ts.map +1 -1
  148. package/dist/types/actions/getStepTransaction.d.ts.map +1 -1
  149. package/dist/types/core/BaseStepExecutionTask.d.ts +6 -0
  150. package/dist/types/core/BaseStepExecutionTask.d.ts.map +1 -0
  151. package/dist/types/core/BaseStepExecutor.d.ts +10 -3
  152. package/dist/types/core/BaseStepExecutor.d.ts.map +1 -1
  153. package/dist/types/core/StatusManager.d.ts +29 -27
  154. package/dist/types/core/StatusManager.d.ts.map +1 -1
  155. package/dist/types/core/TaskPipeline.d.ts +8 -0
  156. package/dist/types/core/TaskPipeline.d.ts.map +1 -0
  157. package/dist/types/core/actionMessages.d.ts.map +1 -1
  158. package/dist/types/core/execution.d.ts.map +1 -1
  159. package/dist/types/core/prepareRestart.d.ts.map +1 -1
  160. package/dist/types/core/storage.d.ts +18 -0
  161. package/dist/types/core/storage.d.ts.map +1 -0
  162. package/dist/types/core/tasks/CheckBalanceTask.d.ts +6 -0
  163. package/dist/types/core/tasks/CheckBalanceTask.d.ts.map +1 -0
  164. package/dist/types/core/tasks/PrepareTransactionTask.d.ts +6 -0
  165. package/dist/types/core/tasks/PrepareTransactionTask.d.ts.map +1 -0
  166. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts +9 -0
  167. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts.map +1 -0
  168. package/dist/types/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  169. package/dist/types/core/tasks/helpers/checkBalance.d.ts.map +1 -0
  170. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts +3 -0
  171. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts.map +1 -0
  172. package/dist/types/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  173. package/dist/types/core/tasks/helpers/stepComparison.d.ts.map +1 -0
  174. package/dist/types/core/{waitForTransactionStatus.d.ts → tasks/helpers/waitForTransactionStatus.d.ts} +2 -2
  175. package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts.map +1 -0
  176. package/dist/types/core/utils.d.ts +6 -1
  177. package/dist/types/core/utils.d.ts.map +1 -1
  178. package/dist/types/errors/constants.d.ts +2 -1
  179. package/dist/types/errors/constants.d.ts.map +1 -1
  180. package/dist/types/errors/errors.d.ts +10 -0
  181. package/dist/types/errors/errors.d.ts.map +1 -1
  182. package/dist/types/index.d.ts +15 -6
  183. package/dist/types/index.d.ts.map +1 -1
  184. package/dist/types/types/core.d.ts +19 -6
  185. package/dist/types/types/core.d.ts.map +1 -1
  186. package/dist/types/types/execution.d.ts +24 -0
  187. package/dist/types/types/execution.d.ts.map +1 -0
  188. package/dist/types/utils/waitForResult.d.ts +2 -2
  189. package/dist/types/utils/waitForResult.d.ts.map +1 -1
  190. package/dist/types/utils/withDedupe.d.ts +10 -0
  191. package/dist/types/utils/withDedupe.d.ts.map +1 -1
  192. package/dist/types/version.d.ts +1 -1
  193. package/dist/types/version.d.ts.map +1 -1
  194. package/package.json +2 -2
  195. package/src/actions/getQuote.ts +4 -1
  196. package/src/actions/getRelayedTransactionStatus.ts +1 -1
  197. package/src/actions/getRelayerQuote.ts +4 -1
  198. package/src/actions/getStepTransaction.ts +27 -11
  199. package/src/core/BaseStepExecutionTask.ts +9 -0
  200. package/src/core/BaseStepExecutor.ts +91 -2
  201. package/src/core/StatusManager.ts +66 -61
  202. package/src/core/TaskPipeline.ts +28 -0
  203. package/src/core/actionMessages.ts +20 -3
  204. package/src/core/execution.ts +17 -3
  205. package/src/core/prepareRestart.ts +4 -3
  206. package/src/core/storage.ts +42 -0
  207. package/src/core/tasks/CheckBalanceTask.ts +29 -0
  208. package/src/core/tasks/PrepareTransactionTask.ts +62 -0
  209. package/src/core/tasks/WaitForTransactionStatusTask.ts +114 -0
  210. package/src/core/{checkBalance.ts → tasks/helpers/checkBalance.ts} +5 -5
  211. package/src/core/tasks/helpers/getTransactionRequestData.ts +47 -0
  212. package/src/core/{stepComparison.ts → tasks/helpers/stepComparison.ts} +5 -5
  213. package/src/core/{waitForTransactionStatus.ts → tasks/helpers/waitForTransactionStatus.ts} +9 -7
  214. package/src/errors/constants.ts +1 -0
  215. package/src/errors/errors.ts +24 -0
  216. package/src/index.ts +24 -4
  217. package/src/types/core.ts +23 -13
  218. package/src/types/execution.ts +32 -0
  219. package/src/utils/waitForResult.ts +9 -4
  220. package/src/utils/withDedupe.ts +1 -1
  221. package/src/version.ts +1 -1
  222. package/dist/cjs/core/checkBalance.js.map +0 -1
  223. package/dist/cjs/core/stepComparison.js.map +0 -1
  224. package/dist/cjs/core/waitForDestinationChainTransaction.d.ts +0 -4
  225. package/dist/cjs/core/waitForDestinationChainTransaction.js +0 -71
  226. package/dist/cjs/core/waitForDestinationChainTransaction.js.map +0 -1
  227. package/dist/cjs/core/waitForTransactionStatus.js.map +0 -1
  228. package/dist/esm/core/checkBalance.js.map +0 -1
  229. package/dist/esm/core/stepComparison.js.map +0 -1
  230. package/dist/esm/core/waitForDestinationChainTransaction.d.ts +0 -4
  231. package/dist/esm/core/waitForDestinationChainTransaction.js +0 -74
  232. package/dist/esm/core/waitForDestinationChainTransaction.js.map +0 -1
  233. package/dist/esm/core/waitForTransactionStatus.js.map +0 -1
  234. package/dist/types/core/checkBalance.d.ts.map +0 -1
  235. package/dist/types/core/stepComparison.d.ts.map +0 -1
  236. package/dist/types/core/waitForDestinationChainTransaction.d.ts +0 -5
  237. package/dist/types/core/waitForDestinationChainTransaction.d.ts.map +0 -1
  238. package/dist/types/core/waitForTransactionStatus.d.ts.map +0 -1
  239. package/src/core/waitForDestinationChainTransaction.ts +0 -112
@@ -1,7 +1,7 @@
1
- import { getTokenBalance } from '../actions/getTokenBalance.js';
2
- import { BalanceError } from '../errors/errors.js';
3
- import { formatUnits } from '../utils/formatUnits.js';
4
- import { sleep } from '../utils/sleep.js';
1
+ import { getTokenBalance } from '../../../actions/getTokenBalance.js';
2
+ import { BalanceError } from '../../../errors/errors.js';
3
+ import { formatUnits } from '../../../utils/formatUnits.js';
4
+ import { sleep } from '../../../utils/sleep.js';
5
5
  export const checkBalance = async (client, walletAddress, step, depth = 0) => {
6
6
  const token = await getTokenBalance(client, walletAddress, step.action.fromToken);
7
7
  if (token) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../../../../src/core/tasks/helpers/checkBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAiB,EACjB,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CACjC,MAAM,EACN,aAAa,EACb,IAAI,CAAC,MAAM,CAAC,SAAS,CACtB,CAAA;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YAC5D,CAAC;iBAAM,IACL,CAAC,aAAa;gBACZ,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;gBAC1D,WAAc;gBAChB,cAAc,EACd,CAAC;gBACD,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACzD,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,YAAY,GAAG,QAAQ,KAAK,CAAC,MAAM,4CAA4C,MAAM,IAAI,KAAK,CAAC,MAAM,gCAAgC,OAAO,IAAI,KAAK,CAAC,MAAM,4BAA4B,CAAA;gBAE5L,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;oBAC1B,YAAY,IAAI,8FAA8F,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;gBAC1I,CAAC;gBAED,MAAM,IAAI,YAAY,CACpB,yBAAyB,EACzB,IAAI,KAAK,CAAC,YAAY,CAAC,CACxB,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ import type { ExecutionOptions, LiFiStepExtended } from '../../../types/core.js';
2
+ export declare const getTransactionRequestData: (step: LiFiStepExtended, executionOptions?: ExecutionOptions) => Promise<string>;
@@ -0,0 +1,26 @@
1
+ import { LiFiErrorCode } from '../../../errors/constants.js';
2
+ import { TransactionError } from '../../../errors/errors.js';
3
+ export const getTransactionRequestData = async (step, executionOptions) => {
4
+ if (!step.transactionRequest?.data) {
5
+ throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction. Transaction request data is not found.');
6
+ }
7
+ let transactionRequest = {
8
+ data: step.transactionRequest.data,
9
+ };
10
+ if (executionOptions?.updateTransactionRequestHook) {
11
+ const customizedTransactionRequest = await executionOptions.updateTransactionRequestHook({
12
+ requestType: 'transaction',
13
+ ...transactionRequest,
14
+ });
15
+ transactionRequest = {
16
+ ...transactionRequest,
17
+ ...customizedTransactionRequest,
18
+ };
19
+ }
20
+ const transactionRequestData = transactionRequest.data;
21
+ if (!transactionRequestData) {
22
+ throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction. Transaction request data is not found.');
23
+ }
24
+ return transactionRequestData;
25
+ };
26
+ //# sourceMappingURL=getTransactionRequestData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTransactionRequestData.js","sourceRoot":"","sources":["../../../../../src/core/tasks/helpers/getTransactionRequestData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAO5D,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,IAAsB,EACtB,gBAAmC,EAClB,EAAE;IACnB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,uEAAuE,CACxE,CAAA;IACH,CAAC;IAED,IAAI,kBAAkB,GAA0B;QAC9C,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI;KACnC,CAAA;IAED,IAAI,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;QACnD,MAAM,4BAA4B,GAChC,MAAM,gBAAgB,CAAC,4BAA4B,CAAC;YAClD,WAAW,EAAE,aAAa;YAC1B,GAAG,kBAAkB;SACtB,CAAC,CAAA;QAEJ,kBAAkB,GAAG;YACnB,GAAG,kBAAkB;YACrB,GAAG,4BAA4B;SAChC,CAAA;IACH,CAAC;IAED,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,IAAI,CAAA;IAEtD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,uEAAuE,CACxE,CAAA;IACH,CAAC;IAED,OAAO,sBAAsB,CAAA;AAC/B,CAAC,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import type { LiFiStep } from '@lifi/types';
2
- import type { ExecutionOptions } from '../types/core.js';
3
- import type { StatusManager } from './StatusManager.js';
2
+ import type { StatusManager } from '../../../core/StatusManager.js';
3
+ import type { ExecutionOptions } from '../../../types/core.js';
4
4
  /**
5
5
  * This method checks whether the new and updated Step meets the required exchange rate conditions.
6
6
  * If yes it returns the updated Step.
@@ -1,6 +1,6 @@
1
- import { LiFiErrorCode } from '../errors/constants.js';
2
- import { TransactionError } from '../errors/errors.js';
3
- import { checkStepSlippageThreshold } from './utils.js';
1
+ import { checkStepSlippageThreshold } from '../../../core/utils.js';
2
+ import { LiFiErrorCode } from '../../../errors/constants.js';
3
+ import { TransactionError } from '../../../errors/errors.js';
4
4
  /**
5
5
  * This method checks whether the new and updated Step meets the required exchange rate conditions.
6
6
  * If yes it returns the updated Step.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepComparison.js","sourceRoot":"","sources":["../../../../../src/core/tasks/helpers/stepComparison.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAG5D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,aAA4B,EAC5B,OAAiB,EACjB,OAAiB,EACjB,oBAA6B,EAC7B,gBAAmC,EAChB,EAAE;IACrB,uEAAuE;IACvE,IAAI,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,eAAoC,CAAA;IACxC,IAAI,oBAAoB,EAAE,CAAC;QACzB,eAAe,GAAG,MAAM,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;YACvE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,0EAA0E;QAC1E,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,0BAA0B,EACxC,+LAA+L,CAChM,CAAA;IACH,CAAC;IAED,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import type { LiFiStep, StatusResponse } from '@lifi/types';
2
- import type { ExecutionActionType, SDKClient } from '../types/core.js';
3
- import type { StatusManager } from './StatusManager.js';
2
+ import type { ExecutionActionType, SDKClient } from '../../../types/core.js';
3
+ import type { StatusManager } from '../../StatusManager.js';
4
4
  export declare function waitForTransactionStatus(client: SDKClient, statusManager: StatusManager, txHash: string, step: LiFiStep, actionType: ExecutionActionType, interval?: number): Promise<StatusResponse>;
@@ -1,7 +1,7 @@
1
- import { getStatus } from '../actions/getStatus.js';
2
- import { ServerError } from '../errors/errors.js';
3
- import { waitForResult } from '../utils/waitForResult.js';
4
- import { getSubstatusMessage } from './actionMessages.js';
1
+ import { getStatus } from '../../../actions/getStatus.js';
2
+ import { ServerError } from '../../../errors/errors.js';
3
+ import { waitForResult } from '../../../utils/waitForResult.js';
4
+ import { getSubstatusMessage } from '../../actionMessages.js';
5
5
  const TRANSACTION_HASH_OBSERVERS = {};
6
6
  export async function waitForTransactionStatus(client, statusManager, txHash, step, actionType, interval = 5_000) {
7
7
  const _getStatus = () => {
@@ -39,7 +39,9 @@ export async function waitForTransactionStatus(client, statusManager, txHash, st
39
39
  };
40
40
  let status = TRANSACTION_HASH_OBSERVERS[txHash];
41
41
  if (!status) {
42
- status = waitForResult(_getStatus, interval);
42
+ status = waitForResult(_getStatus, interval).finally(() => {
43
+ delete TRANSACTION_HASH_OBSERVERS[txHash];
44
+ });
43
45
  TRANSACTION_HASH_OBSERVERS[txHash] = status;
44
46
  }
45
47
  const resolvedStatus = await status;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForTransactionStatus.js","sourceRoot":"","sources":["../../../../../src/core/tasks/helpers/waitForTransactionStatus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAG7D,MAAM,0BAA0B,GAA4C,EAAE,CAAA;AAE9E,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAiB,EACjB,aAA4B,EAC5B,MAAc,EACd,IAAc,EACd,UAA+B,EAC/B,QAAQ,GAAG,KAAK;IAEhB,MAAM,UAAU,GAAG,GAAwC,EAAE;QAC3D,OAAO,SAAS,CAAC,MAAM,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAClC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAC9B,MAAM;YACN,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SACrD,CAAC;aACC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;YACvB,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC9B,KAAK,MAAM;oBACT,OAAO,cAAc,CAAA;gBACvB,KAAK,SAAS;oBACZ,aAAa,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;wBACvD,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,gBAAgB,EACd,cAAc,CAAC,gBAAgB;4BAC/B,mBAAmB,CACjB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,SAAS,CACzB;wBACH,MAAM,EAAG,cAAiC,CAAC,kBAAkB;qBAC9D,CAAC,CAAA;oBACF,OAAO,SAAS,CAAA;gBAClB,KAAK,WAAW;oBACd,OAAO,SAAS,CAAA;gBAClB;oBACE,OAAO,OAAO,CAAC,MAAM,EAAE,CAAA;YAC3B,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC3C,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YAC1D,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;IAED,IAAI,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAA;IAE/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACxD,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;QACF,0BAA0B,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC7C,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAA;IAEnC,IAAI,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,WAAW,CACnB,uDAAuD,CACxD,CAAA;IACH,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC"}
@@ -82,13 +82,18 @@ export declare function getRpcUrlsFromChains(existingRpcUrls: RPCUrls, chains: E
82
82
  988?: string[] | undefined;
83
83
  4326?: string[] | undefined;
84
84
  3637?: string[] | undefined;
85
- 1151111081099710?: string[] | undefined;
85
+ 5734951?: string[] | undefined;
86
+ 2818?: string[] | undefined;
87
+ 4217?: string[] | undefined;
86
88
  1161011141099710?: string[] | undefined;
87
89
  111971151099710?: string[] | undefined;
90
+ 1151111081099710?: string[] | undefined;
91
+ 1021111031099710?: string[] | undefined;
88
92
  9270000000000000?: string[] | undefined;
89
93
  20000000000001?: string[] | undefined;
90
94
  20000000000002?: string[] | undefined;
91
95
  20000000000003?: string[] | undefined;
92
96
  20000000000004?: string[] | undefined;
97
+ 20000000000005?: string[] | undefined;
93
98
  728126428?: string[] | undefined;
94
99
  };
@@ -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 {
@@ -11,6 +11,7 @@ export var ErrorName;
11
11
  ErrorName["SlippageError"] = "SlippageError";
12
12
  ErrorName["HTTPError"] = "HTTPError";
13
13
  ErrorName["ConfigError"] = "ConfigError";
14
+ ErrorName["ExecuteStepRetryError"] = "ExecuteStepRetryError";
14
15
  })(ErrorName || (ErrorName = {}));
15
16
  export var LiFiErrorCode;
16
17
  (function (LiFiErrorCode) {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/errors/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAYX;AAZD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,oCAAuB,CAAA;IACvB,wCAA2B,CAAA;AAC7B,CAAC,EAZW,SAAS,KAAT,SAAS,QAYpB;AAID,MAAM,CAAN,IAAY,aA4BX;AA5BD,WAAY,aAAa;IACvB,sEAAoB,CAAA;IACpB,0EAAsB,CAAA;IACtB,wFAA6B,CAAA;IAC7B,8EAAwB,CAAA;IACxB,0DAAc,CAAA;IACd,kFAA0B,CAAA;IAC1B,4DAAe,CAAA;IACf,4EAAuB,CAAA;IACvB,sFAA4B,CAAA;IAC5B,sEAAoB,CAAA;IACpB,kFAA0B,CAAA;IAC1B,sEAAoB,CAAA;IACpB,8EAAwB,CAAA;IACxB,oEAAmB,CAAA;IACnB,8EAAwB,CAAA;IACxB,8EAAwB,CAAA;IACxB,gGAAiC,CAAA;IACjC,oGAAmC,CAAA;IACnC,gFAAyB,CAAA;IACzB,kGAAkC,CAAA;IAClC,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,8EAAwB,CAAA;IACxB,0EAAsB,CAAA;IACtB,0EAAsB,CAAA;IACtB,kEAAkB,CAAA;AACpB,CAAC,EA5BW,aAAa,KAAb,aAAa,QA4BxB;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,wDAAwC,CAAA;IACxC,qIAAqH,CAAA;IACrH,qDAAqC,CAAA;IACrC,sEAAsD,CAAA;IACtD,iEAAiD,CAAA;AACnD,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/errors/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAaX;AAbD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,oCAAuB,CAAA;IACvB,wCAA2B,CAAA;IAC3B,4DAA+C,CAAA;AACjD,CAAC,EAbW,SAAS,KAAT,SAAS,QAapB;AAID,MAAM,CAAN,IAAY,aA4BX;AA5BD,WAAY,aAAa;IACvB,sEAAoB,CAAA;IACpB,0EAAsB,CAAA;IACtB,wFAA6B,CAAA;IAC7B,8EAAwB,CAAA;IACxB,0DAAc,CAAA;IACd,kFAA0B,CAAA;IAC1B,4DAAe,CAAA;IACf,4EAAuB,CAAA;IACvB,sFAA4B,CAAA;IAC5B,sEAAoB,CAAA;IACpB,kFAA0B,CAAA;IAC1B,sEAAoB,CAAA;IACpB,8EAAwB,CAAA;IACxB,oEAAmB,CAAA;IACnB,8EAAwB,CAAA;IACxB,8EAAwB,CAAA;IACxB,gGAAiC,CAAA;IACjC,oGAAmC,CAAA;IACnC,gFAAyB,CAAA;IACzB,kGAAkC,CAAA;IAClC,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,8EAAwB,CAAA;IACxB,0EAAsB,CAAA;IACtB,0EAAsB,CAAA;IACtB,kEAAkB,CAAA;AACpB,CAAC,EA5BW,aAAa,KAAb,aAAa,QA4BxB;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,wDAAwC,CAAA;IACxC,qIAAqH,CAAA;IACrH,qDAAqC,CAAA;IACrC,sEAAsD,CAAA;IACtD,iEAAiD,CAAA;AACnD,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
@@ -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,3 +22,12 @@ 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
+ }
@@ -35,4 +35,16 @@ export class ValidationError extends BaseError {
35
35
  super(ErrorName.ValidationError, LiFiErrorCode.ValidationError, message);
36
36
  }
37
37
  }
38
+ /**
39
+ * Thrown by a step executor when executeStep should be retried with the given params
40
+ * (e.g. wallet rejected 7702 upgrade → retry with atomicityNotReady).
41
+ * The execution layer catches this and retries executeStep(client, step, retryParams).
42
+ */
43
+ export class ExecuteStepRetryError extends BaseError {
44
+ retryParams;
45
+ constructor(message, retryParams, cause) {
46
+ super(ErrorName.ExecuteStepRetryError, LiFiErrorCode.InternalError, message, cause);
47
+ this.retryParams = retryParams;
48
+ }
49
+ }
38
50
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/errors/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEzD,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrC,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACtD,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC5E,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3E,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACpE,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/errors/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEzD,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrC,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACtD,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC5E,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3E,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACpE,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,SAAS;IACzC,WAAW,CAAwB;IAE5C,YACE,OAAe,EACf,WAAmC,EACnC,KAAa;QAEb,KAAK,CACH,SAAS,CAAC,qBAAqB,EAC/B,aAAa,CAAC,aAAa,EAC3B,OAAO,EACP,KAAK,CACN,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;CACF"}
@@ -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, 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';
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,4 +52,4 @@ 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';
package/dist/esm/index.js CHANGED
@@ -24,15 +24,22 @@ export { actions } from './actions/index.js';
24
24
  export { patchContractCalls } from './actions/patchContractCalls.js';
25
25
  export { relayTransaction } from './actions/relayTransaction.js';
26
26
  export { createClient } from './client/createClient.js';
27
+ export { getActionMessage, getSubstatusMessage } from './core/actionMessages.js';
28
+ export { BaseStepExecutionTask } from './core/BaseStepExecutionTask.js';
27
29
  export { BaseStepExecutor } from './core/BaseStepExecutor.js';
28
- export { checkBalance } from './core/checkBalance.js';
29
30
  export { executeRoute, getActiveRoute, getActiveRoutes, resumeRoute, stopRouteExecution, updateRouteExecution, } from './core/execution.js';
30
31
  export { StatusManager } from './core/StatusManager.js';
31
- export { stepComparison } from './core/stepComparison.js';
32
- export { waitForDestinationChainTransaction } from './core/waitForDestinationChainTransaction.js';
32
+ export { createDefaultStorage, InMemoryStorage, LocalStorageAdapter, } from './core/storage.js';
33
+ export { TaskPipeline } from './core/TaskPipeline.js';
34
+ export { CheckBalanceTask } from './core/tasks/CheckBalanceTask.js';
35
+ export { checkBalance } from './core/tasks/helpers/checkBalance.js';
36
+ export { getTransactionRequestData } from './core/tasks/helpers/getTransactionRequestData.js';
37
+ export { stepComparison } from './core/tasks/helpers/stepComparison.js';
38
+ export { PrepareTransactionTask } from './core/tasks/PrepareTransactionTask.js';
39
+ export { WaitForTransactionStatusTask } from './core/tasks/WaitForTransactionStatusTask.js';
33
40
  export { BaseError } from './errors/baseError.js';
34
41
  export { ErrorMessage, ErrorName, LiFiErrorCode } from './errors/constants.js';
35
- 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';
36
43
  export { HTTPError } from './errors/httpError.js';
37
44
  export { SDKError } from './errors/SDKError.js';
38
45
  export { checkPackageUpdates } from './utils/checkPackageUpdates.js';
@@ -43,5 +50,5 @@ export { isHex } from './utils/isHex.js';
43
50
  export { parseUnits } from './utils/parseUnits.js';
44
51
  export { sleep } from './utils/sleep.js';
45
52
  export { waitForResult } from './utils/waitForResult.js';
46
- export { withDedupe } from './utils/withDedupe.js';
53
+ export { LruMap, withDedupe } from './utils/withDedupe.js';
47
54
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,qDAAqD;AACrD,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAA;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAEvD,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAA;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAA;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAA;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAC9E,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,aAAa,EACb,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AA4C/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA"}
@@ -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,7 +135,6 @@ 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
  */
@@ -136,29 +142,31 @@ export interface ExecutionOptions {
136
142
  }
137
143
  export type ExecutionStatus = 'ACTION_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE';
138
144
  export type ExecutionActionStatus = 'STARTED' | 'ACTION_REQUIRED' | 'MESSAGE_REQUIRED' | 'RESET_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE' | 'CANCELLED';
139
- export type ExecutionActionType = 'TOKEN_ALLOWANCE' | 'PERMIT' | 'SWAP' | 'CROSS_CHAIN' | 'RECEIVING_CHAIN';
145
+ export type ExecutionActionType = 'PERMIT' | 'CHECK_ALLOWANCE' | 'NATIVE_PERMIT' | 'RESET_ALLOWANCE' | 'SET_ALLOWANCE' | 'SWAP' | 'CROSS_CHAIN' | 'RECEIVING_CHAIN';
140
146
  export type ExecutionAction = {
141
147
  type: ExecutionActionType;
142
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
- message?: string;
157
+ txHex?: string;
150
158
  error?: {
151
159
  code: string | number;
152
160
  message: string;
153
161
  htmlMessage?: string;
154
162
  };
155
- [key: string]: any;
156
163
  };
157
164
  export interface Execution {
158
165
  startedAt: number;
159
166
  signedAt?: number;
160
167
  status: ExecutionStatus;
161
168
  actions: Array<ExecutionAction>;
169
+ lastActionType?: ExecutionActionType;
162
170
  fromAmount?: string;
163
171
  toAmount?: string;
164
172
  toToken?: Token;
@@ -166,5 +174,10 @@ export interface Execution {
166
174
  gasCosts?: GasCost[];
167
175
  internalTxLink?: string;
168
176
  externalTxLink?: string;
177
+ error?: {
178
+ code: string | number;
179
+ message: string;
180
+ htmlMessage?: string;
181
+ };
169
182
  }
170
183
  export type TransactionMethodType = 'standard' | 'relayed' | 'batched';
@@ -0,0 +1,23 @@
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';
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/types/execution.ts"],"names":[],"mappings":""}
@@ -1,10 +1,10 @@
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>;
@@ -2,7 +2,7 @@ import { sleep } from './sleep.js';
2
2
  /**
3
3
  * Repeatedly calls a given asynchronous function until it resolves with a value
4
4
  * @param fn The function that should be repeated
5
- * @param interval The timeout in milliseconds between retries, defaults to 5000
5
+ * @param interval The timeout in milliseconds between retries, or a function that receives the current poll count and returns the interval. Defaults to 5000
6
6
  * @param maxRetries Maximum number of retries before throwing an error, defaults to 3
7
7
  * @param shouldRetry Optional predicate to determine if an error should trigger a retry
8
8
  * @returns The result of the fn function
@@ -11,11 +11,14 @@ import { sleep } from './sleep.js';
11
11
  export const waitForResult = async (fn, interval = 5000, maxRetries = 3, shouldRetry = () => true) => {
12
12
  let result;
13
13
  let attempts = 0;
14
+ let polls = 0;
15
+ const getInterval = typeof interval === 'function' ? interval : () => interval;
14
16
  while (!result) {
15
17
  try {
16
18
  result = await fn();
17
19
  if (!result) {
18
- await sleep(interval);
20
+ await sleep(getInterval(polls));
21
+ polls++;
19
22
  }
20
23
  }
21
24
  catch (error) {
@@ -26,7 +29,8 @@ export const waitForResult = async (fn, interval = 5000, maxRetries = 3, shouldR
26
29
  if (attempts === maxRetries) {
27
30
  throw error;
28
31
  }
29
- await sleep(interval);
32
+ await sleep(getInterval(polls));
33
+ polls++;
30
34
  }
31
35
  }
32
36
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"waitForResult.js","sourceRoot":"","sources":["../../../src/utils/waitForResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,EAAgC,EAChC,QAAQ,GAAG,IAAI,EACf,UAAU,GAAG,CAAC,EACd,cAA0D,GAAG,EAAE,CAAC,IAAI,EACxD,EAAE;IACd,IAAI,MAAqB,CAAA;IACzB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAEhB,OAAO,CAAC,MAAM,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,EAAE,EAAE,CAAA;YACnB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAA;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,KAAK,CAAA;YACb,CAAC;YACD,QAAQ,EAAE,CAAA;YACV,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC5B,MAAM,KAAK,CAAA;YACb,CAAC;YACD,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA"}
1
+ {"version":3,"file":"waitForResult.js","sourceRoot":"","sources":["../../../src/utils/waitForResult.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,EAAgC,EAChC,WAAgD,IAAI,EACpD,UAAU,GAAG,CAAC,EACd,cAA0D,GAAG,EAAE,CAAC,IAAI,EACxD,EAAE;IACd,IAAI,MAAqB,CAAA;IACzB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAA;IAE9E,OAAO,CAAC,MAAM,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,EAAE,EAAE,CAAA;YACnB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC/B,KAAK,EAAE,CAAA;YACT,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,KAAK,CAAA;YACb,CAAC;YACD,QAAQ,EAAE,CAAA;YACV,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC5B,MAAM,KAAK,CAAA;YACb,CAAC;YACD,MAAM,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/B,KAAK,EAAE,CAAA;QACT,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,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;
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU
5
5
  */
6
- class LruMap extends Map {
6
+ export class LruMap extends Map {
7
7
  maxSize;
8
8
  constructor(size) {
9
9
  super();
@@ -1 +1 @@
1
- {"version":3,"file":"withDedupe.js","sourceRoot":"","sources":["../../../src/utils/withDedupe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAwB,SAAQ,GAAkB;IACtD,OAAO,CAAQ;IAEf,YAAY,IAAY;QACtB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAEQ,GAAG,CAAC,GAAW,EAAE,KAAY;QACpC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACrB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,gBAAgB;AAChB,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,MAAM,CAAe,IAAI,CAAC,CAAA;AAOjE,uCAAuC;AACvC,MAAM,UAAU,UAAU,CACxB,EAAoB,EACpB,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE,EAAqB;IAEzC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,CAAA;IACb,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,OAAO,YAAY,CAAC,GAAG,CAAC,EAAE,CAAE,CAAA;IAC9B,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3D,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"withDedupe.js","sourceRoot":"","sources":["../../../src/utils/withDedupe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,MAAwB,SAAQ,GAAkB;IAC7D,OAAO,CAAQ;IAEf,YAAY,IAAY;QACtB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAEQ,GAAG,CAAC,GAAW,EAAE,KAAY;QACpC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACrB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAED,gBAAgB;AAChB,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,MAAM,CAAe,IAAI,CAAC,CAAA;AAOjE,uCAAuC;AACvC,MAAM,UAAU,UAAU,CACxB,EAAoB,EACpB,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE,EAAqB;IAEzC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,CAAA;IACb,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,OAAO,YAAY,CAAC,GAAG,CAAC,EAAE,CAAE,CAAA;IAC9B,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3D,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export declare const name = "@lifi/sdk";
2
- export declare const version = "4.0.0-alpha.9";
2
+ export declare const version = "4.0.0-beta.0";
@@ -1,3 +1,3 @@
1
1
  export const name = '@lifi/sdk';
2
- export const version = '4.0.0-alpha.9';
2
+ export const version = '4.0.0-beta.0';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAA;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAA;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getRelayerQuote.d.ts","sourceRoot":"","sources":["../../../src/actions/getRelayerQuote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAER,cAAc,EACf,MAAM,aAAa,CAAA;AAKpB,OAAO,KAAK,EAAgB,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAC1B,QAAQ,SAAS,EACjB,QAAQ,sBAAsB,EAC9B,UAAU,cAAc,KACvB,OAAO,CAAC,QAAQ,CAyDlB,CAAA"}
1
+ {"version":3,"file":"getRelayerQuote.d.ts","sourceRoot":"","sources":["../../../src/actions/getRelayerQuote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAER,cAAc,EACf,MAAM,aAAa,CAAA;AAKpB,OAAO,KAAK,EAAgB,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAC1B,QAAQ,SAAS,EACjB,QAAQ,sBAAsB,EAC9B,UAAU,cAAc,KACvB,OAAO,CAAC,QAAQ,CA4DlB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"getStepTransaction.d.ts","sourceRoot":"","sources":["../../../src/actions/getStepTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,SAAS,EACjB,MAAM,QAAQ,GAAG,cAAc,EAC/B,UAAU,cAAc,KACvB,OAAO,CAAC,QAAQ,CAkBlB,CAAA"}
1
+ {"version":3,"file":"getStepTransaction.d.ts","sourceRoot":"","sources":["../../../src/actions/getStepTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAIjD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,SAAS,EACjB,MAAM,QAAQ,GAAG,cAAc,EAC/B,UAAU,cAAc,KACvB,OAAO,CAAC,QAAQ,CAiClB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { StepExecutorContext, TaskResult } from '../types/execution.js';
2
+ export declare abstract class BaseStepExecutionTask {
3
+ shouldRun(_context: StepExecutorContext): Promise<boolean>;
4
+ abstract run(context: StepExecutorContext): Promise<TaskResult>;
5
+ }
6
+ //# sourceMappingURL=BaseStepExecutionTask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseStepExecutionTask.d.ts","sourceRoot":"","sources":["../../../src/core/BaseStepExecutionTask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAE5E,8BAAsB,qBAAqB;IACzC,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1D,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;CAChE"}
@@ -1,6 +1,9 @@
1
- import type { LiFiStep } from '@lifi/types';
2
- import type { ExecutionOptions, InteractionSettings, SDKClient, StepExecutor, StepExecutorOptions } from '../types/core.js';
1
+ import { ExecuteStepRetryError } from '../errors/errors.js';
2
+ import type { SDKError } from '../errors/SDKError.js';
3
+ import type { ExecuteStepRetryParams, ExecutionAction, ExecutionOptions, InteractionSettings, LiFiStepExtended, SDKClient, StepExecutor, StepExecutorOptions } from '../types/core.js';
4
+ import type { StepExecutorBaseContext, StepExecutorContext } from '../types/execution.js';
3
5
  import { StatusManager } from './StatusManager.js';
6
+ import type { TaskPipeline } from './TaskPipeline.js';
4
7
  export declare abstract class BaseStepExecutor implements StepExecutor {
5
8
  protected executionOptions?: ExecutionOptions;
6
9
  protected statusManager: StatusManager;
@@ -8,6 +11,10 @@ export declare abstract class BaseStepExecutor implements StepExecutor {
8
11
  allowExecution: boolean;
9
12
  constructor(options: StepExecutorOptions);
10
13
  setInteraction: (settings?: InteractionSettings) => void;
11
- abstract executeStep(client: SDKClient, step: LiFiStep): Promise<LiFiStep>;
14
+ private createBaseContext;
15
+ abstract createContext(baseContext: StepExecutorBaseContext): Promise<StepExecutorContext>;
16
+ abstract createPipeline(context: StepExecutorContext): TaskPipeline;
17
+ abstract parseErrors(error: Error, step?: LiFiStepExtended, action?: ExecutionAction, retryParams?: ExecuteStepRetryParams): Promise<SDKError | ExecuteStepRetryError>;
18
+ executeStep: (client: SDKClient, step: LiFiStepExtended, retryParams?: ExecuteStepRetryParams) => Promise<LiFiStepExtended>;
12
19
  }
13
20
  //# sourceMappingURL=BaseStepExecutor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseStepExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/BaseStepExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,mBAAmB,EACpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AASlD,8BAAsB,gBAAiB,YAAW,YAAY;IAC5D,SAAS,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAC7C,SAAS,CAAC,aAAa,EAAE,aAAa,CAAA;IAE/B,oBAAoB,UAAO;IAC3B,cAAc,UAAO;gBAEhB,OAAO,EAAE,mBAAmB;IAKxC,cAAc,GAAI,WAAW,mBAAmB,KAAG,IAAI,CAQtD;IAED,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;CAC3E"}
1
+ {"version":3,"file":"BaseStepExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/BaseStepExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,SAAS,EACT,YAAY,EACZ,mBAAmB,EACpB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EACV,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AASrD,8BAAsB,gBAAiB,YAAW,YAAY;IAC5D,SAAS,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAC7C,SAAS,CAAC,aAAa,EAAE,aAAa,CAAA;IAE/B,oBAAoB,UAAO;IAC3B,cAAc,UAAO;gBAEhB,OAAO,EAAE,mBAAmB;IAKxC,cAAc,GAAI,WAAW,mBAAmB,KAAG,IAAI,CAQtD;IAED,OAAO,CAAC,iBAAiB,CAqBxB;IAED,QAAQ,CAAC,aAAa,CACpB,WAAW,EAAE,uBAAuB,GACnC,OAAO,CAAC,mBAAmB,CAAC;IAE/B,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY;IAEnE,QAAQ,CAAC,WAAW,CAClB,KAAK,EAAE,KAAK,EACZ,IAAI,CAAC,EAAE,gBAAgB,EACvB,MAAM,CAAC,EAAE,eAAe,EACxB,WAAW,CAAC,EAAE,sBAAsB,GACnC,OAAO,CAAC,QAAQ,GAAG,qBAAqB,CAAC;IAE5C,WAAW,GACT,QAAQ,SAAS,EACjB,MAAM,gBAAgB,EACtB,cAAc,sBAAsB,KACnC,OAAO,CAAC,gBAAgB,CAAC,CAwC3B;CACF"}