@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
package/dist/cjs/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/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.
|
|
18
|
-
exports.withDedupe = exports.waitForResult = exports.sleep = exports.parseUnits = exports.isHex = exports.formatUnits = void 0;
|
|
17
|
+
exports.ExecuteStepRetryError = exports.BalanceError = exports.LiFiErrorCode = exports.ErrorName = exports.ErrorMessage = exports.BaseError = exports.WaitForTransactionStatusTask = exports.PrepareTransactionTask = exports.stepComparison = exports.getTransactionRequestData = exports.checkBalance = exports.CheckBalanceTask = exports.TaskPipeline = exports.LocalStorageAdapter = exports.InMemoryStorage = exports.createDefaultStorage = exports.StatusManager = exports.updateRouteExecution = exports.stopRouteExecution = exports.resumeRoute = exports.getActiveRoutes = exports.getActiveRoute = exports.executeRoute = exports.BaseStepExecutor = exports.BaseStepExecutionTask = exports.getSubstatusMessage = exports.getActionMessage = exports.createClient = exports.relayTransaction = exports.patchContractCalls = exports.actions = exports.getWalletBalances = exports.getTransactionHistory = exports.getTools = exports.getTokens = exports.getTokenBalancesByChain = exports.getTokenBalances = exports.getTokenBalance = exports.getToken = exports.getStepTransaction = exports.getStatus = exports.getRoutes = exports.getRelayerQuote = exports.getRelayedTransactionStatus = exports.getQuote = exports.getNameServiceAddress = exports.getGasRecommendation = exports.getContractCallsQuote = exports.getConnections = exports.getChains = void 0;
|
|
18
|
+
exports.withDedupe = exports.LruMap = exports.waitForResult = exports.sleep = exports.parseUnits = exports.isHex = exports.formatUnits = exports.fetchTxErrorDetails = exports.convertQuoteToRoute = exports.checkPackageUpdates = exports.SDKError = exports.HTTPError = exports.ValidationError = exports.UnknownError = exports.TransactionError = exports.ServerError = exports.RPCError = exports.ProviderError = void 0;
|
|
19
19
|
__exportStar(require("@lifi/types"), exports);
|
|
20
20
|
var getChains_js_1 = require("./actions/getChains.js");
|
|
21
21
|
Object.defineProperty(exports, "getChains", { enumerable: true, get: function () { return getChains_js_1.getChains; } });
|
|
@@ -63,10 +63,13 @@ var relayTransaction_js_1 = require("./actions/relayTransaction.js");
|
|
|
63
63
|
Object.defineProperty(exports, "relayTransaction", { enumerable: true, get: function () { return relayTransaction_js_1.relayTransaction; } });
|
|
64
64
|
var createClient_js_1 = require("./client/createClient.js");
|
|
65
65
|
Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return createClient_js_1.createClient; } });
|
|
66
|
+
var actionMessages_js_1 = require("./core/actionMessages.js");
|
|
67
|
+
Object.defineProperty(exports, "getActionMessage", { enumerable: true, get: function () { return actionMessages_js_1.getActionMessage; } });
|
|
68
|
+
Object.defineProperty(exports, "getSubstatusMessage", { enumerable: true, get: function () { return actionMessages_js_1.getSubstatusMessage; } });
|
|
69
|
+
var BaseStepExecutionTask_js_1 = require("./core/BaseStepExecutionTask.js");
|
|
70
|
+
Object.defineProperty(exports, "BaseStepExecutionTask", { enumerable: true, get: function () { return BaseStepExecutionTask_js_1.BaseStepExecutionTask; } });
|
|
66
71
|
var BaseStepExecutor_js_1 = require("./core/BaseStepExecutor.js");
|
|
67
72
|
Object.defineProperty(exports, "BaseStepExecutor", { enumerable: true, get: function () { return BaseStepExecutor_js_1.BaseStepExecutor; } });
|
|
68
|
-
var checkBalance_js_1 = require("./core/checkBalance.js");
|
|
69
|
-
Object.defineProperty(exports, "checkBalance", { enumerable: true, get: function () { return checkBalance_js_1.checkBalance; } });
|
|
70
73
|
var execution_js_1 = require("./core/execution.js");
|
|
71
74
|
Object.defineProperty(exports, "executeRoute", { enumerable: true, get: function () { return execution_js_1.executeRoute; } });
|
|
72
75
|
Object.defineProperty(exports, "getActiveRoute", { enumerable: true, get: function () { return execution_js_1.getActiveRoute; } });
|
|
@@ -76,10 +79,24 @@ Object.defineProperty(exports, "stopRouteExecution", { enumerable: true, get: fu
|
|
|
76
79
|
Object.defineProperty(exports, "updateRouteExecution", { enumerable: true, get: function () { return execution_js_1.updateRouteExecution; } });
|
|
77
80
|
var StatusManager_js_1 = require("./core/StatusManager.js");
|
|
78
81
|
Object.defineProperty(exports, "StatusManager", { enumerable: true, get: function () { return StatusManager_js_1.StatusManager; } });
|
|
79
|
-
var
|
|
82
|
+
var storage_js_1 = require("./core/storage.js");
|
|
83
|
+
Object.defineProperty(exports, "createDefaultStorage", { enumerable: true, get: function () { return storage_js_1.createDefaultStorage; } });
|
|
84
|
+
Object.defineProperty(exports, "InMemoryStorage", { enumerable: true, get: function () { return storage_js_1.InMemoryStorage; } });
|
|
85
|
+
Object.defineProperty(exports, "LocalStorageAdapter", { enumerable: true, get: function () { return storage_js_1.LocalStorageAdapter; } });
|
|
86
|
+
var TaskPipeline_js_1 = require("./core/TaskPipeline.js");
|
|
87
|
+
Object.defineProperty(exports, "TaskPipeline", { enumerable: true, get: function () { return TaskPipeline_js_1.TaskPipeline; } });
|
|
88
|
+
var CheckBalanceTask_js_1 = require("./core/tasks/CheckBalanceTask.js");
|
|
89
|
+
Object.defineProperty(exports, "CheckBalanceTask", { enumerable: true, get: function () { return CheckBalanceTask_js_1.CheckBalanceTask; } });
|
|
90
|
+
var checkBalance_js_1 = require("./core/tasks/helpers/checkBalance.js");
|
|
91
|
+
Object.defineProperty(exports, "checkBalance", { enumerable: true, get: function () { return checkBalance_js_1.checkBalance; } });
|
|
92
|
+
var getTransactionRequestData_js_1 = require("./core/tasks/helpers/getTransactionRequestData.js");
|
|
93
|
+
Object.defineProperty(exports, "getTransactionRequestData", { enumerable: true, get: function () { return getTransactionRequestData_js_1.getTransactionRequestData; } });
|
|
94
|
+
var stepComparison_js_1 = require("./core/tasks/helpers/stepComparison.js");
|
|
80
95
|
Object.defineProperty(exports, "stepComparison", { enumerable: true, get: function () { return stepComparison_js_1.stepComparison; } });
|
|
81
|
-
var
|
|
82
|
-
Object.defineProperty(exports, "
|
|
96
|
+
var PrepareTransactionTask_js_1 = require("./core/tasks/PrepareTransactionTask.js");
|
|
97
|
+
Object.defineProperty(exports, "PrepareTransactionTask", { enumerable: true, get: function () { return PrepareTransactionTask_js_1.PrepareTransactionTask; } });
|
|
98
|
+
var WaitForTransactionStatusTask_js_1 = require("./core/tasks/WaitForTransactionStatusTask.js");
|
|
99
|
+
Object.defineProperty(exports, "WaitForTransactionStatusTask", { enumerable: true, get: function () { return WaitForTransactionStatusTask_js_1.WaitForTransactionStatusTask; } });
|
|
83
100
|
var baseError_js_1 = require("./errors/baseError.js");
|
|
84
101
|
Object.defineProperty(exports, "BaseError", { enumerable: true, get: function () { return baseError_js_1.BaseError; } });
|
|
85
102
|
var constants_js_1 = require("./errors/constants.js");
|
|
@@ -88,6 +105,7 @@ Object.defineProperty(exports, "ErrorName", { enumerable: true, get: function ()
|
|
|
88
105
|
Object.defineProperty(exports, "LiFiErrorCode", { enumerable: true, get: function () { return constants_js_1.LiFiErrorCode; } });
|
|
89
106
|
var errors_js_1 = require("./errors/errors.js");
|
|
90
107
|
Object.defineProperty(exports, "BalanceError", { enumerable: true, get: function () { return errors_js_1.BalanceError; } });
|
|
108
|
+
Object.defineProperty(exports, "ExecuteStepRetryError", { enumerable: true, get: function () { return errors_js_1.ExecuteStepRetryError; } });
|
|
91
109
|
Object.defineProperty(exports, "ProviderError", { enumerable: true, get: function () { return errors_js_1.ProviderError; } });
|
|
92
110
|
Object.defineProperty(exports, "RPCError", { enumerable: true, get: function () { return errors_js_1.RPCError; } });
|
|
93
111
|
Object.defineProperty(exports, "ServerError", { enumerable: true, get: function () { return errors_js_1.ServerError; } });
|
|
@@ -115,5 +133,6 @@ Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { r
|
|
|
115
133
|
var waitForResult_js_1 = require("./utils/waitForResult.js");
|
|
116
134
|
Object.defineProperty(exports, "waitForResult", { enumerable: true, get: function () { return waitForResult_js_1.waitForResult; } });
|
|
117
135
|
var withDedupe_js_1 = require("./utils/withDedupe.js");
|
|
136
|
+
Object.defineProperty(exports, "LruMap", { enumerable: true, get: function () { return withDedupe_js_1.LruMap; } });
|
|
118
137
|
Object.defineProperty(exports, "withDedupe", { enumerable: true, get: function () { return withDedupe_js_1.withDedupe; } });
|
|
119
138
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types/core.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ChainId, ChainType, CoinKey, ContractCall, ExtendedChain, FeeCost, GasCost, LiFiStep, Route, RouteOptions, Step, Substatus, Token, TokenAmount } from '@lifi/types';
|
|
2
|
+
import type { SDKStorage } from '../core/storage.js';
|
|
2
3
|
import type { ExtendedRequestInit } from './request.js';
|
|
3
4
|
export type RequestInterceptor = (request: ExtendedRequestInit) => ExtendedRequestInit | Promise<ExtendedRequestInit>;
|
|
4
5
|
export interface SDKBaseConfig {
|
|
@@ -15,6 +16,7 @@ export interface SDKBaseConfig {
|
|
|
15
16
|
preloadChains?: boolean;
|
|
16
17
|
chainsRefetchInterval?: number;
|
|
17
18
|
requestInterceptor?: RequestInterceptor;
|
|
19
|
+
storage?: SDKStorage;
|
|
18
20
|
}
|
|
19
21
|
export interface SDKConfig extends Partial<Omit<SDKBaseConfig, 'integrator'>> {
|
|
20
22
|
integrator: string;
|
|
@@ -47,11 +49,12 @@ export interface InteractionSettings {
|
|
|
47
49
|
allowUpdates?: boolean;
|
|
48
50
|
allowExecution?: boolean;
|
|
49
51
|
}
|
|
52
|
+
export type ExecuteStepRetryParams = Record<string, unknown>;
|
|
50
53
|
export interface StepExecutor {
|
|
51
54
|
allowUserInteraction: boolean;
|
|
52
55
|
allowExecution: boolean;
|
|
53
56
|
setInteraction(settings?: InteractionSettings): void;
|
|
54
|
-
executeStep(client: SDKClient, step: LiFiStepExtended): Promise<LiFiStepExtended>;
|
|
57
|
+
executeStep(client: SDKClient, step: LiFiStepExtended, retryParams?: ExecuteStepRetryParams): Promise<LiFiStepExtended>;
|
|
55
58
|
}
|
|
56
59
|
export interface RouteExecutionData {
|
|
57
60
|
route: Route;
|
|
@@ -128,39 +131,35 @@ export interface ExecutionOptions {
|
|
|
128
131
|
getContractCalls?: GetContractCallsHook;
|
|
129
132
|
adjustZeroOutputFromPreviousStep?: boolean;
|
|
130
133
|
executeInBackground?: boolean;
|
|
131
|
-
disableMessageSigning?: boolean;
|
|
132
134
|
infiniteApproval?: boolean;
|
|
133
135
|
}
|
|
134
136
|
export type ExecutionStatus = 'ACTION_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE';
|
|
135
|
-
export type
|
|
136
|
-
export type
|
|
137
|
-
export type
|
|
138
|
-
type:
|
|
139
|
-
status:
|
|
137
|
+
export type ExecutionActionStatus = 'STARTED' | 'ACTION_REQUIRED' | 'MESSAGE_REQUIRED' | 'RESET_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE' | 'CANCELLED';
|
|
138
|
+
export type ExecutionActionType = 'PERMIT' | 'CHECK_ALLOWANCE' | 'NATIVE_PERMIT' | 'RESET_ALLOWANCE' | 'SET_ALLOWANCE' | 'SWAP' | 'CROSS_CHAIN' | 'RECEIVING_CHAIN';
|
|
139
|
+
export type ExecutionAction = {
|
|
140
|
+
type: ExecutionActionType;
|
|
141
|
+
status: ExecutionActionStatus;
|
|
142
|
+
message?: string;
|
|
140
143
|
substatus?: Substatus;
|
|
144
|
+
substatusMessage?: string;
|
|
141
145
|
chainId?: number;
|
|
142
146
|
txHash?: string;
|
|
143
|
-
taskId?: string;
|
|
144
147
|
txLink?: string;
|
|
148
|
+
taskId?: string;
|
|
145
149
|
txType?: TransactionMethodType;
|
|
146
|
-
|
|
147
|
-
doneAt?: number;
|
|
148
|
-
failedAt?: number;
|
|
149
|
-
pendingAt?: number;
|
|
150
|
-
startedAt: number;
|
|
151
|
-
message?: string;
|
|
150
|
+
txHex?: string;
|
|
152
151
|
error?: {
|
|
153
152
|
code: string | number;
|
|
154
153
|
message: string;
|
|
155
154
|
htmlMessage?: string;
|
|
156
155
|
};
|
|
157
|
-
[key: string]: any;
|
|
158
156
|
};
|
|
159
157
|
export interface Execution {
|
|
160
158
|
startedAt: number;
|
|
161
|
-
|
|
159
|
+
signedAt?: number;
|
|
162
160
|
status: ExecutionStatus;
|
|
163
|
-
|
|
161
|
+
actions: Array<ExecutionAction>;
|
|
162
|
+
lastActionType?: ExecutionActionType;
|
|
164
163
|
fromAmount?: string;
|
|
165
164
|
toAmount?: string;
|
|
166
165
|
toToken?: Token;
|
|
@@ -168,5 +167,10 @@ export interface Execution {
|
|
|
168
167
|
gasCosts?: GasCost[];
|
|
169
168
|
internalTxLink?: string;
|
|
170
169
|
externalTxLink?: string;
|
|
170
|
+
error?: {
|
|
171
|
+
code: string | number;
|
|
172
|
+
message: string;
|
|
173
|
+
htmlMessage?: string;
|
|
174
|
+
};
|
|
171
175
|
}
|
|
172
176
|
export type TransactionMethodType = 'standard' | 'relayed' | 'batched';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ExtendedChain } from '@lifi/types';
|
|
2
|
+
import type { StatusManager } from '../core/StatusManager.js';
|
|
3
|
+
import type { ExecuteStepRetryParams, ExecutionOptions, LiFiStepExtended, SDKClient } from './core.js';
|
|
4
|
+
export interface StepExecutorBaseContext {
|
|
5
|
+
statusManager: StatusManager;
|
|
6
|
+
executionOptions?: ExecutionOptions;
|
|
7
|
+
fromChain: ExtendedChain;
|
|
8
|
+
toChain: ExtendedChain;
|
|
9
|
+
isBridgeExecution: boolean;
|
|
10
|
+
client: SDKClient;
|
|
11
|
+
step: LiFiStepExtended;
|
|
12
|
+
allowUserInteraction: boolean;
|
|
13
|
+
retryParams?: ExecuteStepRetryParams;
|
|
14
|
+
}
|
|
15
|
+
export interface StepExecutorContext extends StepExecutorBaseContext {
|
|
16
|
+
pollingIntervalMs?: number;
|
|
17
|
+
}
|
|
18
|
+
export interface TaskResult<TContext = Record<string, unknown>> {
|
|
19
|
+
status: TaskStatus;
|
|
20
|
+
context?: TContext;
|
|
21
|
+
}
|
|
22
|
+
export type TaskStatus = 'COMPLETED' | 'PAUSED';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/types/execution.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const waitForResult: <T>(fn: () => Promise<T | undefined>, interval?: number, maxRetries?: number, shouldRetry?: (count: number, error: unknown) => boolean) => Promise<T>;
|
|
1
|
+
export declare const waitForResult: <T>(fn: () => Promise<T | undefined>, interval?: number | ((poll: number) => number), maxRetries?: number, shouldRetry?: (count: number, error: unknown) => boolean) => Promise<T>;
|
|
@@ -5,11 +5,14 @@ const sleep_js_1 = require("./sleep.js");
|
|
|
5
5
|
const waitForResult = async (fn, interval = 5000, maxRetries = 3, shouldRetry = () => true) => {
|
|
6
6
|
let result;
|
|
7
7
|
let attempts = 0;
|
|
8
|
+
let polls = 0;
|
|
9
|
+
const getInterval = typeof interval === 'function' ? interval : () => interval;
|
|
8
10
|
while (!result) {
|
|
9
11
|
try {
|
|
10
12
|
result = await fn();
|
|
11
13
|
if (!result) {
|
|
12
|
-
await (0, sleep_js_1.sleep)(
|
|
14
|
+
await (0, sleep_js_1.sleep)(getInterval(polls));
|
|
15
|
+
polls++;
|
|
13
16
|
}
|
|
14
17
|
}
|
|
15
18
|
catch (error) {
|
|
@@ -20,7 +23,8 @@ const waitForResult = async (fn, interval = 5000, maxRetries = 3, shouldRetry =
|
|
|
20
23
|
if (attempts === maxRetries) {
|
|
21
24
|
throw error;
|
|
22
25
|
}
|
|
23
|
-
await (0, sleep_js_1.sleep)(
|
|
26
|
+
await (0, sleep_js_1.sleep)(getInterval(polls));
|
|
27
|
+
polls++;
|
|
24
28
|
}
|
|
25
29
|
}
|
|
26
30
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitForResult.js","sourceRoot":"","sources":["../../../src/utils/waitForResult.ts"],"names":[],"mappings":";;;AAAA,yCAAkC;AAW3B,MAAM,aAAa,GAAG,KAAK,EAChC,EAAgC,EAChC,
|
|
1
|
+
{"version":3,"file":"waitForResult.js","sourceRoot":"","sources":["../../../src/utils/waitForResult.ts"],"names":[],"mappings":";;;AAAA,yCAAkC;AAW3B,MAAM,aAAa,GAAG,KAAK,EAChC,EAAgC,EAChC,WAAgD,IAAI,EACpD,UAAU,GAAG,CAAC,EACd,cAA0D,GAAG,EAAE,CAAC,IAAI,EACxD,EAAE;IACd,IAAI,MAAqB,CAAA;IACzB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAA;IAE9E,OAAO,CAAC,MAAM,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,EAAE,EAAE,CAAA;YACnB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAA,gBAAK,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC/B,KAAK,EAAE,CAAA;YACT,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,KAAK,CAAA;YACb,CAAC;YACD,QAAQ,EAAE,CAAA;YACV,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;gBAC5B,MAAM,KAAK,CAAA;YACb,CAAC;YACD,MAAM,IAAA,gBAAK,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/B,KAAK,EAAE,CAAA;QACT,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAjCY,QAAA,aAAa,iBAiCzB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LruMap = void 0;
|
|
3
4
|
exports.withDedupe = withDedupe;
|
|
4
5
|
class LruMap extends Map {
|
|
5
6
|
maxSize;
|
|
@@ -15,6 +16,7 @@ class LruMap extends Map {
|
|
|
15
16
|
return this;
|
|
16
17
|
}
|
|
17
18
|
}
|
|
19
|
+
exports.LruMap = LruMap;
|
|
18
20
|
const promiseCache = new LruMap(8192);
|
|
19
21
|
function withDedupe(fn, { enabled = true, id }) {
|
|
20
22
|
if (!enabled || !id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withDedupe.js","sourceRoot":"","sources":["../../../src/utils/withDedupe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"withDedupe.js","sourceRoot":"","sources":["../../../src/utils/withDedupe.ts"],"names":[],"mappings":";;;AA+BA,gCAaC;AAvCD,MAAa,MAAwB,SAAQ,GAAkB;IAC7D,OAAO,CAAQ;IAEf,YAAY,IAAY;QACtB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAEQ,GAAG,CAAC,GAAW,EAAE,KAAY;QACpC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACrB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAfD,wBAeC;AAGD,MAAM,YAAY,GAAiB,IAAI,MAAM,CAAe,IAAI,CAAC,CAAA;AAQjE,SAAgB,UAAU,CACxB,EAAoB,EACpB,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE,EAAqB;IAEzC,IAAI,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,CAAA;IACb,CAAC;IACD,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,OAAO,YAAY,CAAC,GAAG,CAAC,EAAE,CAAE,CAAA;IAC9B,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3D,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/sdk";
|
|
2
|
-
export declare const version = "4.0.0-
|
|
2
|
+
export declare const version = "4.0.0-beta.0";
|
package/dist/cjs/version.js
CHANGED
package/dist/cjs/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,WAAW,CAAA;AAClB,QAAA,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,IAAI,GAAG,WAAW,CAAA;AAClB,QAAA,OAAO,GAAG,cAAc,CAAA"}
|
|
@@ -35,7 +35,8 @@ export async function getQuote(client, params, options) {
|
|
|
35
35
|
params.denyExchanges ??= client.config.routeOptions?.exchanges?.deny;
|
|
36
36
|
params.preferExchanges ??= client.config.routeOptions?.exchanges?.prefer;
|
|
37
37
|
for (const key of Object.keys(params)) {
|
|
38
|
-
if (
|
|
38
|
+
if (params[key] === undefined ||
|
|
39
|
+
params[key] === null) {
|
|
39
40
|
delete params[key];
|
|
40
41
|
}
|
|
41
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getQuote.js","sourceRoot":"","sources":["../../../src/actions/getQuote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAOhD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAoB7C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAiB,EACjB,MAAoB,EACpB,OAAwB;IAExB,MAAM,kBAAkB,GAA8B;QACpD,WAAW;QACX,WAAW;QACX,aAAa;QACb,SAAS;QACT,SAAS;KACV,CAAA;IAED,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CACjB,uBAAuB,iBAAiB,eAAe,CACxD,CACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GACvB,YAAY,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAA;IAC3D,MAAM,iBAAiB,GACrB,UAAU,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAA;IAEvD,IAAI,CAAC,mBAAmB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/C,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CACjB,2DAA2D,CAC5D,CACF,CAAA;IACH,CAAC;IAED,IAAI,mBAAmB,IAAI,iBAAiB,EAAE,CAAC;QAC7C,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CACjB,6DAA6D,CAC9D,CACF,CAAA;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAA;IAC9C,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAA;IAClD,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAA;IACxD,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAA;IACxD,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAA;IAC9C,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAA;IAClE,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAA;IAChE,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAA;IACpE,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAA;IACtE,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAA;IACpE,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAA;IAExE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,
|
|
1
|
+
{"version":3,"file":"getQuote.js","sourceRoot":"","sources":["../../../src/actions/getQuote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAOhD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAoB7C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAiB,EACjB,MAAoB,EACpB,OAAwB;IAExB,MAAM,kBAAkB,GAA8B;QACpD,WAAW;QACX,WAAW;QACX,aAAa;QACb,SAAS;QACT,SAAS;KACV,CAAA;IAED,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CACjB,uBAAuB,iBAAiB,eAAe,CACxD,CACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GACvB,YAAY,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAA;IAC3D,MAAM,iBAAiB,GACrB,UAAU,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAA;IAEvD,IAAI,CAAC,mBAAmB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/C,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CACjB,2DAA2D,CAC5D,CACF,CAAA;IACH,CAAC;IAED,IAAI,mBAAmB,IAAI,iBAAiB,EAAE,CAAC;QAC7C,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CACjB,6DAA6D,CAC9D,CACF,CAAA;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAA;IAC9C,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAA;IAClD,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAA;IACxD,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAA;IACxD,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAA;IAC9C,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAA;IAClE,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAA;IAChE,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAA;IACpE,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAA;IACtE,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAA;IACpE,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAA;IAExE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IACE,MAAM,CAAC,GAAyB,CAAC,KAAK,SAAS;YAC/C,MAAM,CAAC,GAAyB,CAAC,KAAK,IAAI,EAC1C,CAAC;YACD,OAAO,MAAM,CAAC,GAAyB,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,OAAO,CAClB,MAAM,CAAC,MAAM,EACb,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,eAAe,CAChG,MAA2C,CAC5C,EAAE,EACH;QACE,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CACF,CAAA;AACH,CAAC"}
|
|
@@ -21,7 +21,7 @@ export const getRelayedTransactionStatus = async (client, params, options) => {
|
|
|
21
21
|
const queryParams = new URLSearchParams(otherParams);
|
|
22
22
|
const decodedTaskId = decodeTaskId(taskId);
|
|
23
23
|
// Temporary solution during the transition between status endpoints
|
|
24
|
-
if (decodedTaskId.length
|
|
24
|
+
if (decodedTaskId.length >= 3) {
|
|
25
25
|
return (await getStatus(client, params, options));
|
|
26
26
|
}
|
|
27
27
|
const result = await request(client.config, `${client.config.apiUrl}/relayer/status/${taskId}?${queryParams}`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRelayedTransactionStatus.js","sourceRoot":"","sources":["../../../src/actions/getRelayedTransactionStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAC9C,MAAiB,EACjB,MAA0B,EAC1B,OAAwB,EACU,EAAE;IACpC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CAAC,yCAAyC,CAAC,CAC/D,CAAA;IACH,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,CAAA;IACzC,MAAM,WAAW,GAAG,IAAI,eAAe,CACrC,WAAgD,CACjD,CAAA;IAED,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAC1C,oEAAoE;IACpE,IAAI,aAAa,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"getRelayedTransactionStatus.js","sourceRoot":"","sources":["../../../src/actions/getRelayedTransactionStatus.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,EAC9C,MAAiB,EACjB,MAA0B,EAC1B,OAAwB,EACU,EAAE;IACpC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CAAC,yCAAyC,CAAC,CAC/D,CAAA;IACH,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,MAAM,CAAA;IACzC,MAAM,WAAW,GAAG,IAAI,eAAe,CACrC,WAAgD,CACjD,CAAA;IAED,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAC1C,oEAAoE;IACpE,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,SAAS,CACrB,MAAM,EACN,MAAM,EACN,OAAO,CACR,CAAuC,CAAA;IAC1C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,MAAM,CAAC,MAAM,EACb,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,mBAAmB,MAAM,IAAI,WAAW,EAAE,EACjE;QACE,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CACF,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CACjB,SAAS,CAAC,WAAW,EACrB,MAAM,CAAC,IAAI,CAAC,IAAI,EAChB,MAAM,CAAC,IAAI,CAAC,OAAO,CACpB,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAA;AACpB,CAAC,CAAA"}
|
|
@@ -38,7 +38,8 @@ export const getRelayerQuote = async (client, params, options) => {
|
|
|
38
38
|
params.denyExchanges ??= client.config.routeOptions?.exchanges?.deny;
|
|
39
39
|
params.preferExchanges ??= client.config.routeOptions?.exchanges?.prefer;
|
|
40
40
|
for (const key of Object.keys(params)) {
|
|
41
|
-
if (
|
|
41
|
+
if (params[key] === undefined ||
|
|
42
|
+
params[key] === null) {
|
|
42
43
|
delete params[key];
|
|
43
44
|
}
|
|
44
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRelayerQuote.js","sourceRoot":"","sources":["../../../src/actions/getRelayerQuote.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,MAAiB,EACjB,MAA8B,EAC9B,OAAwB,EACL,EAAE;IACrB,MAAM,kBAAkB,GAAwC;QAC9D,WAAW;QACX,WAAW;QACX,aAAa;QACb,YAAY;QACZ,SAAS;QACT,SAAS;KACV,CAAA;IACD,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CACjB,uBAAuB,iBAAiB,eAAe,CACxD,CACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAA;IAC9C,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAA;IAClD,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAA;IACxD,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAA;IACxD,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAA;IAC9C,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAA;IAClE,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAA;IAChE,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAA;IACpE,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAA;IACtE,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAA;IACpE,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAA;IAExE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,
|
|
1
|
+
{"version":3,"file":"getRelayerQuote.js","sourceRoot":"","sources":["../../../src/actions/getRelayerQuote.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGhD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,MAAiB,EACjB,MAA8B,EAC9B,OAAwB,EACL,EAAE;IACrB,MAAM,kBAAkB,GAAwC;QAC9D,WAAW;QACX,WAAW;QACX,aAAa;QACb,YAAY;QACZ,SAAS;QACT,SAAS;KACV,CAAA;IACD,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,QAAQ,CAChB,IAAI,eAAe,CACjB,uBAAuB,iBAAiB,eAAe,CACxD,CACF,CAAA;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,CAAA;IAC9C,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAA;IAClD,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAA;IACxD,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAA;IACxD,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,CAAA;IAC9C,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAA;IAClE,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAA;IAChE,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAA;IACpE,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAA;IACtE,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAA;IACpE,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAA;IAExE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IACE,MAAM,CAAC,GAAyB,CAAC,KAAK,SAAS;YAC/C,MAAM,CAAC,GAAyB,CAAC,KAAK,IAAI,EAC1C,CAAC;YACD,OAAO,MAAM,CAAC,GAAyB,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAC1B,MAAM,CAAC,MAAM,EACb,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,kBAAkB,IAAI,eAAe,CAC1D,MAA2C,CAC5C,EAAE,EACH;QACE,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CACF,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CACjB,SAAS,CAAC,WAAW,EACrB,MAAM,CAAC,IAAI,CAAC,IAAI,EAChB,MAAM,CAAC,IAAI,CAAC,OAAO,CACpB,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAA;AACpB,CAAC,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ChainId } from '@lifi/types';
|
|
1
2
|
import { isStep } from '../utils/isStep.js';
|
|
2
3
|
import { request } from '../utils/request.js';
|
|
3
4
|
/**
|
|
@@ -13,7 +14,23 @@ export const getStepTransaction = async (client, step, options) => {
|
|
|
13
14
|
// While the validation fails for some users we should not enforce it
|
|
14
15
|
console.warn('SDK Validation: Invalid Step', step);
|
|
15
16
|
}
|
|
16
|
-
|
|
17
|
+
const { config } = client;
|
|
18
|
+
let requestUrl = `${config.apiUrl}/advanced/stepTransaction`;
|
|
19
|
+
const jitoBundle = config.routeOptions?.jitoBundle;
|
|
20
|
+
const svmSponsor = config.routeOptions?.svmSponsor;
|
|
21
|
+
if (step.action.fromChainId === ChainId.SOL) {
|
|
22
|
+
const queryParams = new URLSearchParams();
|
|
23
|
+
if (jitoBundle) {
|
|
24
|
+
queryParams.set('jitoBundle', jitoBundle.toString());
|
|
25
|
+
}
|
|
26
|
+
if (svmSponsor) {
|
|
27
|
+
queryParams.set('svmSponsor', svmSponsor);
|
|
28
|
+
}
|
|
29
|
+
if (queryParams.size > 0) {
|
|
30
|
+
requestUrl = `${requestUrl}?${queryParams}`;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return await request(config, requestUrl, {
|
|
17
34
|
method: 'POST',
|
|
18
35
|
headers: {
|
|
19
36
|
'Content-Type': 'application/json',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStepTransaction.js","sourceRoot":"","sources":["../../../src/actions/getStepTransaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getStepTransaction.js","sourceRoot":"","sources":["../../../src/actions/getStepTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EACrC,MAAiB,EACjB,IAA+B,EAC/B,OAAwB,EACL,EAAE;IACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,qEAAqE;QACrE,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAA;IACpD,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;IAEzB,IAAI,UAAU,GAAG,GAAG,MAAM,CAAC,MAAM,2BAA2B,CAAA;IAC5D,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,UAAU,CAAA;IAClD,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,EAAE,UAAU,CAAA;IAElD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAA;QACzC,IAAI,UAAU,EAAE,CAAC;YACf,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;QAC3C,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACzB,UAAU,GAAG,GAAG,UAAU,IAAI,WAAW,EAAE,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,MAAM,OAAO,CAAW,MAAM,EAAE,UAAU,EAAE;QACjD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,OAAO,EAAE,MAAM;KACxB,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseStepExecutionTask.js","sourceRoot":"","sources":["../../../src/core/BaseStepExecutionTask.ts"],"names":[],"mappings":"AAEA,MAAM,OAAgB,qBAAqB;IACzC,SAAS,CAAC,QAA6B;QACrC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;CAGF"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type {
|
|
1
|
+
import { ExecuteStepRetryError } from '../errors/errors.js';
|
|
2
|
+
import type { SDKError } from '../errors/SDKError.js';
|
|
3
|
+
import type { ExecuteStepRetryParams, ExecutionAction, ExecutionOptions, InteractionSettings, LiFiStepExtended, SDKClient, StepExecutor, StepExecutorOptions } from '../types/core.js';
|
|
4
|
+
import type { StepExecutorBaseContext, StepExecutorContext } from '../types/execution.js';
|
|
3
5
|
import { StatusManager } from './StatusManager.js';
|
|
6
|
+
import type { TaskPipeline } from './TaskPipeline.js';
|
|
4
7
|
export declare abstract class BaseStepExecutor implements StepExecutor {
|
|
5
8
|
protected executionOptions?: ExecutionOptions;
|
|
6
9
|
protected statusManager: StatusManager;
|
|
@@ -8,5 +11,9 @@ export declare abstract class BaseStepExecutor implements StepExecutor {
|
|
|
8
11
|
allowExecution: boolean;
|
|
9
12
|
constructor(options: StepExecutorOptions);
|
|
10
13
|
setInteraction: (settings?: InteractionSettings) => void;
|
|
11
|
-
|
|
14
|
+
private createBaseContext;
|
|
15
|
+
abstract createContext(baseContext: StepExecutorBaseContext): Promise<StepExecutorContext>;
|
|
16
|
+
abstract createPipeline(context: StepExecutorContext): TaskPipeline;
|
|
17
|
+
abstract parseErrors(error: Error, step?: LiFiStepExtended, action?: ExecutionAction, retryParams?: ExecuteStepRetryParams): Promise<SDKError | ExecuteStepRetryError>;
|
|
18
|
+
executeStep: (client: SDKClient, step: LiFiStepExtended, retryParams?: ExecuteStepRetryParams) => Promise<LiFiStepExtended>;
|
|
12
19
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ExecuteStepRetryError } from '../errors/errors.js';
|
|
1
2
|
import { StatusManager } from './StatusManager.js';
|
|
2
3
|
// Please be careful when changing the defaults as it may break the behavior (e.g., background execution)
|
|
3
4
|
const defaultInteractionSettings = {
|
|
@@ -23,5 +24,57 @@ export class BaseStepExecutor {
|
|
|
23
24
|
this.statusManager.allowUpdates(interactionSettings.allowUpdates);
|
|
24
25
|
this.allowExecution = interactionSettings.allowExecution;
|
|
25
26
|
};
|
|
27
|
+
createBaseContext = async (client, step, retryParams) => {
|
|
28
|
+
const fromChain = await client.getChainById(step.action.fromChainId);
|
|
29
|
+
const toChain = await client.getChainById(step.action.toChainId);
|
|
30
|
+
const isBridgeExecution = fromChain.id !== toChain.id;
|
|
31
|
+
return {
|
|
32
|
+
client,
|
|
33
|
+
step,
|
|
34
|
+
fromChain,
|
|
35
|
+
toChain,
|
|
36
|
+
isBridgeExecution,
|
|
37
|
+
retryParams,
|
|
38
|
+
statusManager: this.statusManager,
|
|
39
|
+
executionOptions: this.executionOptions,
|
|
40
|
+
allowUserInteraction: this.allowUserInteraction,
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
executeStep = async (client, step, retryParams) => {
|
|
44
|
+
try {
|
|
45
|
+
step.execution = this.statusManager.initializeExecution(step);
|
|
46
|
+
const baseContext = await this.createBaseContext(client, step, retryParams);
|
|
47
|
+
const context = await this.createContext(baseContext);
|
|
48
|
+
const pipeline = this.createPipeline(context);
|
|
49
|
+
await pipeline.run(context);
|
|
50
|
+
return step;
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
const action = step.execution?.lastActionType
|
|
54
|
+
? this.statusManager.findAction(step, step.execution.lastActionType)
|
|
55
|
+
: undefined;
|
|
56
|
+
const parsed = await this.parseErrors(error, step, action, retryParams);
|
|
57
|
+
if (!(parsed instanceof ExecuteStepRetryError)) {
|
|
58
|
+
if (action) {
|
|
59
|
+
this.statusManager.updateAction(step, action.type, 'FAILED', {
|
|
60
|
+
error: {
|
|
61
|
+
message: parsed.cause?.message,
|
|
62
|
+
code: parsed.code,
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
this.statusManager.updateExecution(step, {
|
|
68
|
+
status: 'FAILED',
|
|
69
|
+
error: {
|
|
70
|
+
message: parsed.cause?.message,
|
|
71
|
+
code: parsed.code,
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
throw parsed;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
26
79
|
}
|
|
27
80
|
//# sourceMappingURL=BaseStepExecutor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseStepExecutor.js","sourceRoot":"","sources":["../../../src/core/BaseStepExecutor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseStepExecutor.js","sourceRoot":"","sources":["../../../src/core/BaseStepExecutor.ts"],"names":[],"mappings":"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"}
|