@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
@@ -0,0 +1,114 @@
1
+ import type { ExtendedTransactionInfo, FullStatusData } from '@lifi/types'
2
+ import { LiFiErrorCode } from '../../errors/constants.js'
3
+ import { TransactionError } from '../../errors/errors.js'
4
+ import type { ExecutionActionType } from '../../types/core.js'
5
+ import type { StepExecutorContext, TaskResult } from '../../types/execution.js'
6
+ import { getTransactionFailedMessage } from '../../utils/getTransactionMessage.js'
7
+ import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js'
8
+ import { waitForTransactionStatus } from './helpers/waitForTransactionStatus.js'
9
+
10
+ export class WaitForTransactionStatusTask extends BaseStepExecutionTask {
11
+ readonly actionType: ExecutionActionType
12
+
13
+ constructor(actionType: ExecutionActionType) {
14
+ super()
15
+ this.actionType = actionType
16
+ }
17
+
18
+ async run(context: StepExecutorContext): Promise<TaskResult> {
19
+ const {
20
+ client,
21
+ step,
22
+ statusManager,
23
+ pollingIntervalMs,
24
+ toChain,
25
+ isBridgeExecution,
26
+ } = context
27
+
28
+ // At this point, we should have a txHash or taskId
29
+ // taskId is used for custom integrations that don't use the standard transaction hash
30
+ let transactionHash: string | undefined
31
+ try {
32
+ const swapOrBridgeAction = statusManager.findAction(
33
+ step,
34
+ isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP'
35
+ )
36
+ transactionHash = swapOrBridgeAction?.txHash || swapOrBridgeAction?.taskId
37
+
38
+ // Wait for the transaction status on the destination chain
39
+ if (!transactionHash) {
40
+ throw new Error('Transaction hash is undefined.')
41
+ }
42
+
43
+ const action = statusManager.initializeAction({
44
+ step,
45
+ type: this.actionType,
46
+ chainId:
47
+ this.actionType === 'RECEIVING_CHAIN'
48
+ ? step.action.toChainId
49
+ : step.action.fromChainId,
50
+ status: 'PENDING',
51
+ })
52
+
53
+ const statusResponse = (await waitForTransactionStatus(
54
+ client,
55
+ statusManager,
56
+ transactionHash,
57
+ step,
58
+ action.type,
59
+ pollingIntervalMs
60
+ )) as FullStatusData
61
+
62
+ const statusReceiving =
63
+ statusResponse.receiving as ExtendedTransactionInfo
64
+
65
+ // Update action status
66
+ statusManager.updateAction(step, action.type, 'DONE', {
67
+ chainId: statusReceiving?.chainId || toChain.id,
68
+ substatus: statusResponse.substatus,
69
+ substatusMessage: statusResponse.substatusMessage,
70
+ txHash: statusReceiving?.txHash,
71
+ txLink:
72
+ statusReceiving?.txLink ||
73
+ `${toChain.metamask.blockExplorerUrls[0]}tx/${statusReceiving?.txHash}`,
74
+ })
75
+
76
+ // Update execution status
77
+ statusManager.updateExecution(step, {
78
+ status: 'DONE',
79
+ ...(statusResponse.sending.amount && {
80
+ fromAmount: statusResponse.sending.amount,
81
+ }),
82
+ ...(statusReceiving?.amount && { toAmount: statusReceiving.amount }),
83
+ ...(statusReceiving?.token && { toToken: statusReceiving.token }),
84
+ internalTxLink: statusResponse?.lifiExplorerLink,
85
+ externalTxLink: statusResponse?.bridgeExplorerLink,
86
+ gasCosts: [
87
+ {
88
+ amount: statusResponse.sending.gasAmount,
89
+ amountUSD: statusResponse.sending.gasAmountUSD,
90
+ token: statusResponse.sending.gasToken,
91
+ estimate: statusResponse.sending.gasUsed,
92
+ limit: statusResponse.sending.gasUsed,
93
+ price: statusResponse.sending.gasPrice,
94
+ type: 'SEND',
95
+ },
96
+ ],
97
+ })
98
+
99
+ return { status: 'COMPLETED' }
100
+ } catch (e: any) {
101
+ const htmlMessage = await getTransactionFailedMessage(
102
+ client,
103
+ step,
104
+ `${toChain.metamask.blockExplorerUrls[0]}tx/${transactionHash}`
105
+ )
106
+ throw new TransactionError(
107
+ LiFiErrorCode.TransactionFailed,
108
+ htmlMessage ??
109
+ 'Failed while waiting for status of destination chain transaction.',
110
+ e
111
+ )
112
+ }
113
+ }
114
+ }
@@ -1,9 +1,9 @@
1
1
  import type { LiFiStep } from '@lifi/types'
2
- import { getTokenBalance } from '../actions/getTokenBalance.js'
3
- import { BalanceError } from '../errors/errors.js'
4
- import type { SDKClient } from '../types/core.js'
5
- import { formatUnits } from '../utils/formatUnits.js'
6
- import { sleep } from '../utils/sleep.js'
2
+ import { getTokenBalance } from '../../../actions/getTokenBalance.js'
3
+ import { BalanceError } from '../../../errors/errors.js'
4
+ import type { SDKClient } from '../../../types/core.js'
5
+ import { formatUnits } from '../../../utils/formatUnits.js'
6
+ import { sleep } from '../../../utils/sleep.js'
7
7
 
8
8
  export const checkBalance = async (
9
9
  client: SDKClient,
@@ -0,0 +1,47 @@
1
+ import { LiFiErrorCode } from '../../../errors/constants.js'
2
+ import { TransactionError } from '../../../errors/errors.js'
3
+ import type {
4
+ ExecutionOptions,
5
+ LiFiStepExtended,
6
+ TransactionParameters,
7
+ } from '../../../types/core.js'
8
+
9
+ export const getTransactionRequestData = async (
10
+ step: LiFiStepExtended,
11
+ executionOptions?: ExecutionOptions
12
+ ): Promise<string> => {
13
+ if (!step.transactionRequest?.data) {
14
+ throw new TransactionError(
15
+ LiFiErrorCode.TransactionUnprepared,
16
+ 'Unable to prepare transaction. Transaction request data is not found.'
17
+ )
18
+ }
19
+
20
+ let transactionRequest: TransactionParameters = {
21
+ data: step.transactionRequest.data,
22
+ }
23
+
24
+ if (executionOptions?.updateTransactionRequestHook) {
25
+ const customizedTransactionRequest: TransactionParameters =
26
+ await executionOptions.updateTransactionRequestHook({
27
+ requestType: 'transaction',
28
+ ...transactionRequest,
29
+ })
30
+
31
+ transactionRequest = {
32
+ ...transactionRequest,
33
+ ...customizedTransactionRequest,
34
+ }
35
+ }
36
+
37
+ const transactionRequestData = transactionRequest.data
38
+
39
+ if (!transactionRequestData) {
40
+ throw new TransactionError(
41
+ LiFiErrorCode.TransactionUnprepared,
42
+ 'Unable to prepare transaction. Transaction request data is not found.'
43
+ )
44
+ }
45
+
46
+ return transactionRequestData
47
+ }
@@ -1,9 +1,9 @@
1
1
  import type { LiFiStep } from '@lifi/types'
2
- import { LiFiErrorCode } from '../errors/constants.js'
3
- import { TransactionError } from '../errors/errors.js'
4
- import type { ExecutionOptions } from '../types/core.js'
5
- import type { StatusManager } from './StatusManager.js'
6
- import { checkStepSlippageThreshold } from './utils.js'
2
+ import type { StatusManager } from '../../../core/StatusManager.js'
3
+ import { checkStepSlippageThreshold } from '../../../core/utils.js'
4
+ import { LiFiErrorCode } from '../../../errors/constants.js'
5
+ import { TransactionError } from '../../../errors/errors.js'
6
+ import type { ExecutionOptions } from '../../../types/core.js'
7
7
 
8
8
  /**
9
9
  * This method checks whether the new and updated Step meets the required exchange rate conditions.
@@ -1,10 +1,10 @@
1
1
  import type { FullStatusData, LiFiStep, StatusResponse } from '@lifi/types'
2
- import { getStatus } from '../actions/getStatus.js'
3
- import { ServerError } from '../errors/errors.js'
4
- import type { ProcessType, SDKClient } from '../types/core.js'
5
- import { waitForResult } from '../utils/waitForResult.js'
6
- import { getSubstatusMessage } from './processMessages.js'
7
- import type { StatusManager } from './StatusManager.js'
2
+ import { getStatus } from '../../../actions/getStatus.js'
3
+ import { ServerError } from '../../../errors/errors.js'
4
+ import type { ExecutionActionType, SDKClient } from '../../../types/core.js'
5
+ import { waitForResult } from '../../../utils/waitForResult.js'
6
+ import { getSubstatusMessage } from '../../actionMessages.js'
7
+ import type { StatusManager } from '../../StatusManager.js'
8
8
 
9
9
  const TRANSACTION_HASH_OBSERVERS: Record<string, Promise<StatusResponse>> = {}
10
10
 
@@ -13,7 +13,7 @@ export async function waitForTransactionStatus(
13
13
  statusManager: StatusManager,
14
14
  txHash: string,
15
15
  step: LiFiStep,
16
- processType: ProcessType,
16
+ actionType: ExecutionActionType,
17
17
  interval = 5_000
18
18
  ): Promise<StatusResponse> {
19
19
  const _getStatus = (): Promise<StatusResponse | undefined> => {
@@ -29,7 +29,7 @@ export async function waitForTransactionStatus(
29
29
  case 'DONE':
30
30
  return statusResponse
31
31
  case 'PENDING':
32
- statusManager?.updateProcess(step, processType, 'PENDING', {
32
+ statusManager?.updateAction(step, actionType, 'PENDING', {
33
33
  substatus: statusResponse.substatus,
34
34
  substatusMessage:
35
35
  statusResponse.substatusMessage ||
@@ -57,7 +57,9 @@ export async function waitForTransactionStatus(
57
57
  let status = TRANSACTION_HASH_OBSERVERS[txHash]
58
58
 
59
59
  if (!status) {
60
- status = waitForResult(_getStatus, interval)
60
+ status = waitForResult(_getStatus, interval).finally(() => {
61
+ delete TRANSACTION_HASH_OBSERVERS[txHash]
62
+ })
61
63
  TRANSACTION_HASH_OBSERVERS[txHash] = status
62
64
  }
63
65
 
@@ -1,24 +1,24 @@
1
1
  import type { LiFiStep } from '@lifi/types'
2
- import type { Process } from '../types/core.js'
2
+ import type { ExecutionAction } from '../types/core.js'
3
3
  import { version } from '../version.js'
4
4
  import type { BaseError } from './baseError.js'
5
5
  import type { ErrorCode } from './constants.js'
6
6
 
7
7
  // Note: SDKError is used to wrapper and present errors at the top level
8
- // Where opportunity allows we also add the step and the process related to the error
8
+ // Where opportunity allows we also add the step and the action related to the error
9
9
  export class SDKError extends Error {
10
10
  step?: LiFiStep
11
- process?: Process
11
+ action?: ExecutionAction
12
12
  code: ErrorCode
13
13
  override name = 'SDKError'
14
14
  override cause: BaseError
15
15
 
16
- constructor(cause: BaseError, step?: LiFiStep, process?: Process) {
16
+ constructor(cause: BaseError, step?: LiFiStep, action?: ExecutionAction) {
17
17
  const errorMessage = `${cause.message ? `[${cause.name}] ${cause.message}` : 'Unknown error occurred'}\nLI.FI SDK version: ${version}`
18
18
  super(errorMessage)
19
19
  this.name = 'SDKError'
20
20
  this.step = step
21
- this.process = process
21
+ this.action = action
22
22
  this.cause = cause
23
23
  this.stack = this.cause.stack
24
24
  this.code = cause.code
@@ -10,6 +10,7 @@ export enum ErrorName {
10
10
  SlippageError = 'SlippageError',
11
11
  HTTPError = 'HTTPError',
12
12
  ConfigError = 'ConfigError',
13
+ ExecuteStepRetryError = 'ExecuteStepRetryError',
13
14
  }
14
15
 
15
16
  export type ErrorCode = LiFiErrorCode
@@ -1,3 +1,4 @@
1
+ import type { ExecuteStepRetryParams } from '../types/core.js'
1
2
  import { BaseError } from './baseError.js'
2
3
  import { ErrorName, LiFiErrorCode } from './constants.js'
3
4
 
@@ -42,3 +43,26 @@ export class ValidationError extends BaseError {
42
43
  super(ErrorName.ValidationError, LiFiErrorCode.ValidationError, message)
43
44
  }
44
45
  }
46
+
47
+ /**
48
+ * Thrown by a step executor when executeStep should be retried with the given params
49
+ * (e.g. wallet rejected 7702 upgrade → retry with atomicityNotReady).
50
+ * The execution layer catches this and retries executeStep(client, step, retryParams).
51
+ */
52
+ export class ExecuteStepRetryError extends BaseError {
53
+ readonly retryParams: ExecuteStepRetryParams
54
+
55
+ constructor(
56
+ message: string,
57
+ retryParams: ExecuteStepRetryParams,
58
+ cause?: Error
59
+ ) {
60
+ super(
61
+ ErrorName.ExecuteStepRetryError,
62
+ LiFiErrorCode.InternalError,
63
+ message,
64
+ cause
65
+ )
66
+ this.retryParams = retryParams
67
+ }
68
+ }
package/src/index.ts CHANGED
@@ -24,8 +24,9 @@ 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 {
30
31
  executeRoute,
31
32
  getActiveRoute,
@@ -35,13 +36,25 @@ export {
35
36
  updateRouteExecution,
36
37
  } from './core/execution.js'
37
38
  export { StatusManager } from './core/StatusManager.js'
38
- export { stepComparison } from './core/stepComparison.js'
39
- export { waitForDestinationChainTransaction } from './core/waitForDestinationChainTransaction.js'
39
+ export type { SDKStorage } from './core/storage.js'
40
+ export {
41
+ createDefaultStorage,
42
+ InMemoryStorage,
43
+ LocalStorageAdapter,
44
+ } from './core/storage.js'
45
+ export { TaskPipeline } from './core/TaskPipeline.js'
46
+ export { CheckBalanceTask } from './core/tasks/CheckBalanceTask.js'
47
+ export { checkBalance } from './core/tasks/helpers/checkBalance.js'
48
+ export { getTransactionRequestData } from './core/tasks/helpers/getTransactionRequestData.js'
49
+ export { stepComparison } from './core/tasks/helpers/stepComparison.js'
50
+ export { PrepareTransactionTask } from './core/tasks/PrepareTransactionTask.js'
51
+ export { WaitForTransactionStatusTask } from './core/tasks/WaitForTransactionStatusTask.js'
40
52
  export { BaseError } from './errors/baseError.js'
41
53
  export type { ErrorCode } from './errors/constants.js'
42
54
  export { ErrorMessage, ErrorName, LiFiErrorCode } from './errors/constants.js'
43
55
  export {
44
56
  BalanceError,
57
+ ExecuteStepRetryError,
45
58
  ProviderError,
46
59
  RPCError,
47
60
  ServerError,
@@ -58,16 +71,17 @@ export type {
58
71
  ContractCallParams,
59
72
  ContractTool,
60
73
  ExchangeRateUpdateParams,
74
+ ExecuteStepRetryParams,
61
75
  Execution,
76
+ ExecutionAction,
77
+ ExecutionActionStatus,
78
+ ExecutionActionType,
62
79
  ExecutionOptions,
63
80
  ExecutionStatus,
64
81
  GetContractCallsHook,
65
82
  GetContractCallsResult,
66
83
  InteractionSettings,
67
84
  LiFiStepExtended,
68
- Process,
69
- ProcessStatus,
70
- ProcessType,
71
85
  RequestInterceptor,
72
86
  RouteExecutionData,
73
87
  RouteExecutionDataDictionary,
@@ -87,6 +101,12 @@ export type {
87
101
  TransactionRequestUpdateHook,
88
102
  UpdateRouteHook,
89
103
  } from './types/core.js'
104
+ export type {
105
+ StepExecutorBaseContext,
106
+ StepExecutorContext,
107
+ TaskResult,
108
+ TaskStatus,
109
+ } from './types/execution.js'
90
110
  export { checkPackageUpdates } from './utils/checkPackageUpdates.js'
91
111
  export { convertQuoteToRoute } from './utils/convertQuoteToRoute.js'
92
112
  export { fetchTxErrorDetails } from './utils/fetchTxErrorDetails.js'
@@ -95,4 +115,4 @@ export { isHex } from './utils/isHex.js'
95
115
  export { parseUnits } from './utils/parseUnits.js'
96
116
  export { sleep } from './utils/sleep.js'
97
117
  export { waitForResult } from './utils/waitForResult.js'
98
- export { withDedupe } from './utils/withDedupe.js'
118
+ export { LruMap, withDedupe } from './utils/withDedupe.js'
package/src/types/core.ts CHANGED
@@ -14,6 +14,7 @@ import type {
14
14
  Token,
15
15
  TokenAmount,
16
16
  } from '@lifi/types'
17
+ import type { SDKStorage } from '../core/storage.js'
17
18
  import type { ExtendedRequestInit } from './request.js'
18
19
 
19
20
  export type RequestInterceptor = (
@@ -34,6 +35,7 @@ export interface SDKBaseConfig {
34
35
  preloadChains?: boolean
35
36
  chainsRefetchInterval?: number
36
37
  requestInterceptor?: RequestInterceptor
38
+ storage?: SDKStorage
37
39
  }
38
40
 
39
41
  export interface SDKConfig extends Partial<Omit<SDKBaseConfig, 'integrator'>> {
@@ -82,13 +84,20 @@ export interface InteractionSettings {
82
84
  allowExecution?: boolean
83
85
  }
84
86
 
87
+ /**
88
+ * Params passed when retrying executeStep after an ExecuteStepRetryError.
89
+ * Providers can use this to pass strategy-specific retry options (e.g. atomicityNotReady for Ethereum 7702).
90
+ */
91
+ export type ExecuteStepRetryParams = Record<string, unknown>
92
+
85
93
  export interface StepExecutor {
86
94
  allowUserInteraction: boolean
87
95
  allowExecution: boolean
88
96
  setInteraction(settings?: InteractionSettings): void
89
97
  executeStep(
90
98
  client: SDKClient,
91
- step: LiFiStepExtended
99
+ step: LiFiStepExtended,
100
+ retryParams?: ExecuteStepRetryParams
92
101
  ): Promise<LiFiStepExtended>
93
102
  }
94
103
 
@@ -195,7 +204,6 @@ export interface ExecutionOptions {
195
204
  getContractCalls?: GetContractCallsHook
196
205
  adjustZeroOutputFromPreviousStep?: boolean
197
206
  executeInBackground?: boolean
198
- disableMessageSigning?: boolean
199
207
  /**
200
208
  * @deprecated
201
209
  */
@@ -204,7 +212,7 @@ export interface ExecutionOptions {
204
212
 
205
213
  export type ExecutionStatus = 'ACTION_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE'
206
214
 
207
- export type ProcessStatus =
215
+ export type ExecutionActionStatus =
208
216
  | 'STARTED'
209
217
  | 'ACTION_REQUIRED'
210
218
  | 'MESSAGE_REQUIRED'
@@ -214,43 +222,38 @@ export type ProcessStatus =
214
222
  | 'DONE'
215
223
  | 'CANCELLED'
216
224
 
217
- export type ProcessType =
218
- | 'TOKEN_ALLOWANCE'
225
+ export type ExecutionActionType =
219
226
  | 'PERMIT'
227
+ | 'CHECK_ALLOWANCE'
228
+ | 'NATIVE_PERMIT'
229
+ | 'RESET_ALLOWANCE'
230
+ | 'SET_ALLOWANCE'
220
231
  | 'SWAP'
221
232
  | 'CROSS_CHAIN'
222
233
  | 'RECEIVING_CHAIN'
223
234
 
224
- export type Process = {
225
- type: ProcessType
226
- status: ProcessStatus
235
+ export type ExecutionAction = {
236
+ type: ExecutionActionType
237
+ status: ExecutionActionStatus
238
+ message?: string
227
239
  substatus?: Substatus
240
+ substatusMessage?: string
228
241
  chainId?: number
229
242
  txHash?: string
230
- taskId?: string
231
243
  txLink?: string
244
+ taskId?: string
232
245
  txType?: TransactionMethodType
233
- actionRequiredAt?: number
234
- doneAt?: number
235
- failedAt?: number
236
- pendingAt?: number
237
- startedAt: number
238
- message?: string
239
- error?: {
240
- code: string | number
241
- message: string
242
- htmlMessage?: string
243
- }
244
-
245
- // additional information
246
- [key: string]: any
246
+ txHex?: string
247
+ // Errors occured during the action execution (within tasks)
248
+ error?: { code: string | number; message: string; htmlMessage?: string }
247
249
  }
248
250
 
249
251
  export interface Execution {
250
252
  startedAt: number
251
- doneAt?: number
253
+ signedAt?: number
252
254
  status: ExecutionStatus
253
- process: Array<Process>
255
+ actions: Array<ExecutionAction>
256
+ lastActionType?: ExecutionActionType
254
257
  fromAmount?: string
255
258
  toAmount?: string
256
259
  toToken?: Token
@@ -258,6 +261,8 @@ export interface Execution {
258
261
  gasCosts?: GasCost[]
259
262
  internalTxLink?: string
260
263
  externalTxLink?: string
264
+ // Errors occured outside of actions (e.g. during context creation)
265
+ error?: { code: string | number; message: string; htmlMessage?: string }
261
266
  }
262
267
 
263
268
  export type TransactionMethodType = 'standard' | 'relayed' | 'batched'
@@ -0,0 +1,32 @@
1
+ import type { ExtendedChain } from '@lifi/types'
2
+ import type { StatusManager } from '../core/StatusManager.js'
3
+ import type {
4
+ ExecuteStepRetryParams,
5
+ ExecutionOptions,
6
+ LiFiStepExtended,
7
+ SDKClient,
8
+ } from './core.js'
9
+
10
+ export interface StepExecutorBaseContext {
11
+ statusManager: StatusManager
12
+ executionOptions?: ExecutionOptions
13
+ fromChain: ExtendedChain
14
+ toChain: ExtendedChain
15
+ isBridgeExecution: boolean
16
+ client: SDKClient
17
+ step: LiFiStepExtended
18
+ allowUserInteraction: boolean
19
+ retryParams?: ExecuteStepRetryParams
20
+ }
21
+
22
+ export interface StepExecutorContext extends StepExecutorBaseContext {
23
+ pollingIntervalMs?: number
24
+ }
25
+
26
+ export interface TaskResult<TContext = Record<string, unknown>> {
27
+ status: TaskStatus
28
+ /** Optional: data produced for downstream tasks. Pipeline merges into the executor context. */
29
+ context?: TContext
30
+ }
31
+
32
+ export type TaskStatus = 'COMPLETED' | 'PAUSED'
@@ -3,7 +3,7 @@ import { sleep } from './sleep.js'
3
3
  /**
4
4
  * Repeatedly calls a given asynchronous function until it resolves with a value
5
5
  * @param fn The function that should be repeated
6
- * @param interval The timeout in milliseconds between retries, defaults to 5000
6
+ * @param interval The timeout in milliseconds between retries, or a function that receives the current poll count and returns the interval. Defaults to 5000
7
7
  * @param maxRetries Maximum number of retries before throwing an error, defaults to 3
8
8
  * @param shouldRetry Optional predicate to determine if an error should trigger a retry
9
9
  * @returns The result of the fn function
@@ -11,18 +11,22 @@ import { sleep } from './sleep.js'
11
11
  */
12
12
  export const waitForResult = async <T>(
13
13
  fn: () => Promise<T | undefined>,
14
- interval = 5000,
14
+ interval: number | ((poll: number) => number) = 5000,
15
15
  maxRetries = 3,
16
16
  shouldRetry: (count: number, error: unknown) => boolean = () => true
17
17
  ): Promise<T> => {
18
18
  let result: T | undefined
19
19
  let attempts = 0
20
+ let polls = 0
21
+
22
+ const getInterval = typeof interval === 'function' ? interval : () => interval
20
23
 
21
24
  while (!result) {
22
25
  try {
23
26
  result = await fn()
24
27
  if (!result) {
25
- await sleep(interval)
28
+ await sleep(getInterval(polls))
29
+ polls++
26
30
  }
27
31
  } catch (error) {
28
32
  if (!shouldRetry(attempts, error)) {
@@ -32,7 +36,8 @@ export const waitForResult = async <T>(
32
36
  if (attempts === maxRetries) {
33
37
  throw error
34
38
  }
35
- await sleep(interval)
39
+ await sleep(getInterval(polls))
40
+ polls++
36
41
  }
37
42
  }
38
43
 
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU
5
5
  */
6
- class LruMap<value = unknown> extends Map<string, value> {
6
+ export class LruMap<value = unknown> extends Map<string, value> {
7
7
  maxSize: number
8
8
 
9
9
  constructor(size: number) {
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export const name = '@lifi/sdk'
2
- export const version = '4.0.0-alpha.8'
2
+ export const version = '4.0.0-beta.0'
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../../src/core/checkBalance.ts"],"names":[],"mappings":";;;AACA,sEAA+D;AAC/D,mDAAkD;AAElD,4DAAqD;AACrD,gDAAyC;AAElC,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAiB,EACjB,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,IAAA,oCAAe,EACjC,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,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,IAAA,oBAAY,EAAC,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;gBAED,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,IAAA,4BAAW,EAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACzD,MAAM,OAAO,GAAG,IAAA,4BAAW,EAAC,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,wBAAY,CACpB,yBAAyB,EACzB,IAAI,KAAK,CAAC,YAAY,CAAC,CACxB,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AA3CY,QAAA,YAAY,gBA2CxB"}
@@ -1,4 +0,0 @@
1
- import type { StatusMessage, Substatus } from '@lifi/types';
2
- import type { ProcessStatus, ProcessType } from '../types/core.js';
3
- export declare function getProcessMessage(type: ProcessType, status: ProcessStatus): string | undefined;
4
- export declare function getSubstatusMessage(status: StatusMessage, substatus?: Substatus): string | undefined;
@@ -1 +0,0 @@
1
- {"version":3,"file":"processMessages.js","sourceRoot":"","sources":["../../../src/core/processMessages.ts"],"names":[],"mappings":";;AAiEA,8CAMC;AAED,kDASC;AA/ED,MAAM,eAAe,GAGjB;IACF,eAAe,EAAE;QACf,OAAO,EAAE,yBAAyB;QAClC,eAAe,EAAE,qBAAqB;QACtC,cAAc,EAAE,2BAA2B;QAC3C,gBAAgB,EAAE,8BAA8B;QAChD,OAAO,EAAE,6BAA6B;QACtC,IAAI,EAAE,qBAAqB;KAC5B;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,4BAA4B;QACrC,eAAe,EAAE,uBAAuB;QACxC,gBAAgB,EAAE,mBAAmB;QACrC,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,gBAAgB;KACvB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,8BAA8B;QACvC,eAAe,EAAE,yBAAyB;QAC1C,gBAAgB,EAAE,qBAAqB;QACvC,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,8BAA8B;KACrC;IACD,eAAe,EAAE;QACf,OAAO,EAAE,+BAA+B;QACxC,IAAI,EAAE,kBAAkB;KACzB;IACD,MAAM,EAAE;QACN,OAAO,EAAE,uBAAuB;QAChC,eAAe,EAAE,qBAAqB;QACtC,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,uBAAuB;KAC9B;CACF,CAAA;AACD,MAAM,iBAAiB,GAGnB;IACF,OAAO,EAAE;QACP,oBAAoB,EAAE,kDAAkD;QACxE,mBAAmB,EAAE,+CAA+C;QACpE,aAAa,EACX,mFAAmF;QACrF,yBAAyB,EACvB,kHAAkH;QACpH,4BAA4B,EAC1B,4GAA4G;KAC/G;IACD,IAAI,EAAE;QACJ,OAAO,EACL,uEAAuE;QACzE,QAAQ,EAAE,iDAAiD;QAC3D,SAAS,EAAE,2BAA2B;KACvC;IACD,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;CACd,CAAA;AAED,SAAgB,iBAAiB,CAC/B,IAAiB,EACjB,MAAqB;IAErB,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IACpD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,SAAgB,mBAAmB,CACjC,MAAqB,EACrB,SAAqB;IAErB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAM;IACR,CAAC;IACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAA;IACpD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stepComparison.js","sourceRoot":"","sources":["../../../src/core/stepComparison.ts"],"names":[],"mappings":";;;AACA,yDAAsD;AACtD,mDAAsD;AAGtD,yCAAuD;AAchD,MAAM,cAAc,GAAG,KAAK,EACjC,aAA4B,EAC5B,OAAiB,EACjB,OAAiB,EACjB,oBAA6B,EAC7B,gBAAmC,EAChB,EAAE;IAErB,IAAI,IAAA,qCAA0B,EAAC,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;QAErB,MAAM,IAAI,4BAAgB,CACxB,4BAAa,CAAC,0BAA0B,EACxC,+LAA+L,CAChM,CAAA;IACH,CAAC;IAED,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA;AA9BY,QAAA,cAAc,kBA8B1B"}
@@ -1,4 +0,0 @@
1
- import type { ExtendedChain } from '@lifi/types';
2
- import type { LiFiStepExtended, Process, SDKClient } from '../types/core.js';
3
- import type { StatusManager } from './StatusManager.js';
4
- export declare function waitForDestinationChainTransaction(client: SDKClient, step: LiFiStepExtended, process: Process, fromChain: ExtendedChain, toChain: ExtendedChain, statusManager: StatusManager, pollingInterval?: number): Promise<LiFiStepExtended>;