@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.
- package/dist/cjs/actions/getQuote.js +2 -1
- package/dist/cjs/actions/getQuote.js.map +1 -1
- package/dist/cjs/actions/getRelayedTransactionStatus.js +1 -1
- package/dist/cjs/actions/getRelayedTransactionStatus.js.map +1 -1
- package/dist/cjs/actions/getRelayerQuote.js +2 -1
- package/dist/cjs/actions/getRelayerQuote.js.map +1 -1
- package/dist/cjs/actions/getStepTransaction.js +18 -1
- package/dist/cjs/actions/getStepTransaction.js.map +1 -1
- package/dist/cjs/core/BaseStepExecutionTask.d.ts +5 -0
- package/dist/cjs/core/BaseStepExecutionTask.js +10 -0
- package/dist/cjs/core/BaseStepExecutionTask.js.map +1 -0
- package/dist/cjs/core/BaseStepExecutor.d.ts +10 -3
- package/dist/cjs/core/BaseStepExecutor.js +53 -0
- package/dist/cjs/core/BaseStepExecutor.js.map +1 -1
- package/dist/cjs/core/StatusManager.d.ts +13 -12
- package/dist/cjs/core/StatusManager.js +55 -61
- package/dist/cjs/core/StatusManager.js.map +1 -1
- package/dist/cjs/core/TaskPipeline.d.ts +7 -0
- package/dist/cjs/core/TaskPipeline.js +27 -0
- package/dist/cjs/core/TaskPipeline.js.map +1 -0
- package/dist/cjs/core/actionMessages.d.ts +4 -0
- package/dist/cjs/core/{processMessages.js → actionMessages.js} +25 -9
- package/dist/cjs/core/actionMessages.js.map +1 -0
- package/dist/cjs/core/execution.js +13 -1
- package/dist/cjs/core/execution.js.map +1 -1
- package/dist/cjs/core/prepareRestart.js +6 -6
- package/dist/cjs/core/prepareRestart.js.map +1 -1
- package/dist/cjs/core/storage.d.ts +17 -0
- package/dist/cjs/core/storage.js +36 -0
- package/dist/cjs/core/storage.js.map +1 -0
- package/dist/cjs/core/tasks/CheckBalanceTask.d.ts +5 -0
- package/dist/cjs/core/tasks/CheckBalanceTask.js +26 -0
- package/dist/cjs/core/tasks/CheckBalanceTask.js.map +1 -0
- package/dist/cjs/core/tasks/PrepareTransactionTask.d.ts +5 -0
- package/dist/cjs/core/tasks/PrepareTransactionTask.js +36 -0
- package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -0
- package/dist/cjs/core/tasks/WaitForTransactionStatusTask.d.ts +8 -0
- package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +73 -0
- package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
- package/dist/cjs/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
- package/dist/cjs/core/{checkBalance.js → tasks/helpers/checkBalance.js} +4 -4
- package/dist/cjs/core/tasks/helpers/checkBalance.js.map +1 -0
- package/dist/cjs/core/tasks/helpers/getTransactionRequestData.d.ts +2 -0
- package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js +30 -0
- package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
- package/dist/cjs/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
- package/dist/cjs/core/{stepComparison.js → tasks/helpers/stepComparison.js} +3 -3
- package/dist/cjs/core/tasks/helpers/stepComparison.js.map +1 -0
- package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.d.ts +4 -0
- package/dist/cjs/core/{waitForTransactionStatus.js → tasks/helpers/waitForTransactionStatus.js} +10 -8
- package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
- package/dist/cjs/core/utils.d.ts +6 -1
- package/dist/cjs/errors/SDKError.d.ts +3 -3
- package/dist/cjs/errors/SDKError.js +3 -3
- package/dist/cjs/errors/SDKError.js.map +1 -1
- package/dist/cjs/errors/constants.d.ts +2 -1
- package/dist/cjs/errors/constants.js +1 -0
- package/dist/cjs/errors/constants.js.map +1 -1
- package/dist/cjs/errors/errors.d.ts +5 -0
- package/dist/cjs/errors/errors.js +9 -1
- package/dist/cjs/errors/errors.js.map +1 -1
- package/dist/cjs/index.d.ts +15 -6
- package/dist/cjs/index.js +26 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/core.d.ts +21 -17
- package/dist/cjs/types/execution.d.ts +22 -0
- package/dist/cjs/types/execution.js +3 -0
- package/dist/cjs/types/execution.js.map +1 -0
- package/dist/cjs/utils/waitForResult.d.ts +1 -1
- package/dist/cjs/utils/waitForResult.js +6 -2
- package/dist/cjs/utils/waitForResult.js.map +1 -1
- package/dist/cjs/utils/withDedupe.d.ts +5 -0
- package/dist/cjs/utils/withDedupe.js +2 -0
- package/dist/cjs/utils/withDedupe.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/actions/getQuote.js +2 -1
- package/dist/esm/actions/getQuote.js.map +1 -1
- package/dist/esm/actions/getRelayedTransactionStatus.js +1 -1
- package/dist/esm/actions/getRelayedTransactionStatus.js.map +1 -1
- package/dist/esm/actions/getRelayerQuote.js +2 -1
- package/dist/esm/actions/getRelayerQuote.js.map +1 -1
- package/dist/esm/actions/getStepTransaction.js +18 -1
- package/dist/esm/actions/getStepTransaction.js.map +1 -1
- package/dist/esm/core/BaseStepExecutionTask.d.ts +5 -0
- package/dist/esm/core/BaseStepExecutionTask.js +6 -0
- package/dist/esm/core/BaseStepExecutionTask.js.map +1 -0
- package/dist/esm/core/BaseStepExecutor.d.ts +10 -3
- package/dist/esm/core/BaseStepExecutor.js +53 -0
- package/dist/esm/core/BaseStepExecutor.js.map +1 -1
- package/dist/esm/core/StatusManager.d.ts +40 -39
- package/dist/esm/core/StatusManager.js +86 -92
- package/dist/esm/core/StatusManager.js.map +1 -1
- package/dist/esm/core/TaskPipeline.d.ts +7 -0
- package/dist/esm/core/TaskPipeline.js +23 -0
- package/dist/esm/core/TaskPipeline.js.map +1 -0
- package/dist/esm/core/actionMessages.d.ts +4 -0
- package/dist/esm/core/{processMessages.js → actionMessages.js} +24 -8
- package/dist/esm/core/actionMessages.js.map +1 -0
- package/dist/esm/core/execution.js +14 -3
- package/dist/esm/core/execution.js.map +1 -1
- package/dist/esm/core/prepareRestart.js +10 -9
- package/dist/esm/core/prepareRestart.js.map +1 -1
- package/dist/esm/core/storage.d.ts +17 -0
- package/dist/esm/core/storage.js +30 -0
- package/dist/esm/core/storage.js.map +1 -0
- package/dist/esm/core/tasks/CheckBalanceTask.d.ts +5 -0
- package/dist/esm/core/tasks/CheckBalanceTask.js +22 -0
- package/dist/esm/core/tasks/CheckBalanceTask.js.map +1 -0
- package/dist/esm/core/tasks/PrepareTransactionTask.d.ts +5 -0
- package/dist/esm/core/tasks/PrepareTransactionTask.js +32 -0
- package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -0
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts +8 -0
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +74 -0
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
- package/dist/esm/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
- package/dist/esm/core/{checkBalance.js → tasks/helpers/checkBalance.js} +4 -4
- package/dist/esm/core/tasks/helpers/checkBalance.js.map +1 -0
- package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts +2 -0
- package/dist/esm/core/tasks/helpers/getTransactionRequestData.js +26 -0
- package/dist/esm/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
- package/dist/esm/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
- package/dist/esm/core/{stepComparison.js → tasks/helpers/stepComparison.js} +3 -3
- package/dist/esm/core/tasks/helpers/stepComparison.js.map +1 -0
- package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts +4 -0
- package/dist/esm/core/{waitForTransactionStatus.js → tasks/helpers/waitForTransactionStatus.js} +9 -7
- package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
- package/dist/esm/core/utils.d.ts +6 -1
- package/dist/esm/errors/SDKError.d.ts +3 -3
- package/dist/esm/errors/SDKError.js +4 -4
- package/dist/esm/errors/SDKError.js.map +1 -1
- package/dist/esm/errors/constants.d.ts +2 -1
- package/dist/esm/errors/constants.js +1 -0
- package/dist/esm/errors/constants.js.map +1 -1
- package/dist/esm/errors/errors.d.ts +10 -0
- package/dist/esm/errors/errors.js +12 -0
- package/dist/esm/errors/errors.js.map +1 -1
- package/dist/esm/index.d.ts +15 -6
- package/dist/esm/index.js +12 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/core.d.ts +25 -17
- package/dist/esm/types/execution.d.ts +23 -0
- package/dist/esm/types/execution.js +2 -0
- package/dist/esm/types/execution.js.map +1 -0
- package/dist/esm/utils/waitForResult.d.ts +2 -2
- package/dist/esm/utils/waitForResult.js +7 -3
- package/dist/esm/utils/waitForResult.js.map +1 -1
- package/dist/esm/utils/withDedupe.d.ts +10 -0
- package/dist/esm/utils/withDedupe.js +1 -1
- package/dist/esm/utils/withDedupe.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/types/actions/getRelayerQuote.d.ts.map +1 -1
- package/dist/types/actions/getStepTransaction.d.ts.map +1 -1
- package/dist/types/core/BaseStepExecutionTask.d.ts +6 -0
- package/dist/types/core/BaseStepExecutionTask.d.ts.map +1 -0
- package/dist/types/core/BaseStepExecutor.d.ts +10 -3
- package/dist/types/core/BaseStepExecutor.d.ts.map +1 -1
- package/dist/types/core/StatusManager.d.ts +40 -39
- package/dist/types/core/StatusManager.d.ts.map +1 -1
- package/dist/types/core/TaskPipeline.d.ts +8 -0
- package/dist/types/core/TaskPipeline.d.ts.map +1 -0
- package/dist/types/core/actionMessages.d.ts +5 -0
- package/dist/types/core/actionMessages.d.ts.map +1 -0
- package/dist/types/core/execution.d.ts.map +1 -1
- package/dist/types/core/prepareRestart.d.ts.map +1 -1
- package/dist/types/core/storage.d.ts +18 -0
- package/dist/types/core/storage.d.ts.map +1 -0
- package/dist/types/core/tasks/CheckBalanceTask.d.ts +6 -0
- package/dist/types/core/tasks/CheckBalanceTask.d.ts.map +1 -0
- package/dist/types/core/tasks/PrepareTransactionTask.d.ts +6 -0
- package/dist/types/core/tasks/PrepareTransactionTask.d.ts.map +1 -0
- package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts +9 -0
- package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts.map +1 -0
- package/dist/types/core/{checkBalance.d.ts → tasks/helpers/checkBalance.d.ts} +1 -1
- package/dist/types/core/tasks/helpers/checkBalance.d.ts.map +1 -0
- package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts +3 -0
- package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts.map +1 -0
- package/dist/types/core/{stepComparison.d.ts → tasks/helpers/stepComparison.d.ts} +2 -2
- package/dist/types/core/tasks/helpers/stepComparison.d.ts.map +1 -0
- package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts +5 -0
- package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts.map +1 -0
- package/dist/types/core/utils.d.ts +6 -1
- package/dist/types/core/utils.d.ts.map +1 -1
- package/dist/types/errors/SDKError.d.ts +3 -3
- package/dist/types/errors/SDKError.d.ts.map +1 -1
- package/dist/types/errors/constants.d.ts +2 -1
- package/dist/types/errors/constants.d.ts.map +1 -1
- package/dist/types/errors/errors.d.ts +10 -0
- package/dist/types/errors/errors.d.ts.map +1 -1
- package/dist/types/index.d.ts +15 -6
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/core.d.ts +25 -17
- package/dist/types/types/core.d.ts.map +1 -1
- package/dist/types/types/execution.d.ts +24 -0
- package/dist/types/types/execution.d.ts.map +1 -0
- package/dist/types/utils/waitForResult.d.ts +2 -2
- package/dist/types/utils/waitForResult.d.ts.map +1 -1
- package/dist/types/utils/withDedupe.d.ts +10 -0
- package/dist/types/utils/withDedupe.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/actions/getQuote.ts +4 -1
- package/src/actions/getRelayedTransactionStatus.ts +1 -1
- package/src/actions/getRelayerQuote.ts +4 -1
- package/src/actions/getStepTransaction.ts +27 -11
- package/src/core/BaseStepExecutionTask.ts +9 -0
- package/src/core/BaseStepExecutor.ts +91 -2
- package/src/core/StatusManager.ts +108 -113
- package/src/core/TaskPipeline.ts +28 -0
- package/src/core/{processMessages.ts → actionMessages.ts} +32 -12
- package/src/core/execution.ts +17 -3
- package/src/core/prepareRestart.ts +12 -11
- package/src/core/storage.ts +42 -0
- package/src/core/tasks/CheckBalanceTask.ts +29 -0
- package/src/core/tasks/PrepareTransactionTask.ts +62 -0
- package/src/core/tasks/WaitForTransactionStatusTask.ts +114 -0
- package/src/core/{checkBalance.ts → tasks/helpers/checkBalance.ts} +5 -5
- package/src/core/tasks/helpers/getTransactionRequestData.ts +47 -0
- package/src/core/{stepComparison.ts → tasks/helpers/stepComparison.ts} +5 -5
- package/src/core/{waitForTransactionStatus.ts → tasks/helpers/waitForTransactionStatus.ts} +11 -9
- package/src/errors/SDKError.ts +5 -5
- package/src/errors/constants.ts +1 -0
- package/src/errors/errors.ts +24 -0
- package/src/index.ts +27 -7
- package/src/types/core.ts +30 -25
- package/src/types/execution.ts +32 -0
- package/src/utils/waitForResult.ts +9 -4
- package/src/utils/withDedupe.ts +1 -1
- package/src/version.ts +1 -1
- package/dist/cjs/core/checkBalance.js.map +0 -1
- package/dist/cjs/core/processMessages.d.ts +0 -4
- package/dist/cjs/core/processMessages.js.map +0 -1
- package/dist/cjs/core/stepComparison.js.map +0 -1
- package/dist/cjs/core/waitForDestinationChainTransaction.d.ts +0 -4
- package/dist/cjs/core/waitForDestinationChainTransaction.js +0 -69
- package/dist/cjs/core/waitForDestinationChainTransaction.js.map +0 -1
- package/dist/cjs/core/waitForTransactionStatus.d.ts +0 -4
- package/dist/cjs/core/waitForTransactionStatus.js.map +0 -1
- package/dist/esm/core/checkBalance.js.map +0 -1
- package/dist/esm/core/processMessages.d.ts +0 -4
- package/dist/esm/core/processMessages.js.map +0 -1
- package/dist/esm/core/stepComparison.js.map +0 -1
- package/dist/esm/core/waitForDestinationChainTransaction.d.ts +0 -4
- package/dist/esm/core/waitForDestinationChainTransaction.js +0 -71
- package/dist/esm/core/waitForDestinationChainTransaction.js.map +0 -1
- package/dist/esm/core/waitForTransactionStatus.d.ts +0 -4
- package/dist/esm/core/waitForTransactionStatus.js.map +0 -1
- package/dist/types/core/checkBalance.d.ts.map +0 -1
- package/dist/types/core/processMessages.d.ts +0 -5
- package/dist/types/core/processMessages.d.ts.map +0 -1
- package/dist/types/core/stepComparison.d.ts.map +0 -1
- package/dist/types/core/waitForDestinationChainTransaction.d.ts +0 -5
- package/dist/types/core/waitForDestinationChainTransaction.d.ts.map +0 -1
- package/dist/types/core/waitForTransactionStatus.d.ts +0 -5
- package/dist/types/core/waitForTransactionStatus.d.ts.map +0 -1
- package/src/core/waitForDestinationChainTransaction.ts +0 -106
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export class LocalStorageAdapter {
|
|
2
|
+
get(key) {
|
|
3
|
+
return window.localStorage.getItem(key);
|
|
4
|
+
}
|
|
5
|
+
set(key, value) {
|
|
6
|
+
window.localStorage.setItem(key, value);
|
|
7
|
+
}
|
|
8
|
+
remove(key) {
|
|
9
|
+
window.localStorage.removeItem(key);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class InMemoryStorage {
|
|
13
|
+
store = new Map();
|
|
14
|
+
get(key) {
|
|
15
|
+
return this.store.get(key) ?? null;
|
|
16
|
+
}
|
|
17
|
+
set(key, value) {
|
|
18
|
+
this.store.set(key, value);
|
|
19
|
+
}
|
|
20
|
+
remove(key) {
|
|
21
|
+
this.store.delete(key);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export function createDefaultStorage() {
|
|
25
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
26
|
+
return new LocalStorageAdapter();
|
|
27
|
+
}
|
|
28
|
+
return new InMemoryStorage();
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/core/storage.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,mBAAmB;IAC9B,GAAG,CAAC,GAAW;QACb,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACzC,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAa;QAC5B,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IAClB,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEzC,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;IACpC,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAa;QAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB;IAClC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACzD,OAAO,IAAI,mBAAmB,EAAE,CAAA;IAClC,CAAC;IACD,OAAO,IAAI,eAAe,EAAE,CAAA;AAC9B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { StepExecutorContext, TaskResult } from '../../types/execution.js';
|
|
2
|
+
import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js';
|
|
3
|
+
export declare class CheckBalanceTask extends BaseStepExecutionTask {
|
|
4
|
+
run(context: StepExecutorContext): Promise<TaskResult>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LiFiErrorCode } from '../../errors/constants.js';
|
|
2
|
+
import { TransactionError } from '../../errors/errors.js';
|
|
3
|
+
import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js';
|
|
4
|
+
import { checkBalance } from './helpers/checkBalance.js';
|
|
5
|
+
export class CheckBalanceTask extends BaseStepExecutionTask {
|
|
6
|
+
async run(context) {
|
|
7
|
+
const { client, step, statusManager, isBridgeExecution } = context;
|
|
8
|
+
statusManager.initializeAction({
|
|
9
|
+
step,
|
|
10
|
+
type: isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP',
|
|
11
|
+
chainId: step.action.fromChainId,
|
|
12
|
+
status: 'STARTED',
|
|
13
|
+
});
|
|
14
|
+
const walletAddress = step.action.fromAddress;
|
|
15
|
+
if (!walletAddress) {
|
|
16
|
+
throw new TransactionError(LiFiErrorCode.InternalError, 'The wallet address is undefined.');
|
|
17
|
+
}
|
|
18
|
+
await checkBalance(client, walletAddress, step);
|
|
19
|
+
return { status: 'COMPLETED' };
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=CheckBalanceTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckBalanceTask.js","sourceRoot":"","sources":["../../../../src/core/tasks/CheckBalanceTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,OAAO,gBAAiB,SAAQ,qBAAqB;IACzD,KAAK,CAAC,GAAG,CAAC,OAA4B;QACpC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAA;QAElE,aAAa,CAAC,gBAAgB,CAAC;YAC7B,IAAI;YACJ,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;YAChD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAChC,MAAM,EAAE,SAAS;SAClB,CAAC,CAAA;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,aAAa,EAC3B,kCAAkC,CACnC,CAAA;QACH,CAAC;QAED,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;QAC/C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { StepExecutorContext, TaskResult } from '../../types/execution.js';
|
|
2
|
+
import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js';
|
|
3
|
+
export declare class PrepareTransactionTask extends BaseStepExecutionTask {
|
|
4
|
+
run(context: StepExecutorContext): Promise<TaskResult>;
|
|
5
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { getStepTransaction } from '../../actions/getStepTransaction.js';
|
|
2
|
+
import { LiFiErrorCode } from '../../errors/constants.js';
|
|
3
|
+
import { TransactionError } from '../../errors/errors.js';
|
|
4
|
+
import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js';
|
|
5
|
+
import { stepComparison } from './helpers/stepComparison.js';
|
|
6
|
+
export class PrepareTransactionTask extends BaseStepExecutionTask {
|
|
7
|
+
async run(context) {
|
|
8
|
+
const { client, step, statusManager, allowUserInteraction, executionOptions, isBridgeExecution, } = context;
|
|
9
|
+
const action = statusManager.findAction(step, isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP');
|
|
10
|
+
if (!action) {
|
|
11
|
+
throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction. Action not found.');
|
|
12
|
+
}
|
|
13
|
+
if (!step.transactionRequest) {
|
|
14
|
+
const { execution, ...stepBase } = step;
|
|
15
|
+
const updatedStep = await getStepTransaction(client, stepBase);
|
|
16
|
+
const comparedStep = await stepComparison(statusManager, step, updatedStep, allowUserInteraction, executionOptions);
|
|
17
|
+
Object.assign(step, {
|
|
18
|
+
...comparedStep,
|
|
19
|
+
execution: step.execution,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
if (!step.transactionRequest?.data) {
|
|
23
|
+
throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction. Transaction request data is not found.');
|
|
24
|
+
}
|
|
25
|
+
statusManager.updateAction(step, action.type, 'ACTION_REQUIRED');
|
|
26
|
+
if (!allowUserInteraction) {
|
|
27
|
+
return { status: 'PAUSED' };
|
|
28
|
+
}
|
|
29
|
+
return { status: 'COMPLETED' };
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=PrepareTransactionTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrepareTransactionTask.js","sourceRoot":"","sources":["../../../../src/core/tasks/PrepareTransactionTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAE5D,MAAM,OAAO,sBAAuB,SAAQ,qBAAqB;IAC/D,KAAK,CAAC,GAAG,CAAC,OAA4B;QACpC,MAAM,EACJ,MAAM,EACN,IAAI,EACJ,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,GAClB,GAAG,OAAO,CAAA;QAEX,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CACrC,IAAI,EACJ,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAC3C,CAAA;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,kDAAkD,CACnD,CAAA;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAA;YACvC,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC9D,MAAM,YAAY,GAAG,MAAM,cAAc,CACvC,aAAa,EACb,IAAI,EACJ,WAAW,EACX,oBAAoB,EACpB,gBAAgB,CACjB,CAAA;YACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;gBAClB,GAAG,YAAY;gBACf,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,uEAAuE,CACxE,CAAA;QACH,CAAC;QAED,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;QAEhE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QAC7B,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ExecutionActionType } from '../../types/core.js';
|
|
2
|
+
import type { StepExecutorContext, TaskResult } from '../../types/execution.js';
|
|
3
|
+
import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js';
|
|
4
|
+
export declare class WaitForTransactionStatusTask extends BaseStepExecutionTask {
|
|
5
|
+
readonly actionType: ExecutionActionType;
|
|
6
|
+
constructor(actionType: ExecutionActionType);
|
|
7
|
+
run(context: StepExecutorContext): Promise<TaskResult>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { LiFiErrorCode } from '../../errors/constants.js';
|
|
2
|
+
import { TransactionError } from '../../errors/errors.js';
|
|
3
|
+
import { getTransactionFailedMessage } from '../../utils/getTransactionMessage.js';
|
|
4
|
+
import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js';
|
|
5
|
+
import { waitForTransactionStatus } from './helpers/waitForTransactionStatus.js';
|
|
6
|
+
export class WaitForTransactionStatusTask extends BaseStepExecutionTask {
|
|
7
|
+
actionType;
|
|
8
|
+
constructor(actionType) {
|
|
9
|
+
super();
|
|
10
|
+
this.actionType = actionType;
|
|
11
|
+
}
|
|
12
|
+
async run(context) {
|
|
13
|
+
const { client, step, statusManager, pollingIntervalMs, toChain, isBridgeExecution, } = context;
|
|
14
|
+
// At this point, we should have a txHash or taskId
|
|
15
|
+
// taskId is used for custom integrations that don't use the standard transaction hash
|
|
16
|
+
let transactionHash;
|
|
17
|
+
try {
|
|
18
|
+
const swapOrBridgeAction = statusManager.findAction(step, isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP');
|
|
19
|
+
transactionHash = swapOrBridgeAction?.txHash || swapOrBridgeAction?.taskId;
|
|
20
|
+
// Wait for the transaction status on the destination chain
|
|
21
|
+
if (!transactionHash) {
|
|
22
|
+
throw new Error('Transaction hash is undefined.');
|
|
23
|
+
}
|
|
24
|
+
const action = statusManager.initializeAction({
|
|
25
|
+
step,
|
|
26
|
+
type: this.actionType,
|
|
27
|
+
chainId: this.actionType === 'RECEIVING_CHAIN'
|
|
28
|
+
? step.action.toChainId
|
|
29
|
+
: step.action.fromChainId,
|
|
30
|
+
status: 'PENDING',
|
|
31
|
+
});
|
|
32
|
+
const statusResponse = (await waitForTransactionStatus(client, statusManager, transactionHash, step, action.type, pollingIntervalMs));
|
|
33
|
+
const statusReceiving = statusResponse.receiving;
|
|
34
|
+
// Update action status
|
|
35
|
+
statusManager.updateAction(step, action.type, 'DONE', {
|
|
36
|
+
chainId: statusReceiving?.chainId || toChain.id,
|
|
37
|
+
substatus: statusResponse.substatus,
|
|
38
|
+
substatusMessage: statusResponse.substatusMessage,
|
|
39
|
+
txHash: statusReceiving?.txHash,
|
|
40
|
+
txLink: statusReceiving?.txLink ||
|
|
41
|
+
`${toChain.metamask.blockExplorerUrls[0]}tx/${statusReceiving?.txHash}`,
|
|
42
|
+
});
|
|
43
|
+
// Update execution status
|
|
44
|
+
statusManager.updateExecution(step, {
|
|
45
|
+
status: 'DONE',
|
|
46
|
+
...(statusResponse.sending.amount && {
|
|
47
|
+
fromAmount: statusResponse.sending.amount,
|
|
48
|
+
}),
|
|
49
|
+
...(statusReceiving?.amount && { toAmount: statusReceiving.amount }),
|
|
50
|
+
...(statusReceiving?.token && { toToken: statusReceiving.token }),
|
|
51
|
+
internalTxLink: statusResponse?.lifiExplorerLink,
|
|
52
|
+
externalTxLink: statusResponse?.bridgeExplorerLink,
|
|
53
|
+
gasCosts: [
|
|
54
|
+
{
|
|
55
|
+
amount: statusResponse.sending.gasAmount,
|
|
56
|
+
amountUSD: statusResponse.sending.gasAmountUSD,
|
|
57
|
+
token: statusResponse.sending.gasToken,
|
|
58
|
+
estimate: statusResponse.sending.gasUsed,
|
|
59
|
+
limit: statusResponse.sending.gasUsed,
|
|
60
|
+
price: statusResponse.sending.gasPrice,
|
|
61
|
+
type: 'SEND',
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
});
|
|
65
|
+
return { status: 'COMPLETED' };
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
const htmlMessage = await getTransactionFailedMessage(client, step, `${toChain.metamask.blockExplorerUrls[0]}tx/${transactionHash}`);
|
|
69
|
+
throw new TransactionError(LiFiErrorCode.TransactionFailed, htmlMessage ??
|
|
70
|
+
'Failed while waiting for status of destination chain transaction.', e);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=WaitForTransactionStatusTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WaitForTransactionStatusTask.js","sourceRoot":"","sources":["../../../../src/core/tasks/WaitForTransactionStatusTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { LiFiStep } from '@lifi/types';
|
|
2
|
-
import type { SDKClient } from '
|
|
2
|
+
import type { SDKClient } from '../../../types/core.js';
|
|
3
3
|
export declare const checkBalance: (client: SDKClient, walletAddress: string, step: LiFiStep, depth?: number) => Promise<void>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { getTokenBalance } from '
|
|
2
|
-
import { BalanceError } from '
|
|
3
|
-
import { formatUnits } from '
|
|
4
|
-
import { sleep } from '
|
|
1
|
+
import { getTokenBalance } from '../../../actions/getTokenBalance.js';
|
|
2
|
+
import { BalanceError } from '../../../errors/errors.js';
|
|
3
|
+
import { formatUnits } from '../../../utils/formatUnits.js';
|
|
4
|
+
import { sleep } from '../../../utils/sleep.js';
|
|
5
5
|
export const checkBalance = async (client, walletAddress, step, depth = 0) => {
|
|
6
6
|
const token = await getTokenBalance(client, walletAddress, step.action.fromToken);
|
|
7
7
|
if (token) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../../../../src/core/tasks/helpers/checkBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAiB,EACjB,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CACjC,MAAM,EACN,aAAa,EACb,IAAI,CAAC,MAAM,CAAC,SAAS,CACtB,CAAA;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YAC5D,CAAC;iBAAM,IACL,CAAC,aAAa;gBACZ,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;gBAC1D,WAAc;gBAChB,cAAc,EACd,CAAC;gBACD,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACzD,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,YAAY,GAAG,QAAQ,KAAK,CAAC,MAAM,4CAA4C,MAAM,IAAI,KAAK,CAAC,MAAM,gCAAgC,OAAO,IAAI,KAAK,CAAC,MAAM,4BAA4B,CAAA;gBAE5L,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;oBAC1B,YAAY,IAAI,8FAA8F,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;gBAC1I,CAAC;gBAED,MAAM,IAAI,YAAY,CACpB,yBAAyB,EACzB,IAAI,KAAK,CAAC,YAAY,CAAC,CACxB,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { LiFiErrorCode } from '../../../errors/constants.js';
|
|
2
|
+
import { TransactionError } from '../../../errors/errors.js';
|
|
3
|
+
export const getTransactionRequestData = async (step, executionOptions) => {
|
|
4
|
+
if (!step.transactionRequest?.data) {
|
|
5
|
+
throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction. Transaction request data is not found.');
|
|
6
|
+
}
|
|
7
|
+
let transactionRequest = {
|
|
8
|
+
data: step.transactionRequest.data,
|
|
9
|
+
};
|
|
10
|
+
if (executionOptions?.updateTransactionRequestHook) {
|
|
11
|
+
const customizedTransactionRequest = await executionOptions.updateTransactionRequestHook({
|
|
12
|
+
requestType: 'transaction',
|
|
13
|
+
...transactionRequest,
|
|
14
|
+
});
|
|
15
|
+
transactionRequest = {
|
|
16
|
+
...transactionRequest,
|
|
17
|
+
...customizedTransactionRequest,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const transactionRequestData = transactionRequest.data;
|
|
21
|
+
if (!transactionRequestData) {
|
|
22
|
+
throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction. Transaction request data is not found.');
|
|
23
|
+
}
|
|
24
|
+
return transactionRequestData;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=getTransactionRequestData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getTransactionRequestData.js","sourceRoot":"","sources":["../../../../../src/core/tasks/helpers/getTransactionRequestData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAO5D,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,EAC5C,IAAsB,EACtB,gBAAmC,EAClB,EAAE;IACnB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,uEAAuE,CACxE,CAAA;IACH,CAAC;IAED,IAAI,kBAAkB,GAA0B;QAC9C,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI;KACnC,CAAA;IAED,IAAI,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;QACnD,MAAM,4BAA4B,GAChC,MAAM,gBAAgB,CAAC,4BAA4B,CAAC;YAClD,WAAW,EAAE,aAAa;YAC1B,GAAG,kBAAkB;SACtB,CAAC,CAAA;QAEJ,kBAAkB,GAAG;YACnB,GAAG,kBAAkB;YACrB,GAAG,4BAA4B;SAChC,CAAA;IACH,CAAC;IAED,MAAM,sBAAsB,GAAG,kBAAkB,CAAC,IAAI,CAAA;IAEtD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5B,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,uEAAuE,CACxE,CAAA;IACH,CAAC;IAED,OAAO,sBAAsB,CAAA;AAC/B,CAAC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { LiFiStep } from '@lifi/types';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
2
|
+
import type { StatusManager } from '../../../core/StatusManager.js';
|
|
3
|
+
import type { ExecutionOptions } from '../../../types/core.js';
|
|
4
4
|
/**
|
|
5
5
|
* This method checks whether the new and updated Step meets the required exchange rate conditions.
|
|
6
6
|
* If yes it returns the updated Step.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { checkStepSlippageThreshold } from '../../../core/utils.js';
|
|
2
|
+
import { LiFiErrorCode } from '../../../errors/constants.js';
|
|
3
|
+
import { TransactionError } from '../../../errors/errors.js';
|
|
4
4
|
/**
|
|
5
5
|
* This method checks whether the new and updated Step meets the required exchange rate conditions.
|
|
6
6
|
* If yes it returns the updated Step.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepComparison.js","sourceRoot":"","sources":["../../../../../src/core/tasks/helpers/stepComparison.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAG5D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,aAA4B,EAC5B,OAAiB,EACjB,OAAiB,EACjB,oBAA6B,EAC7B,gBAAmC,EAChB,EAAE;IACrB,uEAAuE;IACvE,IAAI,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,eAAoC,CAAA;IACxC,IAAI,oBAAoB,EAAE,CAAC;QACzB,eAAe,GAAG,MAAM,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;YACvE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,0EAA0E;QAC1E,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,0BAA0B,EACxC,+LAA+L,CAChM,CAAA;IACH,CAAC;IAED,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LiFiStep, StatusResponse } from '@lifi/types';
|
|
2
|
+
import type { ExecutionActionType, SDKClient } from '../../../types/core.js';
|
|
3
|
+
import type { StatusManager } from '../../StatusManager.js';
|
|
4
|
+
export declare function waitForTransactionStatus(client: SDKClient, statusManager: StatusManager, txHash: string, step: LiFiStep, actionType: ExecutionActionType, interval?: number): Promise<StatusResponse>;
|
package/dist/esm/core/{waitForTransactionStatus.js → tasks/helpers/waitForTransactionStatus.js}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { getStatus } from '
|
|
2
|
-
import { ServerError } from '
|
|
3
|
-
import { waitForResult } from '
|
|
4
|
-
import { getSubstatusMessage } from '
|
|
1
|
+
import { getStatus } from '../../../actions/getStatus.js';
|
|
2
|
+
import { ServerError } from '../../../errors/errors.js';
|
|
3
|
+
import { waitForResult } from '../../../utils/waitForResult.js';
|
|
4
|
+
import { getSubstatusMessage } from '../../actionMessages.js';
|
|
5
5
|
const TRANSACTION_HASH_OBSERVERS = {};
|
|
6
|
-
export async function waitForTransactionStatus(client, statusManager, txHash, step,
|
|
6
|
+
export async function waitForTransactionStatus(client, statusManager, txHash, step, actionType, interval = 5_000) {
|
|
7
7
|
const _getStatus = () => {
|
|
8
8
|
return getStatus(client, {
|
|
9
9
|
fromChain: step.action.fromChainId,
|
|
@@ -17,7 +17,7 @@ export async function waitForTransactionStatus(client, statusManager, txHash, st
|
|
|
17
17
|
case 'DONE':
|
|
18
18
|
return statusResponse;
|
|
19
19
|
case 'PENDING':
|
|
20
|
-
statusManager?.
|
|
20
|
+
statusManager?.updateAction(step, actionType, 'PENDING', {
|
|
21
21
|
substatus: statusResponse.substatus,
|
|
22
22
|
substatusMessage: statusResponse.substatusMessage ||
|
|
23
23
|
getSubstatusMessage(statusResponse.status, statusResponse.substatus),
|
|
@@ -39,7 +39,9 @@ export async function waitForTransactionStatus(client, statusManager, txHash, st
|
|
|
39
39
|
};
|
|
40
40
|
let status = TRANSACTION_HASH_OBSERVERS[txHash];
|
|
41
41
|
if (!status) {
|
|
42
|
-
status = waitForResult(_getStatus, interval)
|
|
42
|
+
status = waitForResult(_getStatus, interval).finally(() => {
|
|
43
|
+
delete TRANSACTION_HASH_OBSERVERS[txHash];
|
|
44
|
+
});
|
|
43
45
|
TRANSACTION_HASH_OBSERVERS[txHash] = status;
|
|
44
46
|
}
|
|
45
47
|
const resolvedStatus = await status;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waitForTransactionStatus.js","sourceRoot":"","sources":["../../../../../src/core/tasks/helpers/waitForTransactionStatus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAG7D,MAAM,0BAA0B,GAA4C,EAAE,CAAA;AAE9E,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAiB,EACjB,aAA4B,EAC5B,MAAc,EACd,IAAc,EACd,UAA+B,EAC/B,QAAQ,GAAG,KAAK;IAEhB,MAAM,UAAU,GAAG,GAAwC,EAAE;QAC3D,OAAO,SAAS,CAAC,MAAM,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAClC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAC9B,MAAM;YACN,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SACrD,CAAC;aACC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;YACvB,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC9B,KAAK,MAAM;oBACT,OAAO,cAAc,CAAA;gBACvB,KAAK,SAAS;oBACZ,aAAa,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;wBACvD,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,gBAAgB,EACd,cAAc,CAAC,gBAAgB;4BAC/B,mBAAmB,CACjB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,SAAS,CACzB;wBACH,MAAM,EAAG,cAAiC,CAAC,kBAAkB;qBAC9D,CAAC,CAAA;oBACF,OAAO,SAAS,CAAA;gBAClB,KAAK,WAAW;oBACd,OAAO,SAAS,CAAA;gBAClB;oBACE,OAAO,OAAO,CAAC,MAAM,EAAE,CAAA;YAC3B,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC3C,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YAC1D,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;IAED,IAAI,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAA;IAE/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACxD,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;QACF,0BAA0B,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC7C,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAA;IAEnC,IAAI,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,WAAW,CACnB,uDAAuD,CACxD,CAAA;IACH,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC"}
|
package/dist/esm/core/utils.d.ts
CHANGED
|
@@ -82,13 +82,18 @@ export declare function getRpcUrlsFromChains(existingRpcUrls: RPCUrls, chains: E
|
|
|
82
82
|
988?: string[] | undefined;
|
|
83
83
|
4326?: string[] | undefined;
|
|
84
84
|
3637?: string[] | undefined;
|
|
85
|
-
|
|
85
|
+
5734951?: string[] | undefined;
|
|
86
|
+
2818?: string[] | undefined;
|
|
87
|
+
4217?: string[] | undefined;
|
|
86
88
|
1161011141099710?: string[] | undefined;
|
|
87
89
|
111971151099710?: string[] | undefined;
|
|
90
|
+
1151111081099710?: string[] | undefined;
|
|
91
|
+
1021111031099710?: string[] | undefined;
|
|
88
92
|
9270000000000000?: string[] | undefined;
|
|
89
93
|
20000000000001?: string[] | undefined;
|
|
90
94
|
20000000000002?: string[] | undefined;
|
|
91
95
|
20000000000003?: string[] | undefined;
|
|
92
96
|
20000000000004?: string[] | undefined;
|
|
97
|
+
20000000000005?: string[] | undefined;
|
|
93
98
|
728126428?: string[] | undefined;
|
|
94
99
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { LiFiStep } from '@lifi/types';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ExecutionAction } from '../types/core.js';
|
|
3
3
|
import type { BaseError } from './baseError.js';
|
|
4
4
|
import type { ErrorCode } from './constants.js';
|
|
5
5
|
export declare class SDKError extends Error {
|
|
6
6
|
step?: LiFiStep;
|
|
7
|
-
|
|
7
|
+
action?: ExecutionAction;
|
|
8
8
|
code: ErrorCode;
|
|
9
9
|
name: string;
|
|
10
10
|
cause: BaseError;
|
|
11
|
-
constructor(cause: BaseError, step?: LiFiStep,
|
|
11
|
+
constructor(cause: BaseError, step?: LiFiStep, action?: ExecutionAction);
|
|
12
12
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { version } from '../version.js';
|
|
2
2
|
// Note: SDKError is used to wrapper and present errors at the top level
|
|
3
|
-
// Where opportunity allows we also add the step and the
|
|
3
|
+
// Where opportunity allows we also add the step and the action related to the error
|
|
4
4
|
export class SDKError extends Error {
|
|
5
5
|
step;
|
|
6
|
-
|
|
6
|
+
action;
|
|
7
7
|
code;
|
|
8
8
|
name = 'SDKError';
|
|
9
9
|
cause;
|
|
10
|
-
constructor(cause, step,
|
|
10
|
+
constructor(cause, step, action) {
|
|
11
11
|
const errorMessage = `${cause.message ? `[${cause.name}] ${cause.message}` : 'Unknown error occurred'}\nLI.FI SDK version: ${version}`;
|
|
12
12
|
super(errorMessage);
|
|
13
13
|
this.name = 'SDKError';
|
|
14
14
|
this.step = step;
|
|
15
|
-
this.
|
|
15
|
+
this.action = action;
|
|
16
16
|
this.cause = cause;
|
|
17
17
|
this.stack = this.cause.stack;
|
|
18
18
|
this.code = cause.code;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SDKError.js","sourceRoot":"","sources":["../../../src/errors/SDKError.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAIvC,wEAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"SDKError.js","sourceRoot":"","sources":["../../../src/errors/SDKError.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAIvC,wEAAwE;AACxE,oFAAoF;AACpF,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,IAAI,CAAW;IACf,MAAM,CAAkB;IACxB,IAAI,CAAW;IACN,IAAI,GAAG,UAAU,CAAA;IACjB,KAAK,CAAW;IAEzB,YAAY,KAAgB,EAAE,IAAe,EAAE,MAAwB;QACrE,MAAM,YAAY,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,wBAAwB,wBAAwB,OAAO,EAAE,CAAA;QACtI,KAAK,CAAC,YAAY,CAAC,CAAA;QACnB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;CACF"}
|
|
@@ -9,7 +9,8 @@ export declare enum ErrorName {
|
|
|
9
9
|
UnknownError = "UnknownError",
|
|
10
10
|
SlippageError = "SlippageError",
|
|
11
11
|
HTTPError = "HTTPError",
|
|
12
|
-
ConfigError = "ConfigError"
|
|
12
|
+
ConfigError = "ConfigError",
|
|
13
|
+
ExecuteStepRetryError = "ExecuteStepRetryError"
|
|
13
14
|
}
|
|
14
15
|
export type ErrorCode = LiFiErrorCode;
|
|
15
16
|
export declare enum LiFiErrorCode {
|
|
@@ -11,6 +11,7 @@ export var ErrorName;
|
|
|
11
11
|
ErrorName["SlippageError"] = "SlippageError";
|
|
12
12
|
ErrorName["HTTPError"] = "HTTPError";
|
|
13
13
|
ErrorName["ConfigError"] = "ConfigError";
|
|
14
|
+
ErrorName["ExecuteStepRetryError"] = "ExecuteStepRetryError";
|
|
14
15
|
})(ErrorName || (ErrorName = {}));
|
|
15
16
|
export var LiFiErrorCode;
|
|
16
17
|
(function (LiFiErrorCode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/errors/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/errors/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAaX;AAbD,WAAY,SAAS;IACnB,kCAAqB,CAAA;IACrB,4CAA+B,CAAA;IAC/B,wCAA2B,CAAA;IAC3B,kDAAqC,CAAA;IACrC,gDAAmC,CAAA;IACnC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,oCAAuB,CAAA;IACvB,wCAA2B,CAAA;IAC3B,4DAA+C,CAAA;AACjD,CAAC,EAbW,SAAS,KAAT,SAAS,QAapB;AAID,MAAM,CAAN,IAAY,aA4BX;AA5BD,WAAY,aAAa;IACvB,sEAAoB,CAAA;IACpB,0EAAsB,CAAA;IACtB,wFAA6B,CAAA;IAC7B,8EAAwB,CAAA;IACxB,0DAAc,CAAA;IACd,kFAA0B,CAAA;IAC1B,4DAAe,CAAA;IACf,4EAAuB,CAAA;IACvB,sFAA4B,CAAA;IAC5B,sEAAoB,CAAA;IACpB,kFAA0B,CAAA;IAC1B,sEAAoB,CAAA;IACpB,8EAAwB,CAAA;IACxB,oEAAmB,CAAA;IACnB,8EAAwB,CAAA;IACxB,8EAAwB,CAAA;IACxB,gGAAiC,CAAA;IACjC,oGAAmC,CAAA;IACnC,gFAAyB,CAAA;IACzB,kGAAkC,CAAA;IAClC,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,kFAA0B,CAAA;IAC1B,8EAAwB,CAAA;IACxB,0EAAsB,CAAA;IACtB,0EAAsB,CAAA;IACtB,kEAAkB,CAAA;AACpB,CAAC,EA5BW,aAAa,KAAb,aAAa,QA4BxB;AAED,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,wDAAwC,CAAA;IACxC,qIAAqH,CAAA;IACrH,qDAAqC,CAAA;IACrC,sEAAsD,CAAA;IACtD,iEAAiD,CAAA;AACnD,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ExecuteStepRetryParams } from '../types/core.js';
|
|
1
2
|
import { BaseError } from './baseError.js';
|
|
2
3
|
import { LiFiErrorCode } from './constants.js';
|
|
3
4
|
export declare class RPCError extends BaseError {
|
|
@@ -21,3 +22,12 @@ export declare class ServerError extends BaseError {
|
|
|
21
22
|
export declare class ValidationError extends BaseError {
|
|
22
23
|
constructor(message: string);
|
|
23
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Thrown by a step executor when executeStep should be retried with the given params
|
|
27
|
+
* (e.g. wallet rejected 7702 upgrade → retry with atomicityNotReady).
|
|
28
|
+
* The execution layer catches this and retries executeStep(client, step, retryParams).
|
|
29
|
+
*/
|
|
30
|
+
export declare class ExecuteStepRetryError extends BaseError {
|
|
31
|
+
readonly retryParams: ExecuteStepRetryParams;
|
|
32
|
+
constructor(message: string, retryParams: ExecuteStepRetryParams, cause?: Error);
|
|
33
|
+
}
|
|
@@ -35,4 +35,16 @@ export class ValidationError extends BaseError {
|
|
|
35
35
|
super(ErrorName.ValidationError, LiFiErrorCode.ValidationError, message);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Thrown by a step executor when executeStep should be retried with the given params
|
|
40
|
+
* (e.g. wallet rejected 7702 upgrade → retry with atomicityNotReady).
|
|
41
|
+
* The execution layer catches this and retries executeStep(client, step, retryParams).
|
|
42
|
+
*/
|
|
43
|
+
export class ExecuteStepRetryError extends BaseError {
|
|
44
|
+
retryParams;
|
|
45
|
+
constructor(message, retryParams, cause) {
|
|
46
|
+
super(ErrorName.ExecuteStepRetryError, LiFiErrorCode.InternalError, message, cause);
|
|
47
|
+
this.retryParams = retryParams;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
38
50
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/errors/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/errors/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEzD,MAAM,OAAO,QAAS,SAAQ,SAAS;IACrC,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,SAAS;IAC1C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACtD,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC7C,YAAY,IAAmB,EAAE,OAAe,EAAE,KAAa;QAC7D,KAAK,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC5E,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;IAC3E,CAAC;CACF;AAED,MAAM,OAAO,WAAY,SAAQ,SAAS;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IACpE,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,SAAS;IACzC,WAAW,CAAwB;IAE5C,YACE,OAAe,EACf,WAAmC,EACnC,KAAa;QAEb,KAAK,CACH,SAAS,CAAC,qBAAqB,EAC/B,aAAa,CAAC,aAAa,EAC3B,OAAO,EACP,KAAK,CACN,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;CACF"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -22,19 +22,28 @@ export { actions } from './actions/index.js';
|
|
|
22
22
|
export { patchContractCalls } from './actions/patchContractCalls.js';
|
|
23
23
|
export { relayTransaction } from './actions/relayTransaction.js';
|
|
24
24
|
export { createClient } from './client/createClient.js';
|
|
25
|
+
export { getActionMessage, getSubstatusMessage } from './core/actionMessages.js';
|
|
26
|
+
export { BaseStepExecutionTask } from './core/BaseStepExecutionTask.js';
|
|
25
27
|
export { BaseStepExecutor } from './core/BaseStepExecutor.js';
|
|
26
|
-
export { checkBalance } from './core/checkBalance.js';
|
|
27
28
|
export { executeRoute, getActiveRoute, getActiveRoutes, resumeRoute, stopRouteExecution, updateRouteExecution, } from './core/execution.js';
|
|
28
29
|
export { StatusManager } from './core/StatusManager.js';
|
|
29
|
-
export {
|
|
30
|
-
export {
|
|
30
|
+
export type { SDKStorage } from './core/storage.js';
|
|
31
|
+
export { createDefaultStorage, InMemoryStorage, LocalStorageAdapter, } from './core/storage.js';
|
|
32
|
+
export { TaskPipeline } from './core/TaskPipeline.js';
|
|
33
|
+
export { CheckBalanceTask } from './core/tasks/CheckBalanceTask.js';
|
|
34
|
+
export { checkBalance } from './core/tasks/helpers/checkBalance.js';
|
|
35
|
+
export { getTransactionRequestData } from './core/tasks/helpers/getTransactionRequestData.js';
|
|
36
|
+
export { stepComparison } from './core/tasks/helpers/stepComparison.js';
|
|
37
|
+
export { PrepareTransactionTask } from './core/tasks/PrepareTransactionTask.js';
|
|
38
|
+
export { WaitForTransactionStatusTask } from './core/tasks/WaitForTransactionStatusTask.js';
|
|
31
39
|
export { BaseError } from './errors/baseError.js';
|
|
32
40
|
export type { ErrorCode } from './errors/constants.js';
|
|
33
41
|
export { ErrorMessage, ErrorName, LiFiErrorCode } from './errors/constants.js';
|
|
34
|
-
export { BalanceError, ProviderError, RPCError, ServerError, TransactionError, UnknownError, ValidationError, } from './errors/errors.js';
|
|
42
|
+
export { BalanceError, ExecuteStepRetryError, ProviderError, RPCError, ServerError, TransactionError, UnknownError, ValidationError, } from './errors/errors.js';
|
|
35
43
|
export { HTTPError } from './errors/httpError.js';
|
|
36
44
|
export { SDKError } from './errors/SDKError.js';
|
|
37
|
-
export type { AcceptExchangeRateUpdateHook, AcceptSlippageUpdateHook, AcceptSlippageUpdateHookParams, ContractCallParams, ContractTool, ExchangeRateUpdateParams, Execution, ExecutionOptions, ExecutionStatus, GetContractCallsHook, GetContractCallsResult, InteractionSettings, LiFiStepExtended,
|
|
45
|
+
export type { AcceptExchangeRateUpdateHook, AcceptSlippageUpdateHook, AcceptSlippageUpdateHookParams, ContractCallParams, ContractTool, ExchangeRateUpdateParams, ExecuteStepRetryParams, Execution, ExecutionAction, ExecutionActionStatus, ExecutionActionType, ExecutionOptions, ExecutionStatus, GetContractCallsHook, GetContractCallsResult, InteractionSettings, LiFiStepExtended, RequestInterceptor, RouteExecutionData, RouteExecutionDataDictionary, RouteExecutionDictionary, RouteExtended, RPCUrls, SDKBaseConfig, SDKClient, SDKConfig, SDKProvider, StepExecutor, StepExecutorOptions, StepExtended, TransactionMethodType, TransactionParameters, TransactionRequestParameters, TransactionRequestUpdateHook, UpdateRouteHook, } from './types/core.js';
|
|
46
|
+
export type { StepExecutorBaseContext, StepExecutorContext, TaskResult, TaskStatus, } from './types/execution.js';
|
|
38
47
|
export { checkPackageUpdates } from './utils/checkPackageUpdates.js';
|
|
39
48
|
export { convertQuoteToRoute } from './utils/convertQuoteToRoute.js';
|
|
40
49
|
export { fetchTxErrorDetails } from './utils/fetchTxErrorDetails.js';
|
|
@@ -43,4 +52,4 @@ export { isHex } from './utils/isHex.js';
|
|
|
43
52
|
export { parseUnits } from './utils/parseUnits.js';
|
|
44
53
|
export { sleep } from './utils/sleep.js';
|
|
45
54
|
export { waitForResult } from './utils/waitForResult.js';
|
|
46
|
-
export { withDedupe } from './utils/withDedupe.js';
|
|
55
|
+
export { LruMap, withDedupe } from './utils/withDedupe.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -24,15 +24,22 @@ export { actions } from './actions/index.js';
|
|
|
24
24
|
export { patchContractCalls } from './actions/patchContractCalls.js';
|
|
25
25
|
export { relayTransaction } from './actions/relayTransaction.js';
|
|
26
26
|
export { createClient } from './client/createClient.js';
|
|
27
|
+
export { getActionMessage, getSubstatusMessage } from './core/actionMessages.js';
|
|
28
|
+
export { BaseStepExecutionTask } from './core/BaseStepExecutionTask.js';
|
|
27
29
|
export { BaseStepExecutor } from './core/BaseStepExecutor.js';
|
|
28
|
-
export { checkBalance } from './core/checkBalance.js';
|
|
29
30
|
export { executeRoute, getActiveRoute, getActiveRoutes, resumeRoute, stopRouteExecution, updateRouteExecution, } from './core/execution.js';
|
|
30
31
|
export { StatusManager } from './core/StatusManager.js';
|
|
31
|
-
export {
|
|
32
|
-
export {
|
|
32
|
+
export { createDefaultStorage, InMemoryStorage, LocalStorageAdapter, } from './core/storage.js';
|
|
33
|
+
export { TaskPipeline } from './core/TaskPipeline.js';
|
|
34
|
+
export { CheckBalanceTask } from './core/tasks/CheckBalanceTask.js';
|
|
35
|
+
export { checkBalance } from './core/tasks/helpers/checkBalance.js';
|
|
36
|
+
export { getTransactionRequestData } from './core/tasks/helpers/getTransactionRequestData.js';
|
|
37
|
+
export { stepComparison } from './core/tasks/helpers/stepComparison.js';
|
|
38
|
+
export { PrepareTransactionTask } from './core/tasks/PrepareTransactionTask.js';
|
|
39
|
+
export { WaitForTransactionStatusTask } from './core/tasks/WaitForTransactionStatusTask.js';
|
|
33
40
|
export { BaseError } from './errors/baseError.js';
|
|
34
41
|
export { ErrorMessage, ErrorName, LiFiErrorCode } from './errors/constants.js';
|
|
35
|
-
export { BalanceError, ProviderError, RPCError, ServerError, TransactionError, UnknownError, ValidationError, } from './errors/errors.js';
|
|
42
|
+
export { BalanceError, ExecuteStepRetryError, ProviderError, RPCError, ServerError, TransactionError, UnknownError, ValidationError, } from './errors/errors.js';
|
|
36
43
|
export { HTTPError } from './errors/httpError.js';
|
|
37
44
|
export { SDKError } from './errors/SDKError.js';
|
|
38
45
|
export { checkPackageUpdates } from './utils/checkPackageUpdates.js';
|
|
@@ -43,5 +50,5 @@ export { isHex } from './utils/isHex.js';
|
|
|
43
50
|
export { parseUnits } from './utils/parseUnits.js';
|
|
44
51
|
export { sleep } from './utils/sleep.js';
|
|
45
52
|
export { waitForResult } from './utils/waitForResult.js';
|
|
46
|
-
export { withDedupe } from './utils/withDedupe.js';
|
|
53
|
+
export { LruMap, withDedupe } from './utils/withDedupe.js';
|
|
47
54
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,qDAAqD;AACrD,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAA;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|