@lifi/sdk 4.0.0-alpha.8 → 4.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/dist/cjs/actions/getQuote.js +2 -1
  2. package/dist/cjs/actions/getQuote.js.map +1 -1
  3. package/dist/cjs/actions/getRelayedTransactionStatus.js +1 -1
  4. package/dist/cjs/actions/getRelayedTransactionStatus.js.map +1 -1
  5. package/dist/cjs/actions/getRelayerQuote.js +2 -1
  6. package/dist/cjs/actions/getRelayerQuote.js.map +1 -1
  7. package/dist/cjs/actions/getStepTransaction.js +18 -1
  8. package/dist/cjs/actions/getStepTransaction.js.map +1 -1
  9. package/dist/cjs/core/BaseStepExecutionTask.d.ts +5 -0
  10. package/dist/cjs/core/BaseStepExecutionTask.js +10 -0
  11. package/dist/cjs/core/BaseStepExecutionTask.js.map +1 -0
  12. package/dist/cjs/core/BaseStepExecutor.d.ts +10 -3
  13. package/dist/cjs/core/BaseStepExecutor.js +53 -0
  14. package/dist/cjs/core/BaseStepExecutor.js.map +1 -1
  15. package/dist/cjs/core/StatusManager.d.ts +13 -12
  16. package/dist/cjs/core/StatusManager.js +55 -61
  17. package/dist/cjs/core/StatusManager.js.map +1 -1
  18. package/dist/cjs/core/TaskPipeline.d.ts +7 -0
  19. package/dist/cjs/core/TaskPipeline.js +27 -0
  20. package/dist/cjs/core/TaskPipeline.js.map +1 -0
  21. package/dist/cjs/core/actionMessages.d.ts +4 -0
  22. package/dist/cjs/core/{processMessages.js → actionMessages.js} +25 -9
  23. package/dist/cjs/core/actionMessages.js.map +1 -0
  24. package/dist/cjs/core/execution.js +13 -1
  25. package/dist/cjs/core/execution.js.map +1 -1
  26. package/dist/cjs/core/prepareRestart.js +6 -6
  27. package/dist/cjs/core/prepareRestart.js.map +1 -1
  28. package/dist/cjs/core/storage.d.ts +17 -0
  29. package/dist/cjs/core/storage.js +36 -0
  30. package/dist/cjs/core/storage.js.map +1 -0
  31. package/dist/cjs/core/tasks/CheckBalanceTask.d.ts +5 -0
  32. package/dist/cjs/core/tasks/CheckBalanceTask.js +26 -0
  33. package/dist/cjs/core/tasks/CheckBalanceTask.js.map +1 -0
  34. package/dist/cjs/core/tasks/PrepareTransactionTask.d.ts +5 -0
  35. package/dist/cjs/core/tasks/PrepareTransactionTask.js +36 -0
  36. package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -0
  37. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.d.ts +8 -0
  38. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +73 -0
  39. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  40. package/dist/cjs/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  41. package/dist/cjs/core/{checkBalance.js → tasks/helpers/checkBalance.js} +4 -4
  42. package/dist/cjs/core/tasks/helpers/checkBalance.js.map +1 -0
  43. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.d.ts +2 -0
  44. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js +30 -0
  45. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  46. package/dist/cjs/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  47. package/dist/cjs/core/{stepComparison.js → tasks/helpers/stepComparison.js} +3 -3
  48. package/dist/cjs/core/tasks/helpers/stepComparison.js.map +1 -0
  49. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.d.ts +4 -0
  50. package/dist/cjs/core/{waitForTransactionStatus.js → tasks/helpers/waitForTransactionStatus.js} +10 -8
  51. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  52. package/dist/cjs/core/utils.d.ts +6 -1
  53. package/dist/cjs/errors/SDKError.d.ts +3 -3
  54. package/dist/cjs/errors/SDKError.js +3 -3
  55. package/dist/cjs/errors/SDKError.js.map +1 -1
  56. package/dist/cjs/errors/constants.d.ts +2 -1
  57. package/dist/cjs/errors/constants.js +1 -0
  58. package/dist/cjs/errors/constants.js.map +1 -1
  59. package/dist/cjs/errors/errors.d.ts +5 -0
  60. package/dist/cjs/errors/errors.js +9 -1
  61. package/dist/cjs/errors/errors.js.map +1 -1
  62. package/dist/cjs/index.d.ts +15 -6
  63. package/dist/cjs/index.js +26 -7
  64. package/dist/cjs/index.js.map +1 -1
  65. package/dist/cjs/types/core.d.ts +21 -17
  66. package/dist/cjs/types/execution.d.ts +22 -0
  67. package/dist/cjs/types/execution.js +3 -0
  68. package/dist/cjs/types/execution.js.map +1 -0
  69. package/dist/cjs/utils/waitForResult.d.ts +1 -1
  70. package/dist/cjs/utils/waitForResult.js +6 -2
  71. package/dist/cjs/utils/waitForResult.js.map +1 -1
  72. package/dist/cjs/utils/withDedupe.d.ts +5 -0
  73. package/dist/cjs/utils/withDedupe.js +2 -0
  74. package/dist/cjs/utils/withDedupe.js.map +1 -1
  75. package/dist/cjs/version.d.ts +1 -1
  76. package/dist/cjs/version.js +1 -1
  77. package/dist/cjs/version.js.map +1 -1
  78. package/dist/esm/actions/getQuote.js +2 -1
  79. package/dist/esm/actions/getQuote.js.map +1 -1
  80. package/dist/esm/actions/getRelayedTransactionStatus.js +1 -1
  81. package/dist/esm/actions/getRelayedTransactionStatus.js.map +1 -1
  82. package/dist/esm/actions/getRelayerQuote.js +2 -1
  83. package/dist/esm/actions/getRelayerQuote.js.map +1 -1
  84. package/dist/esm/actions/getStepTransaction.js +18 -1
  85. package/dist/esm/actions/getStepTransaction.js.map +1 -1
  86. package/dist/esm/core/BaseStepExecutionTask.d.ts +5 -0
  87. package/dist/esm/core/BaseStepExecutionTask.js +6 -0
  88. package/dist/esm/core/BaseStepExecutionTask.js.map +1 -0
  89. package/dist/esm/core/BaseStepExecutor.d.ts +10 -3
  90. package/dist/esm/core/BaseStepExecutor.js +53 -0
  91. package/dist/esm/core/BaseStepExecutor.js.map +1 -1
  92. package/dist/esm/core/StatusManager.d.ts +40 -39
  93. package/dist/esm/core/StatusManager.js +86 -92
  94. package/dist/esm/core/StatusManager.js.map +1 -1
  95. package/dist/esm/core/TaskPipeline.d.ts +7 -0
  96. package/dist/esm/core/TaskPipeline.js +23 -0
  97. package/dist/esm/core/TaskPipeline.js.map +1 -0
  98. package/dist/esm/core/actionMessages.d.ts +4 -0
  99. package/dist/esm/core/{processMessages.js → actionMessages.js} +24 -8
  100. package/dist/esm/core/actionMessages.js.map +1 -0
  101. package/dist/esm/core/execution.js +14 -3
  102. package/dist/esm/core/execution.js.map +1 -1
  103. package/dist/esm/core/prepareRestart.js +10 -9
  104. package/dist/esm/core/prepareRestart.js.map +1 -1
  105. package/dist/esm/core/storage.d.ts +17 -0
  106. package/dist/esm/core/storage.js +30 -0
  107. package/dist/esm/core/storage.js.map +1 -0
  108. package/dist/esm/core/tasks/CheckBalanceTask.d.ts +5 -0
  109. package/dist/esm/core/tasks/CheckBalanceTask.js +22 -0
  110. package/dist/esm/core/tasks/CheckBalanceTask.js.map +1 -0
  111. package/dist/esm/core/tasks/PrepareTransactionTask.d.ts +5 -0
  112. package/dist/esm/core/tasks/PrepareTransactionTask.js +32 -0
  113. package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -0
  114. package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts +8 -0
  115. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +74 -0
  116. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  117. package/dist/esm/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  118. package/dist/esm/core/{checkBalance.js → tasks/helpers/checkBalance.js} +4 -4
  119. package/dist/esm/core/tasks/helpers/checkBalance.js.map +1 -0
  120. package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts +2 -0
  121. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js +26 -0
  122. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  123. package/dist/esm/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  124. package/dist/esm/core/{stepComparison.js → tasks/helpers/stepComparison.js} +3 -3
  125. package/dist/esm/core/tasks/helpers/stepComparison.js.map +1 -0
  126. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts +4 -0
  127. package/dist/esm/core/{waitForTransactionStatus.js → tasks/helpers/waitForTransactionStatus.js} +9 -7
  128. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  129. package/dist/esm/core/utils.d.ts +6 -1
  130. package/dist/esm/errors/SDKError.d.ts +3 -3
  131. package/dist/esm/errors/SDKError.js +4 -4
  132. package/dist/esm/errors/SDKError.js.map +1 -1
  133. package/dist/esm/errors/constants.d.ts +2 -1
  134. package/dist/esm/errors/constants.js +1 -0
  135. package/dist/esm/errors/constants.js.map +1 -1
  136. package/dist/esm/errors/errors.d.ts +10 -0
  137. package/dist/esm/errors/errors.js +12 -0
  138. package/dist/esm/errors/errors.js.map +1 -1
  139. package/dist/esm/index.d.ts +15 -6
  140. package/dist/esm/index.js +12 -5
  141. package/dist/esm/index.js.map +1 -1
  142. package/dist/esm/types/core.d.ts +25 -17
  143. package/dist/esm/types/execution.d.ts +23 -0
  144. package/dist/esm/types/execution.js +2 -0
  145. package/dist/esm/types/execution.js.map +1 -0
  146. package/dist/esm/utils/waitForResult.d.ts +2 -2
  147. package/dist/esm/utils/waitForResult.js +7 -3
  148. package/dist/esm/utils/waitForResult.js.map +1 -1
  149. package/dist/esm/utils/withDedupe.d.ts +10 -0
  150. package/dist/esm/utils/withDedupe.js +1 -1
  151. package/dist/esm/utils/withDedupe.js.map +1 -1
  152. package/dist/esm/version.d.ts +1 -1
  153. package/dist/esm/version.js +1 -1
  154. package/dist/esm/version.js.map +1 -1
  155. package/dist/types/actions/getRelayerQuote.d.ts.map +1 -1
  156. package/dist/types/actions/getStepTransaction.d.ts.map +1 -1
  157. package/dist/types/core/BaseStepExecutionTask.d.ts +6 -0
  158. package/dist/types/core/BaseStepExecutionTask.d.ts.map +1 -0
  159. package/dist/types/core/BaseStepExecutor.d.ts +10 -3
  160. package/dist/types/core/BaseStepExecutor.d.ts.map +1 -1
  161. package/dist/types/core/StatusManager.d.ts +40 -39
  162. package/dist/types/core/StatusManager.d.ts.map +1 -1
  163. package/dist/types/core/TaskPipeline.d.ts +8 -0
  164. package/dist/types/core/TaskPipeline.d.ts.map +1 -0
  165. package/dist/types/core/actionMessages.d.ts +5 -0
  166. package/dist/types/core/actionMessages.d.ts.map +1 -0
  167. package/dist/types/core/execution.d.ts.map +1 -1
  168. package/dist/types/core/prepareRestart.d.ts.map +1 -1
  169. package/dist/types/core/storage.d.ts +18 -0
  170. package/dist/types/core/storage.d.ts.map +1 -0
  171. package/dist/types/core/tasks/CheckBalanceTask.d.ts +6 -0
  172. package/dist/types/core/tasks/CheckBalanceTask.d.ts.map +1 -0
  173. package/dist/types/core/tasks/PrepareTransactionTask.d.ts +6 -0
  174. package/dist/types/core/tasks/PrepareTransactionTask.d.ts.map +1 -0
  175. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts +9 -0
  176. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts.map +1 -0
  177. package/dist/types/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  178. package/dist/types/core/tasks/helpers/checkBalance.d.ts.map +1 -0
  179. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts +3 -0
  180. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts.map +1 -0
  181. package/dist/types/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  182. package/dist/types/core/tasks/helpers/stepComparison.d.ts.map +1 -0
  183. package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts +5 -0
  184. package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts.map +1 -0
  185. package/dist/types/core/utils.d.ts +6 -1
  186. package/dist/types/core/utils.d.ts.map +1 -1
  187. package/dist/types/errors/SDKError.d.ts +3 -3
  188. package/dist/types/errors/SDKError.d.ts.map +1 -1
  189. package/dist/types/errors/constants.d.ts +2 -1
  190. package/dist/types/errors/constants.d.ts.map +1 -1
  191. package/dist/types/errors/errors.d.ts +10 -0
  192. package/dist/types/errors/errors.d.ts.map +1 -1
  193. package/dist/types/index.d.ts +15 -6
  194. package/dist/types/index.d.ts.map +1 -1
  195. package/dist/types/types/core.d.ts +25 -17
  196. package/dist/types/types/core.d.ts.map +1 -1
  197. package/dist/types/types/execution.d.ts +24 -0
  198. package/dist/types/types/execution.d.ts.map +1 -0
  199. package/dist/types/utils/waitForResult.d.ts +2 -2
  200. package/dist/types/utils/waitForResult.d.ts.map +1 -1
  201. package/dist/types/utils/withDedupe.d.ts +10 -0
  202. package/dist/types/utils/withDedupe.d.ts.map +1 -1
  203. package/dist/types/version.d.ts +1 -1
  204. package/dist/types/version.d.ts.map +1 -1
  205. package/package.json +2 -2
  206. package/src/actions/getQuote.ts +4 -1
  207. package/src/actions/getRelayedTransactionStatus.ts +1 -1
  208. package/src/actions/getRelayerQuote.ts +4 -1
  209. package/src/actions/getStepTransaction.ts +27 -11
  210. package/src/core/BaseStepExecutionTask.ts +9 -0
  211. package/src/core/BaseStepExecutor.ts +91 -2
  212. package/src/core/StatusManager.ts +108 -113
  213. package/src/core/TaskPipeline.ts +28 -0
  214. package/src/core/{processMessages.ts → actionMessages.ts} +32 -12
  215. package/src/core/execution.ts +17 -3
  216. package/src/core/prepareRestart.ts +12 -11
  217. package/src/core/storage.ts +42 -0
  218. package/src/core/tasks/CheckBalanceTask.ts +29 -0
  219. package/src/core/tasks/PrepareTransactionTask.ts +62 -0
  220. package/src/core/tasks/WaitForTransactionStatusTask.ts +114 -0
  221. package/src/core/{checkBalance.ts → tasks/helpers/checkBalance.ts} +5 -5
  222. package/src/core/tasks/helpers/getTransactionRequestData.ts +47 -0
  223. package/src/core/{stepComparison.ts → tasks/helpers/stepComparison.ts} +5 -5
  224. package/src/core/{waitForTransactionStatus.ts → tasks/helpers/waitForTransactionStatus.ts} +11 -9
  225. package/src/errors/SDKError.ts +5 -5
  226. package/src/errors/constants.ts +1 -0
  227. package/src/errors/errors.ts +24 -0
  228. package/src/index.ts +27 -7
  229. package/src/types/core.ts +30 -25
  230. package/src/types/execution.ts +32 -0
  231. package/src/utils/waitForResult.ts +9 -4
  232. package/src/utils/withDedupe.ts +1 -1
  233. package/src/version.ts +1 -1
  234. package/dist/cjs/core/checkBalance.js.map +0 -1
  235. package/dist/cjs/core/processMessages.d.ts +0 -4
  236. package/dist/cjs/core/processMessages.js.map +0 -1
  237. package/dist/cjs/core/stepComparison.js.map +0 -1
  238. package/dist/cjs/core/waitForDestinationChainTransaction.d.ts +0 -4
  239. package/dist/cjs/core/waitForDestinationChainTransaction.js +0 -69
  240. package/dist/cjs/core/waitForDestinationChainTransaction.js.map +0 -1
  241. package/dist/cjs/core/waitForTransactionStatus.d.ts +0 -4
  242. package/dist/cjs/core/waitForTransactionStatus.js.map +0 -1
  243. package/dist/esm/core/checkBalance.js.map +0 -1
  244. package/dist/esm/core/processMessages.d.ts +0 -4
  245. package/dist/esm/core/processMessages.js.map +0 -1
  246. package/dist/esm/core/stepComparison.js.map +0 -1
  247. package/dist/esm/core/waitForDestinationChainTransaction.d.ts +0 -4
  248. package/dist/esm/core/waitForDestinationChainTransaction.js +0 -71
  249. package/dist/esm/core/waitForDestinationChainTransaction.js.map +0 -1
  250. package/dist/esm/core/waitForTransactionStatus.d.ts +0 -4
  251. package/dist/esm/core/waitForTransactionStatus.js.map +0 -1
  252. package/dist/types/core/checkBalance.d.ts.map +0 -1
  253. package/dist/types/core/processMessages.d.ts +0 -5
  254. package/dist/types/core/processMessages.d.ts.map +0 -1
  255. package/dist/types/core/stepComparison.d.ts.map +0 -1
  256. package/dist/types/core/waitForDestinationChainTransaction.d.ts +0 -5
  257. package/dist/types/core/waitForDestinationChainTransaction.d.ts.map +0 -1
  258. package/dist/types/core/waitForTransactionStatus.d.ts +0 -5
  259. package/dist/types/core/waitForTransactionStatus.d.ts.map +0 -1
  260. package/src/core/waitForDestinationChainTransaction.ts +0 -106
@@ -22,19 +22,28 @@ export { actions } from './actions/index.js';
22
22
  export { patchContractCalls } from './actions/patchContractCalls.js';
23
23
  export { relayTransaction } from './actions/relayTransaction.js';
24
24
  export { createClient } from './client/createClient.js';
25
+ export { getActionMessage, getSubstatusMessage } from './core/actionMessages.js';
26
+ export { BaseStepExecutionTask } from './core/BaseStepExecutionTask.js';
25
27
  export { BaseStepExecutor } from './core/BaseStepExecutor.js';
26
- export { checkBalance } from './core/checkBalance.js';
27
28
  export { executeRoute, getActiveRoute, getActiveRoutes, resumeRoute, stopRouteExecution, updateRouteExecution, } from './core/execution.js';
28
29
  export { StatusManager } from './core/StatusManager.js';
29
- export { stepComparison } from './core/stepComparison.js';
30
- export { waitForDestinationChainTransaction } from './core/waitForDestinationChainTransaction.js';
30
+ export type { SDKStorage } from './core/storage.js';
31
+ export { createDefaultStorage, InMemoryStorage, LocalStorageAdapter, } from './core/storage.js';
32
+ export { TaskPipeline } from './core/TaskPipeline.js';
33
+ export { CheckBalanceTask } from './core/tasks/CheckBalanceTask.js';
34
+ export { checkBalance } from './core/tasks/helpers/checkBalance.js';
35
+ export { getTransactionRequestData } from './core/tasks/helpers/getTransactionRequestData.js';
36
+ export { stepComparison } from './core/tasks/helpers/stepComparison.js';
37
+ export { PrepareTransactionTask } from './core/tasks/PrepareTransactionTask.js';
38
+ export { WaitForTransactionStatusTask } from './core/tasks/WaitForTransactionStatusTask.js';
31
39
  export { BaseError } from './errors/baseError.js';
32
40
  export type { ErrorCode } from './errors/constants.js';
33
41
  export { ErrorMessage, ErrorName, LiFiErrorCode } from './errors/constants.js';
34
- export { BalanceError, ProviderError, RPCError, ServerError, TransactionError, UnknownError, ValidationError, } from './errors/errors.js';
42
+ export { BalanceError, ExecuteStepRetryError, ProviderError, RPCError, ServerError, TransactionError, UnknownError, ValidationError, } from './errors/errors.js';
35
43
  export { HTTPError } from './errors/httpError.js';
36
44
  export { SDKError } from './errors/SDKError.js';
37
- export type { AcceptExchangeRateUpdateHook, AcceptSlippageUpdateHook, AcceptSlippageUpdateHookParams, ContractCallParams, ContractTool, ExchangeRateUpdateParams, Execution, ExecutionOptions, ExecutionStatus, GetContractCallsHook, GetContractCallsResult, InteractionSettings, LiFiStepExtended, Process, ProcessStatus, ProcessType, RequestInterceptor, RouteExecutionData, RouteExecutionDataDictionary, RouteExecutionDictionary, RouteExtended, RPCUrls, SDKBaseConfig, SDKClient, SDKConfig, SDKProvider, StepExecutor, StepExecutorOptions, StepExtended, TransactionMethodType, TransactionParameters, TransactionRequestParameters, TransactionRequestUpdateHook, UpdateRouteHook, } from './types/core.js';
45
+ export type { AcceptExchangeRateUpdateHook, AcceptSlippageUpdateHook, AcceptSlippageUpdateHookParams, ContractCallParams, ContractTool, ExchangeRateUpdateParams, ExecuteStepRetryParams, Execution, ExecutionAction, ExecutionActionStatus, ExecutionActionType, ExecutionOptions, ExecutionStatus, GetContractCallsHook, GetContractCallsResult, InteractionSettings, LiFiStepExtended, RequestInterceptor, RouteExecutionData, RouteExecutionDataDictionary, RouteExecutionDictionary, RouteExtended, RPCUrls, SDKBaseConfig, SDKClient, SDKConfig, SDKProvider, StepExecutor, StepExecutorOptions, StepExtended, TransactionMethodType, TransactionParameters, TransactionRequestParameters, TransactionRequestUpdateHook, UpdateRouteHook, } from './types/core.js';
46
+ export type { StepExecutorBaseContext, StepExecutorContext, TaskResult, TaskStatus, } from './types/execution.js';
38
47
  export { checkPackageUpdates } from './utils/checkPackageUpdates.js';
39
48
  export { convertQuoteToRoute } from './utils/convertQuoteToRoute.js';
40
49
  export { fetchTxErrorDetails } from './utils/fetchTxErrorDetails.js';
@@ -43,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/cjs/index.js CHANGED
@@ -14,8 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.fetchTxErrorDetails = exports.convertQuoteToRoute = exports.checkPackageUpdates = exports.SDKError = exports.HTTPError = exports.ValidationError = exports.UnknownError = exports.TransactionError = exports.ServerError = exports.RPCError = exports.ProviderError = exports.BalanceError = exports.LiFiErrorCode = exports.ErrorName = exports.ErrorMessage = exports.BaseError = exports.waitForDestinationChainTransaction = exports.stepComparison = exports.StatusManager = exports.updateRouteExecution = exports.stopRouteExecution = exports.resumeRoute = exports.getActiveRoutes = exports.getActiveRoute = exports.executeRoute = exports.checkBalance = exports.BaseStepExecutor = exports.createClient = exports.relayTransaction = exports.patchContractCalls = exports.actions = exports.getWalletBalances = exports.getTransactionHistory = exports.getTools = exports.getTokens = exports.getTokenBalancesByChain = exports.getTokenBalances = exports.getTokenBalance = exports.getToken = exports.getStepTransaction = exports.getStatus = exports.getRoutes = exports.getRelayerQuote = exports.getRelayedTransactionStatus = exports.getQuote = exports.getNameServiceAddress = exports.getGasRecommendation = exports.getContractCallsQuote = exports.getConnections = exports.getChains = void 0;
18
- exports.withDedupe = exports.waitForResult = exports.sleep = exports.parseUnits = exports.isHex = exports.formatUnits = void 0;
17
+ exports.ExecuteStepRetryError = exports.BalanceError = exports.LiFiErrorCode = exports.ErrorName = exports.ErrorMessage = exports.BaseError = exports.WaitForTransactionStatusTask = exports.PrepareTransactionTask = exports.stepComparison = exports.getTransactionRequestData = exports.checkBalance = exports.CheckBalanceTask = exports.TaskPipeline = exports.LocalStorageAdapter = exports.InMemoryStorage = exports.createDefaultStorage = exports.StatusManager = exports.updateRouteExecution = exports.stopRouteExecution = exports.resumeRoute = exports.getActiveRoutes = exports.getActiveRoute = exports.executeRoute = exports.BaseStepExecutor = exports.BaseStepExecutionTask = exports.getSubstatusMessage = exports.getActionMessage = exports.createClient = exports.relayTransaction = exports.patchContractCalls = exports.actions = exports.getWalletBalances = exports.getTransactionHistory = exports.getTools = exports.getTokens = exports.getTokenBalancesByChain = exports.getTokenBalances = exports.getTokenBalance = exports.getToken = exports.getStepTransaction = exports.getStatus = exports.getRoutes = exports.getRelayerQuote = exports.getRelayedTransactionStatus = exports.getQuote = exports.getNameServiceAddress = exports.getGasRecommendation = exports.getContractCallsQuote = exports.getConnections = exports.getChains = void 0;
18
+ exports.withDedupe = exports.LruMap = exports.waitForResult = exports.sleep = exports.parseUnits = exports.isHex = exports.formatUnits = exports.fetchTxErrorDetails = exports.convertQuoteToRoute = exports.checkPackageUpdates = exports.SDKError = exports.HTTPError = exports.ValidationError = exports.UnknownError = exports.TransactionError = exports.ServerError = exports.RPCError = exports.ProviderError = void 0;
19
19
  __exportStar(require("@lifi/types"), exports);
20
20
  var getChains_js_1 = require("./actions/getChains.js");
21
21
  Object.defineProperty(exports, "getChains", { enumerable: true, get: function () { return getChains_js_1.getChains; } });
@@ -63,10 +63,13 @@ var relayTransaction_js_1 = require("./actions/relayTransaction.js");
63
63
  Object.defineProperty(exports, "relayTransaction", { enumerable: true, get: function () { return relayTransaction_js_1.relayTransaction; } });
64
64
  var createClient_js_1 = require("./client/createClient.js");
65
65
  Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return createClient_js_1.createClient; } });
66
+ var actionMessages_js_1 = require("./core/actionMessages.js");
67
+ Object.defineProperty(exports, "getActionMessage", { enumerable: true, get: function () { return actionMessages_js_1.getActionMessage; } });
68
+ Object.defineProperty(exports, "getSubstatusMessage", { enumerable: true, get: function () { return actionMessages_js_1.getSubstatusMessage; } });
69
+ var BaseStepExecutionTask_js_1 = require("./core/BaseStepExecutionTask.js");
70
+ Object.defineProperty(exports, "BaseStepExecutionTask", { enumerable: true, get: function () { return BaseStepExecutionTask_js_1.BaseStepExecutionTask; } });
66
71
  var BaseStepExecutor_js_1 = require("./core/BaseStepExecutor.js");
67
72
  Object.defineProperty(exports, "BaseStepExecutor", { enumerable: true, get: function () { return BaseStepExecutor_js_1.BaseStepExecutor; } });
68
- var checkBalance_js_1 = require("./core/checkBalance.js");
69
- Object.defineProperty(exports, "checkBalance", { enumerable: true, get: function () { return checkBalance_js_1.checkBalance; } });
70
73
  var execution_js_1 = require("./core/execution.js");
71
74
  Object.defineProperty(exports, "executeRoute", { enumerable: true, get: function () { return execution_js_1.executeRoute; } });
72
75
  Object.defineProperty(exports, "getActiveRoute", { enumerable: true, get: function () { return execution_js_1.getActiveRoute; } });
@@ -76,10 +79,24 @@ Object.defineProperty(exports, "stopRouteExecution", { enumerable: true, get: fu
76
79
  Object.defineProperty(exports, "updateRouteExecution", { enumerable: true, get: function () { return execution_js_1.updateRouteExecution; } });
77
80
  var StatusManager_js_1 = require("./core/StatusManager.js");
78
81
  Object.defineProperty(exports, "StatusManager", { enumerable: true, get: function () { return StatusManager_js_1.StatusManager; } });
79
- var stepComparison_js_1 = require("./core/stepComparison.js");
82
+ var storage_js_1 = require("./core/storage.js");
83
+ Object.defineProperty(exports, "createDefaultStorage", { enumerable: true, get: function () { return storage_js_1.createDefaultStorage; } });
84
+ Object.defineProperty(exports, "InMemoryStorage", { enumerable: true, get: function () { return storage_js_1.InMemoryStorage; } });
85
+ Object.defineProperty(exports, "LocalStorageAdapter", { enumerable: true, get: function () { return storage_js_1.LocalStorageAdapter; } });
86
+ var TaskPipeline_js_1 = require("./core/TaskPipeline.js");
87
+ Object.defineProperty(exports, "TaskPipeline", { enumerable: true, get: function () { return TaskPipeline_js_1.TaskPipeline; } });
88
+ var CheckBalanceTask_js_1 = require("./core/tasks/CheckBalanceTask.js");
89
+ Object.defineProperty(exports, "CheckBalanceTask", { enumerable: true, get: function () { return CheckBalanceTask_js_1.CheckBalanceTask; } });
90
+ var checkBalance_js_1 = require("./core/tasks/helpers/checkBalance.js");
91
+ Object.defineProperty(exports, "checkBalance", { enumerable: true, get: function () { return checkBalance_js_1.checkBalance; } });
92
+ var getTransactionRequestData_js_1 = require("./core/tasks/helpers/getTransactionRequestData.js");
93
+ Object.defineProperty(exports, "getTransactionRequestData", { enumerable: true, get: function () { return getTransactionRequestData_js_1.getTransactionRequestData; } });
94
+ var stepComparison_js_1 = require("./core/tasks/helpers/stepComparison.js");
80
95
  Object.defineProperty(exports, "stepComparison", { enumerable: true, get: function () { return stepComparison_js_1.stepComparison; } });
81
- var waitForDestinationChainTransaction_js_1 = require("./core/waitForDestinationChainTransaction.js");
82
- Object.defineProperty(exports, "waitForDestinationChainTransaction", { enumerable: true, get: function () { return waitForDestinationChainTransaction_js_1.waitForDestinationChainTransaction; } });
96
+ var PrepareTransactionTask_js_1 = require("./core/tasks/PrepareTransactionTask.js");
97
+ Object.defineProperty(exports, "PrepareTransactionTask", { enumerable: true, get: function () { return PrepareTransactionTask_js_1.PrepareTransactionTask; } });
98
+ var WaitForTransactionStatusTask_js_1 = require("./core/tasks/WaitForTransactionStatusTask.js");
99
+ Object.defineProperty(exports, "WaitForTransactionStatusTask", { enumerable: true, get: function () { return WaitForTransactionStatusTask_js_1.WaitForTransactionStatusTask; } });
83
100
  var baseError_js_1 = require("./errors/baseError.js");
84
101
  Object.defineProperty(exports, "BaseError", { enumerable: true, get: function () { return baseError_js_1.BaseError; } });
85
102
  var constants_js_1 = require("./errors/constants.js");
@@ -88,6 +105,7 @@ Object.defineProperty(exports, "ErrorName", { enumerable: true, get: function ()
88
105
  Object.defineProperty(exports, "LiFiErrorCode", { enumerable: true, get: function () { return constants_js_1.LiFiErrorCode; } });
89
106
  var errors_js_1 = require("./errors/errors.js");
90
107
  Object.defineProperty(exports, "BalanceError", { enumerable: true, get: function () { return errors_js_1.BalanceError; } });
108
+ Object.defineProperty(exports, "ExecuteStepRetryError", { enumerable: true, get: function () { return errors_js_1.ExecuteStepRetryError; } });
91
109
  Object.defineProperty(exports, "ProviderError", { enumerable: true, get: function () { return errors_js_1.ProviderError; } });
92
110
  Object.defineProperty(exports, "RPCError", { enumerable: true, get: function () { return errors_js_1.RPCError; } });
93
111
  Object.defineProperty(exports, "ServerError", { enumerable: true, get: function () { return errors_js_1.ServerError; } });
@@ -115,5 +133,6 @@ Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { r
115
133
  var waitForResult_js_1 = require("./utils/waitForResult.js");
116
134
  Object.defineProperty(exports, "waitForResult", { enumerable: true, get: function () { return waitForResult_js_1.waitForResult; } });
117
135
  var withDedupe_js_1 = require("./utils/withDedupe.js");
136
+ Object.defineProperty(exports, "LruMap", { enumerable: true, get: function () { return withDedupe_js_1.LruMap; } });
118
137
  Object.defineProperty(exports, "withDedupe", { enumerable: true, get: function () { return withDedupe_js_1.withDedupe; } });
119
138
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,8CAA2B;AAC3B,uDAAkD;AAAzC,yGAAA,SAAS,OAAA;AAClB,iEAA4D;AAAnD,mHAAA,cAAc,OAAA;AACvB,+EAA0E;AAAjE,iIAAA,qBAAqB,OAAA;AAC9B,6EAAwE;AAA/D,+HAAA,oBAAoB,OAAA;AAC7B,+EAA0E;AAAjE,iIAAA,qBAAqB,OAAA;AAC9B,qDAAgD;AAAvC,uGAAA,QAAQ,OAAA;AACjB,2FAAsF;AAA7E,6IAAA,2BAA2B,OAAA;AACpC,mEAA8D;AAArD,qHAAA,eAAe,OAAA;AACxB,uDAAkD;AAAzC,yGAAA,SAAS,OAAA;AAClB,uDAAkD;AAAzC,yGAAA,SAAS,OAAA;AAClB,yEAAoE;AAA3D,2HAAA,kBAAkB,OAAA;AAC3B,qDAAgD;AAAvC,uGAAA,QAAQ,OAAA;AACjB,mEAA8D;AAArD,qHAAA,eAAe,OAAA;AACxB,qEAAgE;AAAvD,uHAAA,gBAAgB,OAAA;AACzB,mFAA8E;AAArE,qIAAA,uBAAuB,OAAA;AAChC,uDAAkD;AAAzC,yGAAA,SAAS,OAAA;AAClB,qDAAgD;AAAvC,uGAAA,QAAQ,OAAA;AACjB,+EAA0E;AAAjE,iIAAA,qBAAqB,OAAA;AAC9B,uEAAkE;AAAzD,yHAAA,iBAAiB,OAAA;AAC1B,+CAA4C;AAAnC,mGAAA,OAAO,OAAA;AAChB,yEAAoE;AAA3D,2HAAA,kBAAkB,OAAA;AAC3B,qEAAgE;AAAvD,uHAAA,gBAAgB,OAAA;AACzB,4DAAuD;AAA9C,+GAAA,YAAY,OAAA;AACrB,kEAA6D;AAApD,uHAAA,gBAAgB,OAAA;AACzB,0DAAqD;AAA5C,+GAAA,YAAY,OAAA;AACrB,oDAO4B;AAN1B,4GAAA,YAAY,OAAA;AACZ,8GAAA,cAAc,OAAA;AACd,+GAAA,eAAe,OAAA;AACf,2GAAA,WAAW,OAAA;AACX,kHAAA,kBAAkB,OAAA;AAClB,oHAAA,oBAAoB,OAAA;AAEtB,4DAAuD;AAA9C,iHAAA,aAAa,OAAA;AACtB,8DAAyD;AAAhD,mHAAA,cAAc,OAAA;AACvB,sGAAiG;AAAxF,2JAAA,kCAAkC,OAAA;AAC3C,sDAAiD;AAAxC,yGAAA,SAAS,OAAA;AAElB,sDAA8E;AAArE,4GAAA,YAAY,OAAA;AAAE,yGAAA,SAAS,OAAA;AAAE,6GAAA,aAAa,OAAA;AAC/C,gDAQ2B;AAPzB,yGAAA,YAAY,OAAA;AACZ,0GAAA,aAAa,OAAA;AACb,qGAAA,QAAQ,OAAA;AACR,wGAAA,WAAW,OAAA;AACX,6GAAA,gBAAgB,OAAA;AAChB,yGAAA,YAAY,OAAA;AACZ,4GAAA,eAAe,OAAA;AAEjB,sDAAiD;AAAxC,yGAAA,SAAS,OAAA;AAClB,oDAA+C;AAAtC,uGAAA,QAAQ,OAAA;AAqCjB,yEAAoE;AAA3D,6HAAA,mBAAmB,OAAA;AAC5B,yEAAoE;AAA3D,6HAAA,mBAAmB,OAAA;AAC5B,yEAAoE;AAA3D,6HAAA,mBAAmB,OAAA;AAC5B,yDAAoD;AAA3C,6GAAA,WAAW,OAAA;AACpB,6CAAwC;AAA/B,iGAAA,KAAK,OAAA;AACd,uDAAkD;AAAzC,2GAAA,UAAU,OAAA;AACnB,6CAAwC;AAA/B,iGAAA,KAAK,OAAA;AACd,6DAAwD;AAA/C,iHAAA,aAAa,OAAA;AACtB,uDAAkD;AAAzC,2GAAA,UAAU,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { ChainId, ChainType, CoinKey, ContractCall, ExtendedChain, FeeCost, GasCost, LiFiStep, Route, RouteOptions, Step, Substatus, Token, TokenAmount } from '@lifi/types';
2
+ import type { SDKStorage } from '../core/storage.js';
2
3
  import type { ExtendedRequestInit } from './request.js';
3
4
  export type RequestInterceptor = (request: ExtendedRequestInit) => ExtendedRequestInit | Promise<ExtendedRequestInit>;
4
5
  export interface SDKBaseConfig {
@@ -15,6 +16,7 @@ export interface SDKBaseConfig {
15
16
  preloadChains?: boolean;
16
17
  chainsRefetchInterval?: number;
17
18
  requestInterceptor?: RequestInterceptor;
19
+ storage?: SDKStorage;
18
20
  }
19
21
  export interface SDKConfig extends Partial<Omit<SDKBaseConfig, 'integrator'>> {
20
22
  integrator: string;
@@ -47,11 +49,12 @@ export interface InteractionSettings {
47
49
  allowUpdates?: boolean;
48
50
  allowExecution?: boolean;
49
51
  }
52
+ export type ExecuteStepRetryParams = Record<string, unknown>;
50
53
  export interface StepExecutor {
51
54
  allowUserInteraction: boolean;
52
55
  allowExecution: boolean;
53
56
  setInteraction(settings?: InteractionSettings): void;
54
- executeStep(client: SDKClient, step: LiFiStepExtended): Promise<LiFiStepExtended>;
57
+ executeStep(client: SDKClient, step: LiFiStepExtended, retryParams?: ExecuteStepRetryParams): Promise<LiFiStepExtended>;
55
58
  }
56
59
  export interface RouteExecutionData {
57
60
  route: Route;
@@ -128,39 +131,35 @@ export interface ExecutionOptions {
128
131
  getContractCalls?: GetContractCallsHook;
129
132
  adjustZeroOutputFromPreviousStep?: boolean;
130
133
  executeInBackground?: boolean;
131
- disableMessageSigning?: boolean;
132
134
  infiniteApproval?: boolean;
133
135
  }
134
136
  export type ExecutionStatus = 'ACTION_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE';
135
- export type ProcessStatus = 'STARTED' | 'ACTION_REQUIRED' | 'MESSAGE_REQUIRED' | 'RESET_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE' | 'CANCELLED';
136
- export type ProcessType = 'TOKEN_ALLOWANCE' | 'PERMIT' | 'SWAP' | 'CROSS_CHAIN' | 'RECEIVING_CHAIN';
137
- export type Process = {
138
- type: ProcessType;
139
- status: ProcessStatus;
137
+ export type ExecutionActionStatus = 'STARTED' | 'ACTION_REQUIRED' | 'MESSAGE_REQUIRED' | 'RESET_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE' | 'CANCELLED';
138
+ export type ExecutionActionType = 'PERMIT' | 'CHECK_ALLOWANCE' | 'NATIVE_PERMIT' | 'RESET_ALLOWANCE' | 'SET_ALLOWANCE' | 'SWAP' | 'CROSS_CHAIN' | 'RECEIVING_CHAIN';
139
+ export type ExecutionAction = {
140
+ type: ExecutionActionType;
141
+ status: ExecutionActionStatus;
142
+ message?: string;
140
143
  substatus?: Substatus;
144
+ substatusMessage?: string;
141
145
  chainId?: number;
142
146
  txHash?: string;
143
- taskId?: string;
144
147
  txLink?: string;
148
+ taskId?: string;
145
149
  txType?: TransactionMethodType;
146
- actionRequiredAt?: number;
147
- doneAt?: number;
148
- failedAt?: number;
149
- pendingAt?: number;
150
- startedAt: number;
151
- message?: string;
150
+ txHex?: string;
152
151
  error?: {
153
152
  code: string | number;
154
153
  message: string;
155
154
  htmlMessage?: string;
156
155
  };
157
- [key: string]: any;
158
156
  };
159
157
  export interface Execution {
160
158
  startedAt: number;
161
- doneAt?: number;
159
+ signedAt?: number;
162
160
  status: ExecutionStatus;
163
- process: Array<Process>;
161
+ actions: Array<ExecutionAction>;
162
+ lastActionType?: ExecutionActionType;
164
163
  fromAmount?: string;
165
164
  toAmount?: string;
166
165
  toToken?: Token;
@@ -168,5 +167,10 @@ export interface Execution {
168
167
  gasCosts?: GasCost[];
169
168
  internalTxLink?: string;
170
169
  externalTxLink?: string;
170
+ error?: {
171
+ code: string | number;
172
+ message: string;
173
+ htmlMessage?: string;
174
+ };
171
175
  }
172
176
  export type TransactionMethodType = 'standard' | 'relayed' | 'batched';
@@ -0,0 +1,22 @@
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
+ context?: TContext;
21
+ }
22
+ export type TaskStatus = 'COMPLETED' | 'PAUSED';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/types/execution.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- export declare const waitForResult: <T>(fn: () => Promise<T | undefined>, interval?: number, maxRetries?: number, shouldRetry?: (count: number, error: unknown) => boolean) => Promise<T>;
1
+ export declare const waitForResult: <T>(fn: () => Promise<T | undefined>, interval?: number | ((poll: number) => number), maxRetries?: number, shouldRetry?: (count: number, error: unknown) => boolean) => Promise<T>;
@@ -5,11 +5,14 @@ const sleep_js_1 = require("./sleep.js");
5
5
  const waitForResult = async (fn, interval = 5000, maxRetries = 3, shouldRetry = () => true) => {
6
6
  let result;
7
7
  let attempts = 0;
8
+ let polls = 0;
9
+ const getInterval = typeof interval === 'function' ? interval : () => interval;
8
10
  while (!result) {
9
11
  try {
10
12
  result = await fn();
11
13
  if (!result) {
12
- await (0, sleep_js_1.sleep)(interval);
14
+ await (0, sleep_js_1.sleep)(getInterval(polls));
15
+ polls++;
13
16
  }
14
17
  }
15
18
  catch (error) {
@@ -20,7 +23,8 @@ const waitForResult = async (fn, interval = 5000, maxRetries = 3, shouldRetry =
20
23
  if (attempts === maxRetries) {
21
24
  throw error;
22
25
  }
23
- await (0, sleep_js_1.sleep)(interval);
26
+ await (0, sleep_js_1.sleep)(getInterval(polls));
27
+ polls++;
24
28
  }
25
29
  }
26
30
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"waitForResult.js","sourceRoot":"","sources":["../../../src/utils/waitForResult.ts"],"names":[],"mappings":";;;AAAA,yCAAkC;AAW3B,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,IAAA,gBAAK,EAAC,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,IAAA,gBAAK,EAAC,QAAQ,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AA5BY,QAAA,aAAa,iBA4BzB"}
1
+ {"version":3,"file":"waitForResult.js","sourceRoot":"","sources":["../../../src/utils/waitForResult.ts"],"names":[],"mappings":";;;AAAA,yCAAkC;AAW3B,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,IAAA,gBAAK,EAAC,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,IAAA,gBAAK,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/B,KAAK,EAAE,CAAA;QACT,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAjCY,QAAA,aAAa,iBAiCzB"}
@@ -1,3 +1,8 @@
1
+ export declare class LruMap<value = unknown> extends Map<string, value> {
2
+ maxSize: number;
3
+ constructor(size: number);
4
+ set(key: string, value: value): this;
5
+ }
1
6
  type WithDedupeOptions = {
2
7
  enabled?: boolean | undefined;
3
8
  id?: string | undefined;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LruMap = void 0;
3
4
  exports.withDedupe = withDedupe;
4
5
  class LruMap extends Map {
5
6
  maxSize;
@@ -15,6 +16,7 @@ class LruMap extends Map {
15
16
  return this;
16
17
  }
17
18
  }
19
+ exports.LruMap = LruMap;
18
20
  const promiseCache = new LruMap(8192);
19
21
  function withDedupe(fn, { enabled = true, id }) {
20
22
  if (!enabled || !id) {
@@ -1 +1 @@
1
- {"version":3,"file":"withDedupe.js","sourceRoot":"","sources":["../../../src/utils/withDedupe.ts"],"names":[],"mappings":";;AA+BA,gCAaC;AAvCD,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;AAGD,MAAM,YAAY,GAAiB,IAAI,MAAM,CAAe,IAAI,CAAC,CAAA;AAQjE,SAAgB,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":";;;AA+BA,gCAaC;AAvCD,MAAa,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;AAfD,wBAeC;AAGD,MAAM,YAAY,GAAiB,IAAI,MAAM,CAAe,IAAI,CAAC,CAAA;AAQjE,SAAgB,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.8";
2
+ export declare const version = "4.0.0-beta.0";
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = exports.name = void 0;
4
4
  exports.name = '@lifi/sdk';
5
- exports.version = '4.0.0-alpha.8';
5
+ exports.version = '4.0.0-beta.0';
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,WAAW,CAAA;AAClB,QAAA,OAAO,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,WAAW,CAAA;AAClB,QAAA,OAAO,GAAG,cAAc,CAAA"}
@@ -35,7 +35,8 @@ export async function getQuote(client, params, options) {
35
35
  params.denyExchanges ??= client.config.routeOptions?.exchanges?.deny;
36
36
  params.preferExchanges ??= client.config.routeOptions?.exchanges?.prefer;
37
37
  for (const key of Object.keys(params)) {
38
- if (!params[key]) {
38
+ if (params[key] === undefined ||
39
+ params[key] === null) {
39
40
  delete params[key];
40
41
  }
41
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getQuote.js","sourceRoot":"","sources":["../../../src/actions/getQuote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getQuote.js","sourceRoot":"","sources":["../../../src/actions/getQuote.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export const getRelayedTransactionStatus = async (client, params, options) => {
21
21
  const queryParams = new URLSearchParams(otherParams);
22
22
  const decodedTaskId = decodeTaskId(taskId);
23
23
  // Temporary solution during the transition between status endpoints
24
- if (decodedTaskId.length === 3) {
24
+ if (decodedTaskId.length >= 3) {
25
25
  return (await getStatus(client, params, options));
26
26
  }
27
27
  const result = await request(client.config, `${client.config.apiUrl}/relayer/status/${taskId}?${queryParams}`, {
@@ -1 +1 @@
1
- {"version":3,"file":"getRelayedTransactionStatus.js","sourceRoot":"","sources":["../../../src/actions/getRelayedTransactionStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAC9C,MAAiB,EACjB,MAA0B,EAC1B,OAAwB,EACU,EAAE;IACpC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CAAC,yCAAyC,CAAC,CAC/D,CAAA;IACH,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,CAAA;IACzC,MAAM,WAAW,GAAG,IAAI,eAAe,CACrC,WAAgD,CACjD,CAAA;IAED,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAC1C,oEAAoE;IACpE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,SAAS,CACrB,MAAM,EACN,MAAM,EACN,OAAO,CACR,CAAuC,CAAA;IAC1C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,MAAM,CAAC,MAAM,EACb,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,mBAAmB,MAAM,IAAI,WAAW,EAAE,EACjE;QACE,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CACF,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CACjB,SAAS,CAAC,WAAW,EACrB,MAAM,CAAC,IAAI,CAAC,IAAI,EAChB,MAAM,CAAC,IAAI,CAAC,OAAO,CACpB,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAA;AACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"getRelayedTransactionStatus.js","sourceRoot":"","sources":["../../../src/actions/getRelayedTransactionStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAC9C,MAAiB,EACjB,MAA0B,EAC1B,OAAwB,EACU,EAAE;IACpC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CAAC,yCAAyC,CAAC,CAC/D,CAAA;IACH,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,CAAA;IACzC,MAAM,WAAW,GAAG,IAAI,eAAe,CACrC,WAAgD,CACjD,CAAA;IAED,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAC1C,oEAAoE;IACpE,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,SAAS,CACrB,MAAM,EACN,MAAM,EACN,OAAO,CACR,CAAuC,CAAA;IAC1C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,MAAM,CAAC,MAAM,EACb,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,mBAAmB,MAAM,IAAI,WAAW,EAAE,EACjE;QACE,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CACF,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CACjB,SAAS,CAAC,WAAW,EACrB,MAAM,CAAC,IAAI,CAAC,IAAI,EAChB,MAAM,CAAC,IAAI,CAAC,OAAO,CACpB,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAA;AACpB,CAAC,CAAA"}
@@ -38,7 +38,8 @@ export const getRelayerQuote = async (client, params, options) => {
38
38
  params.denyExchanges ??= client.config.routeOptions?.exchanges?.deny;
39
39
  params.preferExchanges ??= client.config.routeOptions?.exchanges?.prefer;
40
40
  for (const key of Object.keys(params)) {
41
- if (!params[key]) {
41
+ if (params[key] === undefined ||
42
+ params[key] === null) {
42
43
  delete params[key];
43
44
  }
44
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getRelayerQuote.js","sourceRoot":"","sources":["../../../src/actions/getRelayerQuote.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,MAAiB,EACjB,MAA8B,EAC9B,OAAwB,EACL,EAAE;IACrB,MAAM,kBAAkB,GAAwC;QAC9D,WAAW;QACX,WAAW;QACX,aAAa;QACb,YAAY;QACZ,SAAS;QACT,SAAS;KACV,CAAA;IACD,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CACjB,uBAAuB,iBAAiB,eAAe,CACxD,CACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAA;IAC9C,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAA;IAClD,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAA;IACxD,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAA;IACxD,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAA;IAC9C,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAA;IAClE,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAA;IAChE,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAA;IACpE,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAA;IACtE,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAA;IACpE,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAA;IAExE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,GAAyB,CAAC,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC,GAAyB,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,MAAM,CAAC,MAAM,EACb,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,kBAAkB,IAAI,eAAe,CAC1D,MAA2C,CAC5C,EAAE,EACH;QACE,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CACF,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CACjB,SAAS,CAAC,WAAW,EACrB,MAAM,CAAC,IAAI,CAAC,IAAI,EAChB,MAAM,CAAC,IAAI,CAAC,OAAO,CACpB,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAA;AACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"getRelayerQuote.js","sourceRoot":"","sources":["../../../src/actions/getRelayerQuote.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,MAAiB,EACjB,MAA8B,EAC9B,OAAwB,EACL,EAAE;IACrB,MAAM,kBAAkB,GAAwC;QAC9D,WAAW;QACX,WAAW;QACX,aAAa;QACb,YAAY;QACZ,SAAS;QACT,SAAS;KACV,CAAA;IACD,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CACjB,uBAAuB,iBAAiB,eAAe,CACxD,CACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAA;IAC9C,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAA;IAClD,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAA;IACxD,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAA;IACxD,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAA;IAC9C,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAA;IAClE,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAA;IAChE,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAA;IACpE,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAA;IACtE,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAA;IACpE,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAA;IAExE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IACE,MAAM,CAAC,GAAyB,CAAC,KAAK,SAAS;YAC/C,MAAM,CAAC,GAAyB,CAAC,KAAK,IAAI,EAC1C,CAAC;YACD,OAAO,MAAM,CAAC,GAAyB,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,MAAM,CAAC,MAAM,EACb,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,kBAAkB,IAAI,eAAe,CAC1D,MAA2C,CAC5C,EAAE,EACH;QACE,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CACF,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CACjB,SAAS,CAAC,WAAW,EACrB,MAAM,CAAC,IAAI,CAAC,IAAI,EAChB,MAAM,CAAC,IAAI,CAAC,OAAO,CACpB,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAA;AACpB,CAAC,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { ChainId } from '@lifi/types';
1
2
  import { isStep } from '../utils/isStep.js';
2
3
  import { request } from '../utils/request.js';
3
4
  /**
@@ -13,7 +14,23 @@ export const getStepTransaction = async (client, step, options) => {
13
14
  // While the validation fails for some users we should not enforce it
14
15
  console.warn('SDK Validation: Invalid Step', step);
15
16
  }
16
- return await request(client.config, `${client.config.apiUrl}/advanced/stepTransaction`, {
17
+ const { config } = client;
18
+ let requestUrl = `${config.apiUrl}/advanced/stepTransaction`;
19
+ const jitoBundle = config.routeOptions?.jitoBundle;
20
+ const svmSponsor = config.routeOptions?.svmSponsor;
21
+ if (step.action.fromChainId === ChainId.SOL) {
22
+ const queryParams = new URLSearchParams();
23
+ if (jitoBundle) {
24
+ queryParams.set('jitoBundle', jitoBundle.toString());
25
+ }
26
+ if (svmSponsor) {
27
+ queryParams.set('svmSponsor', svmSponsor);
28
+ }
29
+ if (queryParams.size > 0) {
30
+ requestUrl = `${requestUrl}?${queryParams}`;
31
+ }
32
+ }
33
+ return await request(config, requestUrl, {
17
34
  method: 'POST',
18
35
  headers: {
19
36
  'Content-Type': 'application/json',
@@ -1 +1 @@
1
- {"version":3,"file":"getStepTransaction.js","sourceRoot":"","sources":["../../../src/actions/getStepTransaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAiB,EACjB,IAA+B,EAC/B,OAAwB,EACL,EAAE;IACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,qEAAqE;QACrE,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAA;IACpD,CAAC;IAED,OAAO,MAAM,OAAO,CAClB,MAAM,CAAC,MAAM,EACb,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,2BAA2B,EAClD;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CACF,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"getStepTransaction.js","sourceRoot":"","sources":["../../../src/actions/getStepTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAiB,EACjB,IAA+B,EAC/B,OAAwB,EACL,EAAE;IACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,qEAAqE;QACrE,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAEzB,IAAI,UAAU,GAAG,GAAG,MAAM,CAAC,MAAM,2BAA2B,CAAA;IAC5D,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,UAAU,CAAA;IAClD,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,UAAU,CAAA;IAElD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAA;QACzC,IAAI,UAAU,EAAE,CAAC;YACf,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QAC3C,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACzB,UAAU,GAAG,GAAG,UAAU,IAAI,WAAW,EAAE,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,OAAO,CAAW,MAAM,EAAE,UAAU,EAAE;QACjD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -0,0 +1,5 @@
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
+ }
@@ -0,0 +1,6 @@
1
+ export class BaseStepExecutionTask {
2
+ shouldRun(_context) {
3
+ return Promise.resolve(true);
4
+ }
5
+ }
6
+ //# sourceMappingURL=BaseStepExecutionTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseStepExecutionTask.js","sourceRoot":"","sources":["../../../src/core/BaseStepExecutionTask.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,qBAAqB;IACzC,SAAS,CAAC,QAA6B;QACrC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;CAGF"}
@@ -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,5 +11,9 @@ 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
  }
@@ -1,3 +1,4 @@
1
+ import { ExecuteStepRetryError } from '../errors/errors.js';
1
2
  import { StatusManager } from './StatusManager.js';
2
3
  // Please be careful when changing the defaults as it may break the behavior (e.g., background execution)
3
4
  const defaultInteractionSettings = {
@@ -23,5 +24,57 @@ export class BaseStepExecutor {
23
24
  this.statusManager.allowUpdates(interactionSettings.allowUpdates);
24
25
  this.allowExecution = interactionSettings.allowExecution;
25
26
  };
27
+ createBaseContext = async (client, step, retryParams) => {
28
+ const fromChain = await client.getChainById(step.action.fromChainId);
29
+ const toChain = await client.getChainById(step.action.toChainId);
30
+ const isBridgeExecution = fromChain.id !== toChain.id;
31
+ return {
32
+ client,
33
+ step,
34
+ fromChain,
35
+ toChain,
36
+ isBridgeExecution,
37
+ retryParams,
38
+ statusManager: this.statusManager,
39
+ executionOptions: this.executionOptions,
40
+ allowUserInteraction: this.allowUserInteraction,
41
+ };
42
+ };
43
+ executeStep = async (client, step, retryParams) => {
44
+ try {
45
+ step.execution = this.statusManager.initializeExecution(step);
46
+ const baseContext = await this.createBaseContext(client, step, retryParams);
47
+ const context = await this.createContext(baseContext);
48
+ const pipeline = this.createPipeline(context);
49
+ await pipeline.run(context);
50
+ return step;
51
+ }
52
+ catch (error) {
53
+ const action = step.execution?.lastActionType
54
+ ? this.statusManager.findAction(step, step.execution.lastActionType)
55
+ : undefined;
56
+ const parsed = await this.parseErrors(error, step, action, retryParams);
57
+ if (!(parsed instanceof ExecuteStepRetryError)) {
58
+ if (action) {
59
+ this.statusManager.updateAction(step, action.type, 'FAILED', {
60
+ error: {
61
+ message: parsed.cause?.message,
62
+ code: parsed.code,
63
+ },
64
+ });
65
+ }
66
+ else {
67
+ this.statusManager.updateExecution(step, {
68
+ status: 'FAILED',
69
+ error: {
70
+ message: parsed.cause?.message,
71
+ code: parsed.code,
72
+ },
73
+ });
74
+ }
75
+ }
76
+ throw parsed;
77
+ }
78
+ };
26
79
  }
27
80
  //# sourceMappingURL=BaseStepExecutor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseStepExecutor.js","sourceRoot":"","sources":["../../../src/core/BaseStepExecutor.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,yGAAyG;AACzG,MAAM,0BAA0B,GAAG;IACjC,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,IAAI;IAClB,cAAc,EAAE,IAAI;CACrB,CAAA;AAED,MAAM,OAAgB,gBAAgB;IAC1B,gBAAgB,CAAmB;IACnC,aAAa,CAAe;IAE/B,oBAAoB,GAAG,IAAI,CAAA;IAC3B,cAAc,GAAG,IAAI,CAAA;IAE5B,YAAY,OAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;IAClD,CAAC;IAED,cAAc,GAAG,CAAC,QAA8B,EAAQ,EAAE;QACxD,MAAM,mBAAmB,GAAG;YAC1B,GAAG,0BAA0B;YAC7B,GAAG,QAAQ;SACZ,CAAA;QACD,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,gBAAgB,CAAA;QAChE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAA;QACjE,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC,cAAc,CAAA;IAC1D,CAAC,CAAA;CAGF"}
1
+ {"version":3,"file":"BaseStepExecutor.js","sourceRoot":"","sources":["../../../src/core/BaseStepExecutor.ts"],"names":[],"mappings":"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"}