@lifi/sdk 4.0.0-alpha.13 → 4.0.0-alpha.16

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 (183) hide show
  1. package/dist/cjs/core/BaseStepExecutionTask.d.ts +5 -0
  2. package/dist/cjs/core/BaseStepExecutionTask.js +10 -0
  3. package/dist/cjs/core/BaseStepExecutionTask.js.map +1 -0
  4. package/dist/cjs/core/BaseStepExecutor.d.ts +7 -3
  5. package/dist/cjs/core/BaseStepExecutor.js +24 -0
  6. package/dist/cjs/core/BaseStepExecutor.js.map +1 -1
  7. package/dist/cjs/core/StatusManager.d.ts +6 -3
  8. package/dist/cjs/core/StatusManager.js +21 -17
  9. package/dist/cjs/core/StatusManager.js.map +1 -1
  10. package/dist/cjs/core/TaskPipeline.d.ts +7 -0
  11. package/dist/cjs/core/TaskPipeline.js +46 -0
  12. package/dist/cjs/core/TaskPipeline.js.map +1 -0
  13. package/dist/cjs/core/actionMessages.js +19 -3
  14. package/dist/cjs/core/actionMessages.js.map +1 -1
  15. package/dist/cjs/core/execution.js +13 -1
  16. package/dist/cjs/core/execution.js.map +1 -1
  17. package/dist/cjs/core/prepareRestart.js +3 -3
  18. package/dist/cjs/core/prepareRestart.js.map +1 -1
  19. package/dist/cjs/core/tasks/CheckBalanceTask.d.ts +5 -0
  20. package/dist/cjs/core/tasks/CheckBalanceTask.js +25 -0
  21. package/dist/cjs/core/tasks/CheckBalanceTask.js.map +1 -0
  22. package/dist/cjs/core/tasks/PrepareTransactionTask.d.ts +5 -0
  23. package/dist/cjs/core/tasks/PrepareTransactionTask.js +36 -0
  24. package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -0
  25. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.d.ts +8 -0
  26. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +73 -0
  27. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  28. package/dist/cjs/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  29. package/dist/cjs/core/{checkBalance.js → tasks/helpers/checkBalance.js} +4 -4
  30. package/dist/cjs/core/tasks/helpers/checkBalance.js.map +1 -0
  31. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.d.ts +2 -0
  32. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js +30 -0
  33. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  34. package/dist/cjs/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  35. package/dist/cjs/core/{stepComparison.js → tasks/helpers/stepComparison.js} +3 -3
  36. package/dist/cjs/core/tasks/helpers/stepComparison.js.map +1 -0
  37. package/dist/cjs/core/{waitForTransactionStatus.d.ts → tasks/helpers/waitForTransactionStatus.d.ts} +2 -2
  38. package/dist/cjs/core/{waitForTransactionStatus.js → tasks/helpers/waitForTransactionStatus.js} +8 -6
  39. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  40. package/dist/cjs/errors/constants.d.ts +2 -1
  41. package/dist/cjs/errors/constants.js +1 -0
  42. package/dist/cjs/errors/constants.js.map +1 -1
  43. package/dist/cjs/errors/errors.d.ts +5 -0
  44. package/dist/cjs/errors/errors.js +9 -1
  45. package/dist/cjs/errors/errors.js.map +1 -1
  46. package/dist/cjs/index.d.ts +12 -5
  47. package/dist/cjs/index.js +21 -7
  48. package/dist/cjs/index.js.map +1 -1
  49. package/dist/cjs/types/core.d.ts +11 -8
  50. package/dist/cjs/types/execution.d.ts +25 -0
  51. package/dist/cjs/types/execution.js +3 -0
  52. package/dist/cjs/types/execution.js.map +1 -0
  53. package/dist/cjs/version.d.ts +1 -1
  54. package/dist/cjs/version.js +1 -1
  55. package/dist/esm/core/BaseStepExecutionTask.d.ts +5 -0
  56. package/dist/esm/core/BaseStepExecutionTask.js +6 -0
  57. package/dist/esm/core/BaseStepExecutionTask.js.map +1 -0
  58. package/dist/esm/core/BaseStepExecutor.d.ts +7 -3
  59. package/dist/esm/core/BaseStepExecutor.js +24 -0
  60. package/dist/esm/core/BaseStepExecutor.js.map +1 -1
  61. package/dist/esm/core/StatusManager.d.ts +17 -6
  62. package/dist/esm/core/StatusManager.js +32 -20
  63. package/dist/esm/core/StatusManager.js.map +1 -1
  64. package/dist/esm/core/TaskPipeline.d.ts +7 -0
  65. package/dist/esm/core/TaskPipeline.js +42 -0
  66. package/dist/esm/core/TaskPipeline.js.map +1 -0
  67. package/dist/esm/core/actionMessages.js +19 -3
  68. package/dist/esm/core/actionMessages.js.map +1 -1
  69. package/dist/esm/core/execution.js +14 -3
  70. package/dist/esm/core/execution.js.map +1 -1
  71. package/dist/esm/core/prepareRestart.js +4 -3
  72. package/dist/esm/core/prepareRestart.js.map +1 -1
  73. package/dist/esm/core/tasks/CheckBalanceTask.d.ts +5 -0
  74. package/dist/esm/core/tasks/CheckBalanceTask.js +21 -0
  75. package/dist/esm/core/tasks/CheckBalanceTask.js.map +1 -0
  76. package/dist/esm/core/tasks/PrepareTransactionTask.d.ts +5 -0
  77. package/dist/esm/core/tasks/PrepareTransactionTask.js +32 -0
  78. package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -0
  79. package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts +8 -0
  80. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +74 -0
  81. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  82. package/dist/esm/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  83. package/dist/esm/core/{checkBalance.js → tasks/helpers/checkBalance.js} +4 -4
  84. package/dist/esm/core/tasks/helpers/checkBalance.js.map +1 -0
  85. package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts +2 -0
  86. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js +26 -0
  87. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  88. package/dist/esm/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  89. package/dist/esm/core/{stepComparison.js → tasks/helpers/stepComparison.js} +3 -3
  90. package/dist/esm/core/tasks/helpers/stepComparison.js.map +1 -0
  91. package/dist/esm/core/{waitForTransactionStatus.d.ts → tasks/helpers/waitForTransactionStatus.d.ts} +2 -2
  92. package/dist/esm/core/{waitForTransactionStatus.js → tasks/helpers/waitForTransactionStatus.js} +8 -6
  93. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  94. package/dist/esm/errors/constants.d.ts +2 -1
  95. package/dist/esm/errors/constants.js +1 -0
  96. package/dist/esm/errors/constants.js.map +1 -1
  97. package/dist/esm/errors/errors.d.ts +10 -0
  98. package/dist/esm/errors/errors.js +12 -0
  99. package/dist/esm/errors/errors.js.map +1 -1
  100. package/dist/esm/index.d.ts +12 -5
  101. package/dist/esm/index.js +10 -4
  102. package/dist/esm/index.js.map +1 -1
  103. package/dist/esm/types/core.d.ts +15 -8
  104. package/dist/esm/types/execution.d.ts +26 -0
  105. package/dist/esm/types/execution.js +2 -0
  106. package/dist/esm/types/execution.js.map +1 -0
  107. package/dist/esm/version.d.ts +1 -1
  108. package/dist/esm/version.js +1 -1
  109. package/dist/types/core/BaseStepExecutionTask.d.ts +6 -0
  110. package/dist/types/core/BaseStepExecutionTask.d.ts.map +1 -0
  111. package/dist/types/core/BaseStepExecutor.d.ts +7 -3
  112. package/dist/types/core/BaseStepExecutor.d.ts.map +1 -1
  113. package/dist/types/core/StatusManager.d.ts +17 -6
  114. package/dist/types/core/StatusManager.d.ts.map +1 -1
  115. package/dist/types/core/TaskPipeline.d.ts +8 -0
  116. package/dist/types/core/TaskPipeline.d.ts.map +1 -0
  117. package/dist/types/core/actionMessages.d.ts.map +1 -1
  118. package/dist/types/core/execution.d.ts.map +1 -1
  119. package/dist/types/core/prepareRestart.d.ts.map +1 -1
  120. package/dist/types/core/tasks/CheckBalanceTask.d.ts +6 -0
  121. package/dist/types/core/tasks/CheckBalanceTask.d.ts.map +1 -0
  122. package/dist/types/core/tasks/PrepareTransactionTask.d.ts +6 -0
  123. package/dist/types/core/tasks/PrepareTransactionTask.d.ts.map +1 -0
  124. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts +9 -0
  125. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts.map +1 -0
  126. package/dist/types/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
  127. package/dist/types/core/tasks/helpers/checkBalance.d.ts.map +1 -0
  128. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts +3 -0
  129. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts.map +1 -0
  130. package/dist/types/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
  131. package/dist/types/core/tasks/helpers/stepComparison.d.ts.map +1 -0
  132. package/dist/types/core/{waitForTransactionStatus.d.ts → tasks/helpers/waitForTransactionStatus.d.ts} +2 -2
  133. package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts.map +1 -0
  134. package/dist/types/errors/constants.d.ts +2 -1
  135. package/dist/types/errors/constants.d.ts.map +1 -1
  136. package/dist/types/errors/errors.d.ts +10 -0
  137. package/dist/types/errors/errors.d.ts.map +1 -1
  138. package/dist/types/index.d.ts +12 -5
  139. package/dist/types/index.d.ts.map +1 -1
  140. package/dist/types/types/core.d.ts +15 -8
  141. package/dist/types/types/core.d.ts.map +1 -1
  142. package/dist/types/types/execution.d.ts +27 -0
  143. package/dist/types/types/execution.d.ts.map +1 -0
  144. package/dist/types/version.d.ts +1 -1
  145. package/package.json +1 -1
  146. package/src/core/BaseStepExecutionTask.ts +9 -0
  147. package/src/core/BaseStepExecutor.ts +52 -2
  148. package/src/core/StatusManager.ts +40 -24
  149. package/src/core/TaskPipeline.ts +47 -0
  150. package/src/core/actionMessages.ts +20 -3
  151. package/src/core/execution.ts +17 -3
  152. package/src/core/prepareRestart.ts +4 -3
  153. package/src/core/tasks/CheckBalanceTask.ts +28 -0
  154. package/src/core/tasks/PrepareTransactionTask.ts +62 -0
  155. package/src/core/tasks/WaitForTransactionStatusTask.ts +114 -0
  156. package/src/core/{checkBalance.ts → tasks/helpers/checkBalance.ts} +5 -5
  157. package/src/core/tasks/helpers/getTransactionRequestData.ts +47 -0
  158. package/src/core/{stepComparison.ts → tasks/helpers/stepComparison.ts} +5 -5
  159. package/src/core/{waitForTransactionStatus.ts → tasks/helpers/waitForTransactionStatus.ts} +10 -8
  160. package/src/errors/constants.ts +1 -0
  161. package/src/errors/errors.ts +24 -0
  162. package/src/index.ts +17 -3
  163. package/src/types/core.ts +18 -12
  164. package/src/types/execution.ts +40 -0
  165. package/src/version.ts +1 -1
  166. package/dist/cjs/core/checkBalance.js.map +0 -1
  167. package/dist/cjs/core/stepComparison.js.map +0 -1
  168. package/dist/cjs/core/waitForDestinationChainTransaction.d.ts +0 -4
  169. package/dist/cjs/core/waitForDestinationChainTransaction.js +0 -68
  170. package/dist/cjs/core/waitForDestinationChainTransaction.js.map +0 -1
  171. package/dist/cjs/core/waitForTransactionStatus.js.map +0 -1
  172. package/dist/esm/core/checkBalance.js.map +0 -1
  173. package/dist/esm/core/stepComparison.js.map +0 -1
  174. package/dist/esm/core/waitForDestinationChainTransaction.d.ts +0 -4
  175. package/dist/esm/core/waitForDestinationChainTransaction.js +0 -70
  176. package/dist/esm/core/waitForDestinationChainTransaction.js.map +0 -1
  177. package/dist/esm/core/waitForTransactionStatus.js.map +0 -1
  178. package/dist/types/core/checkBalance.d.ts.map +0 -1
  179. package/dist/types/core/stepComparison.d.ts.map +0 -1
  180. package/dist/types/core/waitForDestinationChainTransaction.d.ts +0 -5
  181. package/dist/types/core/waitForDestinationChainTransaction.d.ts.map +0 -1
  182. package/dist/types/core/waitForTransactionStatus.d.ts.map +0 -1
  183. package/src/core/waitForDestinationChainTransaction.ts +0 -108
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTransactionRequestData = void 0;
4
+ const constants_js_1 = require("../../../errors/constants.js");
5
+ const errors_js_1 = require("../../../errors/errors.js");
6
+ const getTransactionRequestData = async (step, executionOptions) => {
7
+ if (!step.transactionRequest?.data) {
8
+ throw new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction. Transaction request data is not found.');
9
+ }
10
+ let transactionRequest = {
11
+ data: step.transactionRequest.data,
12
+ };
13
+ if (executionOptions?.updateTransactionRequestHook) {
14
+ const customizedTransactionRequest = await executionOptions.updateTransactionRequestHook({
15
+ requestType: 'transaction',
16
+ ...transactionRequest,
17
+ });
18
+ transactionRequest = {
19
+ ...transactionRequest,
20
+ ...customizedTransactionRequest,
21
+ };
22
+ }
23
+ const transactionRequestData = transactionRequest.data;
24
+ if (!transactionRequestData) {
25
+ throw new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction. Transaction request data is not found.');
26
+ }
27
+ return transactionRequestData;
28
+ };
29
+ exports.getTransactionRequestData = getTransactionRequestData;
30
+ //# sourceMappingURL=getTransactionRequestData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTransactionRequestData.js","sourceRoot":"","sources":["../../../../../src/core/tasks/helpers/getTransactionRequestData.ts"],"names":[],"mappings":";;;AAAA,+DAA4D;AAC5D,yDAA4D;AAOrD,MAAM,yBAAyB,GAAG,KAAK,EAC5C,IAAsB,EACtB,gBAAmC,EAClB,EAAE;IACnB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,4BAAgB,CACxB,4BAAa,CAAC,qBAAqB,EACnC,uEAAuE,CACxE,CAAA;IACH,CAAC;IAED,IAAI,kBAAkB,GAA0B;QAC9C,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI;KACnC,CAAA;IAED,IAAI,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;QACnD,MAAM,4BAA4B,GAChC,MAAM,gBAAgB,CAAC,4BAA4B,CAAC;YAClD,WAAW,EAAE,aAAa;YAC1B,GAAG,kBAAkB;SACtB,CAAC,CAAA;QAEJ,kBAAkB,GAAG;YACnB,GAAG,kBAAkB;YACrB,GAAG,4BAA4B;SAChC,CAAA;IACH,CAAC;IAED,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,IAAI,CAAA;IAEtD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,MAAM,IAAI,4BAAgB,CACxB,4BAAa,CAAC,qBAAqB,EACnC,uEAAuE,CACxE,CAAA;IACH,CAAC;IAED,OAAO,sBAAsB,CAAA;AAC/B,CAAC,CAAA;AAtCY,QAAA,yBAAyB,6BAsCrC"}
@@ -1,4 +1,4 @@
1
1
  import type { LiFiStep } from '@lifi/types';
2
- import type { ExecutionOptions } from '../types/core.js';
3
- import type { StatusManager } from './StatusManager.js';
2
+ import type { StatusManager } from '../../../core/StatusManager.js';
3
+ import type { ExecutionOptions } from '../../../types/core.js';
4
4
  export declare const stepComparison: (statusManager: StatusManager, oldStep: LiFiStep, newStep: LiFiStep, allowUserInteraction: boolean, executionOptions?: ExecutionOptions) => Promise<LiFiStep>;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.stepComparison = void 0;
4
- const constants_js_1 = require("../errors/constants.js");
5
- const errors_js_1 = require("../errors/errors.js");
6
- const utils_js_1 = require("./utils.js");
4
+ const utils_js_1 = require("../../../core/utils.js");
5
+ const constants_js_1 = require("../../../errors/constants.js");
6
+ const errors_js_1 = require("../../../errors/errors.js");
7
7
  const stepComparison = async (statusManager, oldStep, newStep, allowUserInteraction, executionOptions) => {
8
8
  if ((0, utils_js_1.checkStepSlippageThreshold)(oldStep, newStep)) {
9
9
  return statusManager.updateStepInRoute(newStep);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepComparison.js","sourceRoot":"","sources":["../../../../../src/core/tasks/helpers/stepComparison.ts"],"names":[],"mappings":";;;AAEA,qDAAmE;AACnE,+DAA4D;AAC5D,yDAA4D;AAerD,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 +1,4 @@
1
1
  import type { LiFiStep, StatusResponse } from '@lifi/types';
2
- import type { ExecutionActionType, SDKClient } from '../types/core.js';
3
- import type { StatusManager } from './StatusManager.js';
2
+ import type { ExecutionActionType, SDKClient } from '../../../types/core.js';
3
+ import type { StatusManager } from '../../StatusManager.js';
4
4
  export declare function waitForTransactionStatus(client: SDKClient, statusManager: StatusManager, txHash: string, step: LiFiStep, actionType: ExecutionActionType, interval?: number): Promise<StatusResponse>;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.waitForTransactionStatus = waitForTransactionStatus;
4
- const getStatus_js_1 = require("../actions/getStatus.js");
5
- const errors_js_1 = require("../errors/errors.js");
6
- const waitForResult_js_1 = require("../utils/waitForResult.js");
7
- const actionMessages_js_1 = require("./actionMessages.js");
4
+ const getStatus_js_1 = require("../../../actions/getStatus.js");
5
+ const errors_js_1 = require("../../../errors/errors.js");
6
+ const waitForResult_js_1 = require("../../../utils/waitForResult.js");
7
+ const actionMessages_js_1 = require("../../actionMessages.js");
8
8
  const TRANSACTION_HASH_OBSERVERS = {};
9
9
  async function waitForTransactionStatus(client, statusManager, txHash, step, actionType, interval = 5_000) {
10
10
  const _getStatus = () => {
@@ -40,10 +40,12 @@ async function waitForTransactionStatus(client, statusManager, txHash, step, act
40
40
  return undefined;
41
41
  });
42
42
  };
43
- let status = TRANSACTION_HASH_OBSERVERS[txHash];
43
+ let status = TRANSACTION_HASH_OBSERVERS?.[txHash];
44
44
  if (!status) {
45
45
  status = (0, waitForResult_js_1.waitForResult)(_getStatus, interval);
46
- TRANSACTION_HASH_OBSERVERS[txHash] = status;
46
+ if (TRANSACTION_HASH_OBSERVERS) {
47
+ TRANSACTION_HASH_OBSERVERS[txHash] = status;
48
+ }
47
49
  }
48
50
  const resolvedStatus = await status;
49
51
  if (!('receiving' in resolvedStatus)) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForTransactionStatus.js","sourceRoot":"","sources":["../../../../../src/core/tasks/helpers/waitForTransactionStatus.ts"],"names":[],"mappings":";;AAUA,4DAgEC;AAzED,gEAAyD;AACzD,yDAAuD;AAEvD,sEAA+D;AAC/D,+DAA6D;AAG7D,MAAM,0BAA0B,GAA4C,EAAE,CAAA;AAEvE,KAAK,UAAU,wBAAwB,CAC5C,MAAiB,EACjB,aAA4B,EAC5B,MAAc,EACd,IAAc,EACd,UAA+B,EAC/B,QAAQ,GAAG,KAAK;IAEhB,MAAM,UAAU,GAAG,GAAwC,EAAE;QAC3D,OAAO,IAAA,wBAAS,EAAC,MAAM,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAClC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAC9B,MAAM;YACN,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SACrD,CAAC;aACC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;YACvB,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC9B,KAAK,MAAM;oBACT,OAAO,cAAc,CAAA;gBACvB,KAAK,SAAS;oBACZ,aAAa,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;wBACvD,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,gBAAgB,EACd,cAAc,CAAC,gBAAgB;4BAC/B,IAAA,uCAAmB,EACjB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,SAAS,CACzB;wBACH,MAAM,EAAG,cAAiC,CAAC,kBAAkB;qBAC9D,CAAC,CAAA;oBACF,OAAO,SAAS,CAAA;gBAClB,KAAK,WAAW;oBACd,OAAO,SAAS,CAAA;gBAClB;oBACE,OAAO,OAAO,CAAC,MAAM,EAAE,CAAA;YAC3B,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC3C,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YAC1D,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;IAED,IAAI,MAAM,GAAG,0BAA0B,EAAE,CAAC,MAAM,CAAC,CAAA;IAEjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,IAAA,gCAAa,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC5C,IAAI,0BAA0B,EAAE,CAAC;YAC/B,0BAA0B,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAA;IAEnC,IAAI,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,uBAAW,CACnB,uDAAuD,CACxD,CAAA;IACH,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC"}
@@ -9,7 +9,8 @@ export declare enum ErrorName {
9
9
  UnknownError = "UnknownError",
10
10
  SlippageError = "SlippageError",
11
11
  HTTPError = "HTTPError",
12
- ConfigError = "ConfigError"
12
+ ConfigError = "ConfigError",
13
+ ExecuteStepRetryError = "ExecuteStepRetryError"
13
14
  }
14
15
  export type ErrorCode = LiFiErrorCode;
15
16
  export declare enum LiFiErrorCode {
@@ -14,6 +14,7 @@ var ErrorName;
14
14
  ErrorName["SlippageError"] = "SlippageError";
15
15
  ErrorName["HTTPError"] = "HTTPError";
16
16
  ErrorName["ConfigError"] = "ConfigError";
17
+ ErrorName["ExecuteStepRetryError"] = "ExecuteStepRetryError";
17
18
  })(ErrorName || (exports.ErrorName = ErrorName = {}));
18
19
  var LiFiErrorCode;
19
20
  (function (LiFiErrorCode) {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/errors/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAYX;AAZD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,oCAAuB,CAAA;IACvB,wCAA2B,CAAA;AAC7B,CAAC,EAZW,SAAS,yBAAT,SAAS,QAYpB;AAID,IAAY,aA4BX;AA5BD,WAAY,aAAa;IACvB,sEAAoB,CAAA;IACpB,0EAAsB,CAAA;IACtB,wFAA6B,CAAA;IAC7B,8EAAwB,CAAA;IACxB,0DAAc,CAAA;IACd,kFAA0B,CAAA;IAC1B,4DAAe,CAAA;IACf,4EAAuB,CAAA;IACvB,sFAA4B,CAAA;IAC5B,sEAAoB,CAAA;IACpB,kFAA0B,CAAA;IAC1B,sEAAoB,CAAA;IACpB,8EAAwB,CAAA;IACxB,oEAAmB,CAAA;IACnB,8EAAwB,CAAA;IACxB,8EAAwB,CAAA;IACxB,gGAAiC,CAAA;IACjC,oGAAmC,CAAA;IACnC,gFAAyB,CAAA;IACzB,kGAAkC,CAAA;IAClC,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,8EAAwB,CAAA;IACxB,0EAAsB,CAAA;IACtB,0EAAsB,CAAA;IACtB,kEAAkB,CAAA;AACpB,CAAC,EA5BW,aAAa,6BAAb,aAAa,QA4BxB;AAED,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,wDAAwC,CAAA;IACxC,qIAAqH,CAAA;IACrH,qDAAqC,CAAA;IACrC,sEAAsD,CAAA;IACtD,iEAAiD,CAAA;AACnD,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/errors/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAaX;AAbD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,oCAAuB,CAAA;IACvB,wCAA2B,CAAA;IAC3B,4DAA+C,CAAA;AACjD,CAAC,EAbW,SAAS,yBAAT,SAAS,QAapB;AAID,IAAY,aA4BX;AA5BD,WAAY,aAAa;IACvB,sEAAoB,CAAA;IACpB,0EAAsB,CAAA;IACtB,wFAA6B,CAAA;IAC7B,8EAAwB,CAAA;IACxB,0DAAc,CAAA;IACd,kFAA0B,CAAA;IAC1B,4DAAe,CAAA;IACf,4EAAuB,CAAA;IACvB,sFAA4B,CAAA;IAC5B,sEAAoB,CAAA;IACpB,kFAA0B,CAAA;IAC1B,sEAAoB,CAAA;IACpB,8EAAwB,CAAA;IACxB,oEAAmB,CAAA;IACnB,8EAAwB,CAAA;IACxB,8EAAwB,CAAA;IACxB,gGAAiC,CAAA;IACjC,oGAAmC,CAAA;IACnC,gFAAyB,CAAA;IACzB,kGAAkC,CAAA;IAClC,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,8EAAwB,CAAA;IACxB,0EAAsB,CAAA;IACtB,0EAAsB,CAAA;IACtB,kEAAkB,CAAA;AACpB,CAAC,EA5BW,aAAa,6BAAb,aAAa,QA4BxB;AAED,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,wDAAwC,CAAA;IACxC,qIAAqH,CAAA;IACrH,qDAAqC,CAAA;IACrC,sEAAsD,CAAA;IACtD,iEAAiD,CAAA;AACnD,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB"}
@@ -1,3 +1,4 @@
1
+ import type { ExecuteStepRetryParams } from '../types/core.js';
1
2
  import { BaseError } from './baseError.js';
2
3
  import { LiFiErrorCode } from './constants.js';
3
4
  export declare class RPCError extends BaseError {
@@ -21,3 +22,7 @@ export declare class ServerError extends BaseError {
21
22
  export declare class ValidationError extends BaseError {
22
23
  constructor(message: string);
23
24
  }
25
+ export declare class ExecuteStepRetryError extends BaseError {
26
+ readonly retryParams: ExecuteStepRetryParams;
27
+ constructor(message: string, retryParams: ExecuteStepRetryParams, cause?: Error);
28
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ValidationError = exports.ServerError = exports.BalanceError = exports.UnknownError = exports.TransactionError = exports.ProviderError = exports.RPCError = void 0;
3
+ exports.ExecuteStepRetryError = exports.ValidationError = exports.ServerError = exports.BalanceError = exports.UnknownError = exports.TransactionError = exports.ProviderError = exports.RPCError = void 0;
4
4
  const baseError_js_1 = require("./baseError.js");
5
5
  const constants_js_1 = require("./constants.js");
6
6
  class RPCError extends baseError_js_1.BaseError {
@@ -45,4 +45,12 @@ class ValidationError extends baseError_js_1.BaseError {
45
45
  }
46
46
  }
47
47
  exports.ValidationError = ValidationError;
48
+ class ExecuteStepRetryError extends baseError_js_1.BaseError {
49
+ retryParams;
50
+ constructor(message, retryParams, cause) {
51
+ super(constants_js_1.ErrorName.ExecuteStepRetryError, constants_js_1.LiFiErrorCode.InternalError, message, cause);
52
+ this.retryParams = retryParams;
53
+ }
54
+ }
55
+ exports.ExecuteStepRetryError = ExecuteStepRetryError;
48
56
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/errors/errors.ts"],"names":[],"mappings":";;;AAAA,iDAA0C;AAC1C,iDAAyD;AAEzD,MAAa,QAAS,SAAQ,wBAAS;IACrC,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,wBAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;CACF;AAJD,4BAIC;AAED,MAAa,aAAc,SAAQ,wBAAS;IAC1C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,wBAAS,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACtD,CAAC;CACF;AAJD,sCAIC;AAED,MAAa,gBAAiB,SAAQ,wBAAS;IAC7C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,wBAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;CACF;AAJD,4CAIC;AAED,MAAa,YAAa,SAAQ,wBAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,wBAAS,CAAC,YAAY,EAAE,4BAAa,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC5E,CAAC;CACF;AAJD,oCAIC;AAED,MAAa,YAAa,SAAQ,wBAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,wBAAS,CAAC,YAAY,EAAE,4BAAa,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3E,CAAC;CACF;AAJD,oCAIC;AAED,MAAa,WAAY,SAAQ,wBAAS;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,wBAAS,CAAC,WAAW,EAAE,4BAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACpE,CAAC;CACF;AAJD,kCAIC;AAED,MAAa,eAAgB,SAAQ,wBAAS;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,wBAAS,CAAC,eAAe,EAAE,4BAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;CACF;AAJD,0CAIC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/errors/errors.ts"],"names":[],"mappings":";;;AACA,iDAA0C;AAC1C,iDAAyD;AAEzD,MAAa,QAAS,SAAQ,wBAAS;IACrC,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,wBAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;CACF;AAJD,4BAIC;AAED,MAAa,aAAc,SAAQ,wBAAS;IAC1C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,wBAAS,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACtD,CAAC;CACF;AAJD,sCAIC;AAED,MAAa,gBAAiB,SAAQ,wBAAS;IAC7C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,wBAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;CACF;AAJD,4CAIC;AAED,MAAa,YAAa,SAAQ,wBAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,wBAAS,CAAC,YAAY,EAAE,4BAAa,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC5E,CAAC;CACF;AAJD,oCAIC;AAED,MAAa,YAAa,SAAQ,wBAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,wBAAS,CAAC,YAAY,EAAE,4BAAa,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3E,CAAC;CACF;AAJD,oCAIC;AAED,MAAa,WAAY,SAAQ,wBAAS;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,wBAAS,CAAC,WAAW,EAAE,4BAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACpE,CAAC;CACF;AAJD,kCAIC;AAED,MAAa,eAAgB,SAAQ,wBAAS;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,wBAAS,CAAC,eAAe,EAAE,4BAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;CACF;AAJD,0CAIC;AAOD,MAAa,qBAAsB,SAAQ,wBAAS;IACzC,WAAW,CAAwB;IAE5C,YACE,OAAe,EACf,WAAmC,EACnC,KAAa;QAEb,KAAK,CACH,wBAAS,CAAC,qBAAqB,EAC/B,4BAAa,CAAC,aAAa,EAC3B,OAAO,EACP,KAAK,CACN,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;CACF;AAhBD,sDAgBC"}
@@ -22,19 +22,26 @@ 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 { TaskPipeline } from './core/TaskPipeline.js';
31
+ export { CheckBalanceTask } from './core/tasks/CheckBalanceTask.js';
32
+ export { checkBalance } from './core/tasks/helpers/checkBalance.js';
33
+ export { getTransactionRequestData } from './core/tasks/helpers/getTransactionRequestData.js';
34
+ export { stepComparison } from './core/tasks/helpers/stepComparison.js';
35
+ export { PrepareTransactionTask } from './core/tasks/PrepareTransactionTask.js';
36
+ export { WaitForTransactionStatusTask } from './core/tasks/WaitForTransactionStatusTask.js';
31
37
  export { BaseError } from './errors/baseError.js';
32
38
  export type { ErrorCode } from './errors/constants.js';
33
39
  export { ErrorMessage, ErrorName, LiFiErrorCode } from './errors/constants.js';
34
- export { BalanceError, ProviderError, RPCError, ServerError, TransactionError, UnknownError, ValidationError, } from './errors/errors.js';
40
+ export { BalanceError, ExecuteStepRetryError, ProviderError, RPCError, ServerError, TransactionError, UnknownError, ValidationError, } from './errors/errors.js';
35
41
  export { HTTPError } from './errors/httpError.js';
36
42
  export { SDKError } from './errors/SDKError.js';
37
- export type { AcceptExchangeRateUpdateHook, AcceptSlippageUpdateHook, AcceptSlippageUpdateHookParams, ContractCallParams, ContractTool, ExchangeRateUpdateParams, Execution, ExecutionAction, ExecutionActionStatus, ExecutionActionType, ExecutionOptions, ExecutionStatus, GetContractCallsHook, GetContractCallsResult, InteractionSettings, LiFiStepExtended, RequestInterceptor, RouteExecutionData, RouteExecutionDataDictionary, RouteExecutionDictionary, RouteExtended, RPCUrls, SDKBaseConfig, SDKClient, SDKConfig, SDKProvider, StepExecutor, StepExecutorOptions, StepExtended, TransactionMethodType, TransactionParameters, TransactionRequestParameters, TransactionRequestUpdateHook, UpdateRouteHook, } from './types/core.js';
43
+ 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';
44
+ export type { StepExecutorBaseContext, StepExecutorContext, TaskResult, TaskStatus, } from './types/execution.js';
38
45
  export { checkPackageUpdates } from './utils/checkPackageUpdates.js';
39
46
  export { convertQuoteToRoute } from './utils/convertQuoteToRoute.js';
40
47
  export { fetchTxErrorDetails } from './utils/fetchTxErrorDetails.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.ServerError = exports.RPCError = exports.ProviderError = 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.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.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 = 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,20 @@ 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 TaskPipeline_js_1 = require("./core/TaskPipeline.js");
83
+ Object.defineProperty(exports, "TaskPipeline", { enumerable: true, get: function () { return TaskPipeline_js_1.TaskPipeline; } });
84
+ var CheckBalanceTask_js_1 = require("./core/tasks/CheckBalanceTask.js");
85
+ Object.defineProperty(exports, "CheckBalanceTask", { enumerable: true, get: function () { return CheckBalanceTask_js_1.CheckBalanceTask; } });
86
+ var checkBalance_js_1 = require("./core/tasks/helpers/checkBalance.js");
87
+ Object.defineProperty(exports, "checkBalance", { enumerable: true, get: function () { return checkBalance_js_1.checkBalance; } });
88
+ var getTransactionRequestData_js_1 = require("./core/tasks/helpers/getTransactionRequestData.js");
89
+ Object.defineProperty(exports, "getTransactionRequestData", { enumerable: true, get: function () { return getTransactionRequestData_js_1.getTransactionRequestData; } });
90
+ var stepComparison_js_1 = require("./core/tasks/helpers/stepComparison.js");
80
91
  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; } });
92
+ var PrepareTransactionTask_js_1 = require("./core/tasks/PrepareTransactionTask.js");
93
+ Object.defineProperty(exports, "PrepareTransactionTask", { enumerable: true, get: function () { return PrepareTransactionTask_js_1.PrepareTransactionTask; } });
94
+ var WaitForTransactionStatusTask_js_1 = require("./core/tasks/WaitForTransactionStatusTask.js");
95
+ Object.defineProperty(exports, "WaitForTransactionStatusTask", { enumerable: true, get: function () { return WaitForTransactionStatusTask_js_1.WaitForTransactionStatusTask; } });
83
96
  var baseError_js_1 = require("./errors/baseError.js");
84
97
  Object.defineProperty(exports, "BaseError", { enumerable: true, get: function () { return baseError_js_1.BaseError; } });
85
98
  var constants_js_1 = require("./errors/constants.js");
@@ -88,6 +101,7 @@ Object.defineProperty(exports, "ErrorName", { enumerable: true, get: function ()
88
101
  Object.defineProperty(exports, "LiFiErrorCode", { enumerable: true, get: function () { return constants_js_1.LiFiErrorCode; } });
89
102
  var errors_js_1 = require("./errors/errors.js");
90
103
  Object.defineProperty(exports, "BalanceError", { enumerable: true, get: function () { return errors_js_1.BalanceError; } });
104
+ Object.defineProperty(exports, "ExecuteStepRetryError", { enumerable: true, get: function () { return errors_js_1.ExecuteStepRetryError; } });
91
105
  Object.defineProperty(exports, "ProviderError", { enumerable: true, get: function () { return errors_js_1.ProviderError; } });
92
106
  Object.defineProperty(exports, "RPCError", { enumerable: true, get: function () { return errors_js_1.RPCError; } });
93
107
  Object.defineProperty(exports, "ServerError", { enumerable: true, get: function () { return errors_js_1.ServerError; } });
@@ -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":";;;;;;;;;;;;;;;;;;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,8DAAgF;AAAvE,qHAAA,gBAAgB,OAAA;AAAE,wHAAA,mBAAmB,OAAA;AAC9C,4EAAuE;AAA9D,iIAAA,qBAAqB,OAAA;AAC9B,kEAA6D;AAApD,uHAAA,gBAAgB,OAAA;AACzB,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,0DAAqD;AAA5C,+GAAA,YAAY,OAAA;AACrB,wEAAmE;AAA1D,uHAAA,gBAAgB,OAAA;AACzB,wEAAmE;AAA1D,+GAAA,YAAY,OAAA;AACrB,kGAA6F;AAApF,yIAAA,yBAAyB,OAAA;AAClC,4EAAuE;AAA9D,mHAAA,cAAc,OAAA;AACvB,oFAA+E;AAAtE,mIAAA,sBAAsB,OAAA;AAC/B,gGAA2F;AAAlF,+IAAA,4BAA4B,OAAA;AACrC,sDAAiD;AAAxC,yGAAA,SAAS,OAAA;AAElB,sDAA8E;AAArE,4GAAA,YAAY,OAAA;AAAE,yGAAA,SAAS,OAAA;AAAE,6GAAA,aAAa,OAAA;AAC/C,gDAS2B;AARzB,yGAAA,YAAY,OAAA;AACZ,kHAAA,qBAAqB,OAAA;AACrB,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;AA4CjB,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"}
@@ -47,11 +47,12 @@ export interface InteractionSettings {
47
47
  allowUpdates?: boolean;
48
48
  allowExecution?: boolean;
49
49
  }
50
+ export type ExecuteStepRetryParams = Record<string, unknown>;
50
51
  export interface StepExecutor {
51
52
  allowUserInteraction: boolean;
52
53
  allowExecution: boolean;
53
54
  setInteraction(settings?: InteractionSettings): void;
54
- executeStep(client: SDKClient, step: LiFiStepExtended): Promise<LiFiStepExtended>;
55
+ executeStep(client: SDKClient, step: LiFiStepExtended, retryParams?: ExecuteStepRetryParams): Promise<LiFiStepExtended>;
55
56
  }
56
57
  export interface RouteExecutionData {
57
58
  route: Route;
@@ -133,29 +134,31 @@ export interface ExecutionOptions {
133
134
  }
134
135
  export type ExecutionStatus = 'ACTION_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE';
135
136
  export type ExecutionActionStatus = 'STARTED' | 'ACTION_REQUIRED' | 'MESSAGE_REQUIRED' | 'RESET_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE' | 'CANCELLED';
136
- export type ExecutionActionType = 'TOKEN_ALLOWANCE' | 'PERMIT' | 'SWAP' | 'CROSS_CHAIN' | 'RECEIVING_CHAIN';
137
+ export type ExecutionActionType = 'PERMIT' | 'CHECK_ALLOWANCE' | 'NATIVE_PERMIT' | 'RESET_ALLOWANCE' | 'SET_ALLOWANCE' | 'SWAP' | 'CROSS_CHAIN' | 'RECEIVING_CHAIN';
137
138
  export type ExecutionAction = {
138
139
  type: ExecutionActionType;
139
140
  status: ExecutionActionStatus;
141
+ message?: string;
140
142
  substatus?: Substatus;
143
+ substatusMessage?: string;
141
144
  chainId?: number;
142
- txHash?: string;
143
- taskId?: string;
144
- txLink?: string;
145
- txType?: TransactionMethodType;
146
- message?: string;
147
145
  error?: {
148
146
  code: string | number;
149
147
  message: string;
150
148
  htmlMessage?: string;
151
149
  };
152
- [key: string]: any;
150
+ txHash?: string;
151
+ txLink?: string;
152
+ taskId?: string;
153
+ txType?: TransactionMethodType;
154
+ txHex?: string;
153
155
  };
154
156
  export interface Execution {
155
157
  startedAt: number;
156
158
  signedAt?: number;
157
159
  status: ExecutionStatus;
158
160
  actions: Array<ExecutionAction>;
161
+ lastActionType?: ExecutionActionType;
159
162
  fromAmount?: string;
160
163
  toAmount?: string;
161
164
  toToken?: Token;
@@ -0,0 +1,25 @@
1
+ import type { ExtendedChain } from '@lifi/types';
2
+ import type { StatusManager } from '../core/StatusManager.js';
3
+ import type { ExecuteStepRetryError } from '../errors/errors.js';
4
+ import type { SDKError } from '../errors/SDKError.js';
5
+ import type { ExecuteStepRetryParams, ExecutionAction, ExecutionOptions, LiFiStepExtended, SDKClient } from './core.js';
6
+ export interface StepExecutorBaseContext {
7
+ statusManager: StatusManager;
8
+ executionOptions?: ExecutionOptions;
9
+ fromChain: ExtendedChain;
10
+ toChain: ExtendedChain;
11
+ isBridgeExecution: boolean;
12
+ client: SDKClient;
13
+ step: LiFiStepExtended;
14
+ allowUserInteraction: boolean;
15
+ retryParams?: ExecuteStepRetryParams;
16
+ }
17
+ export interface StepExecutorContext extends StepExecutorBaseContext {
18
+ pollingIntervalMs?: number;
19
+ parseErrors: (error: Error, step?: LiFiStepExtended, action?: ExecutionAction) => Promise<SDKError | ExecuteStepRetryError>;
20
+ }
21
+ export interface TaskResult<TContext = Record<string, unknown>> {
22
+ status: TaskStatus;
23
+ context?: TContext;
24
+ }
25
+ 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,2 +1,2 @@
1
1
  export declare const name = "@lifi/sdk";
2
- export declare const version = "4.0.0-alpha.13";
2
+ export declare const version = "4.0.0-alpha.16";
@@ -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.13';
5
+ exports.version = '4.0.0-alpha.16';
6
6
  //# sourceMappingURL=version.js.map
@@ -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,7 @@
1
- import type { LiFiStep } from '@lifi/types';
2
- import type { ExecutionOptions, InteractionSettings, SDKClient, StepExecutor, StepExecutorOptions } from '../types/core.js';
1
+ import type { ExecuteStepRetryParams, ExecutionOptions, InteractionSettings, LiFiStepExtended, SDKClient, StepExecutor, StepExecutorOptions } from '../types/core.js';
2
+ import type { StepExecutorBaseContext, StepExecutorContext } from '../types/execution.js';
3
3
  import { StatusManager } from './StatusManager.js';
4
+ import type { TaskPipeline } from './TaskPipeline.js';
4
5
  export declare abstract class BaseStepExecutor implements StepExecutor {
5
6
  protected executionOptions?: ExecutionOptions;
6
7
  protected statusManager: StatusManager;
@@ -8,5 +9,8 @@ export declare abstract class BaseStepExecutor implements StepExecutor {
8
9
  allowExecution: boolean;
9
10
  constructor(options: StepExecutorOptions);
10
11
  setInteraction: (settings?: InteractionSettings) => void;
11
- abstract executeStep(client: SDKClient, step: LiFiStep): Promise<LiFiStep>;
12
+ private createBaseContext;
13
+ abstract createContext(baseContext: StepExecutorBaseContext): Promise<StepExecutorContext>;
14
+ abstract createPipeline(context: StepExecutorContext): TaskPipeline;
15
+ executeStep: (client: SDKClient, step: LiFiStepExtended, retryParams?: ExecuteStepRetryParams) => Promise<LiFiStepExtended>;
12
16
  }
@@ -23,5 +23,29 @@ export class BaseStepExecutor {
23
23
  this.statusManager.allowUpdates(interactionSettings.allowUpdates);
24
24
  this.allowExecution = interactionSettings.allowExecution;
25
25
  };
26
+ createBaseContext = async (client, step, retryParams) => {
27
+ const fromChain = await client.getChainById(step.action.fromChainId);
28
+ const toChain = await client.getChainById(step.action.toChainId);
29
+ const isBridgeExecution = fromChain.id !== toChain.id;
30
+ return {
31
+ client,
32
+ step,
33
+ fromChain,
34
+ toChain,
35
+ isBridgeExecution,
36
+ retryParams,
37
+ statusManager: this.statusManager,
38
+ executionOptions: this.executionOptions,
39
+ allowUserInteraction: this.allowUserInteraction,
40
+ };
41
+ };
42
+ executeStep = async (client, step, retryParams) => {
43
+ step.execution = this.statusManager.initExecutionObject(step);
44
+ const baseContext = await this.createBaseContext(client, step, retryParams);
45
+ const context = await this.createContext(baseContext);
46
+ const pipeline = this.createPipeline(context);
47
+ await pipeline.run(context);
48
+ return step;
49
+ };
26
50
  }
27
51
  //# 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":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,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;IAEO,iBAAiB,GAAG,KAAK,EAC/B,MAAiB,EACjB,IAAsB,EACtB,WAAoC,EACF,EAAE;QACpC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAEhE,MAAM,iBAAiB,GAAG,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAA;QAErD,OAAO;YACL,MAAM;YACN,IAAI;YACJ,SAAS;YACT,OAAO;YACP,iBAAiB;YACjB,WAAW;YACX,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;SAChD,CAAA;IACH,CAAC,CAAA;IAQD,WAAW,GAAG,KAAK,EACjB,MAAiB,EACjB,IAAsB,EACtB,WAAoC,EACT,EAAE;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAE7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;QAC3E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QAErD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAE7C,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAE3B,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;CACF"}
@@ -1,5 +1,5 @@
1
1
  import type { ChainId, LiFiStep } from '@lifi/types';
2
- import type { Execution, ExecutionAction, ExecutionActionStatus, ExecutionActionType, ExecutionStatus, LiFiStepExtended } from '../types/core.js';
2
+ import type { Execution, ExecutionAction, ExecutionActionStatus, ExecutionActionType, LiFiStepExtended } from '../types/core.js';
3
3
  type FindOrCreateActionProps = {
4
4
  step: LiFiStepExtended;
5
5
  type: ExecutionActionType;
@@ -24,11 +24,10 @@ export declare class StatusManager {
24
24
  /**
25
25
  * Updates the execution object of a Step.
26
26
  * @param step The current step in execution
27
- * @param status The status for the execution
28
27
  * @param execution Optional. Information about received tokens
29
28
  * @returns The step with the updated execution object
30
29
  */
31
- updateExecution(step: LiFiStepExtended, status: ExecutionStatus, execution?: Partial<Execution>): LiFiStep;
30
+ updateExecution(step: LiFiStepExtended, execution: Partial<Execution>): LiFiStep;
32
31
  /**
33
32
  * Finds an action of the specified type in the step's execution
34
33
  * @param step The step to search in
@@ -39,11 +38,21 @@ export declare class StatusManager {
39
38
  findAction(step: LiFiStepExtended, type: ExecutionActionType, status?: ExecutionActionStatus): ExecutionAction | undefined;
40
39
  /**
41
40
  * Create and push a new action into the execution.
41
+ * Caller is responsible for ensuring an action of this type does not already exist (e.g. after findAction returned undefined).
42
42
  * @param step The step that should contain the new action.
43
- * @param type Type of the action. Used to identify already existing actions.
43
+ * @param type Type of the action.
44
44
  * @param chainId Chain Id of the action.
45
45
  * @param status By default created action is set to the STARTED status. We can override new action with the needed status.
46
- * @returns Returns action.
46
+ * @returns The created action.
47
+ */
48
+ createAction: ({ step, type, chainId, status, }: FindOrCreateActionProps) => ExecutionAction;
49
+ /**
50
+ * Find an existing action by type, or create and push a new one if none exists.
51
+ * @param step The step that should contain the action.
52
+ * @param type Type of the action. Used to identify already existing actions.
53
+ * @param chainId Chain Id of the action (used when creating).
54
+ * @param status By default created action is set to the STARTED status. We can override new action with the needed status.
55
+ * @returns The found or newly created action.
47
56
  */
48
57
  findOrCreateAction: ({ step, type, chainId, status, }: FindOrCreateActionProps) => ExecutionAction;
49
58
  /**
@@ -54,7 +63,9 @@ export declare class StatusManager {
54
63
  * @param [params] Additional parameters to append to the action.
55
64
  * @returns The updated action
56
65
  */
57
- updateAction: (step: LiFiStepExtended, type: ExecutionActionType, status: ExecutionActionStatus, params?: Partial<ExecutionAction>) => ExecutionAction;
66
+ updateAction: (step: LiFiStepExtended, type: ExecutionActionType, status: ExecutionActionStatus, params?: Partial<ExecutionAction & {
67
+ signedAt?: number;
68
+ }>) => ExecutionAction;
58
69
  /**
59
70
  * Remove an action from the execution
60
71
  * @param step The step where the action should be removed from