@lifi/sdk 0.0.0-preview-f5cf9f8
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/CHANGELOG.md +1213 -0
- package/LICENSE +201 -0
- package/README.md +79 -0
- package/dist/cjs/actions/getChains.d.ts +17 -0
- package/dist/cjs/actions/getChains.js +28 -0
- package/dist/cjs/actions/getChains.js.map +1 -0
- package/dist/cjs/actions/getConnections.d.ts +15 -0
- package/dist/cjs/actions/getConnections.js +34 -0
- package/dist/cjs/actions/getConnections.js.map +1 -0
- package/dist/cjs/actions/getContractCallsQuote.d.ts +16 -0
- package/dist/cjs/actions/getContractCallsQuote.js +45 -0
- package/dist/cjs/actions/getContractCallsQuote.js.map +1 -0
- package/dist/cjs/actions/getGasRecommendation.d.ts +16 -0
- package/dist/cjs/actions/getGasRecommendation.js +24 -0
- package/dist/cjs/actions/getGasRecommendation.js.map +1 -0
- package/dist/cjs/actions/getNameServiceAddress.d.ts +15 -0
- package/dist/cjs/actions/getNameServiceAddress.js +29 -0
- package/dist/cjs/actions/getNameServiceAddress.js.map +1 -0
- package/dist/cjs/actions/getQuote.d.ts +18 -0
- package/dist/cjs/actions/getQuote.js +35 -0
- package/dist/cjs/actions/getQuote.js.map +1 -0
- package/dist/cjs/actions/getRelayedTransactionStatus.d.ts +16 -0
- package/dist/cjs/actions/getRelayedTransactionStatus.js +30 -0
- package/dist/cjs/actions/getRelayedTransactionStatus.js.map +1 -0
- package/dist/cjs/actions/getRelayerQuote.d.ts +17 -0
- package/dist/cjs/actions/getRelayerQuote.js +44 -0
- package/dist/cjs/actions/getRelayerQuote.js.map +1 -0
- package/dist/cjs/actions/getRoutes.d.ts +16 -0
- package/dist/cjs/actions/getRoutes.js +32 -0
- package/dist/cjs/actions/getRoutes.js.map +1 -0
- package/dist/cjs/actions/getStatus.d.ts +17 -0
- package/dist/cjs/actions/getStatus.js +22 -0
- package/dist/cjs/actions/getStatus.js.map +1 -0
- package/dist/cjs/actions/getStepTransaction.d.ts +16 -0
- package/dist/cjs/actions/getStepTransaction.js +36 -0
- package/dist/cjs/actions/getStepTransaction.js.map +1 -0
- package/dist/cjs/actions/getToken.d.ts +17 -0
- package/dist/cjs/actions/getToken.js +26 -0
- package/dist/cjs/actions/getToken.js.map +1 -0
- package/dist/cjs/actions/getTokenBalance.d.ts +17 -0
- package/dist/cjs/actions/getTokenBalance.js +20 -0
- package/dist/cjs/actions/getTokenBalance.js.map +1 -0
- package/dist/cjs/actions/getTokenBalances.d.ts +17 -0
- package/dist/cjs/actions/getTokenBalances.js +15 -0
- package/dist/cjs/actions/getTokenBalances.js.map +1 -0
- package/dist/cjs/actions/getTokenBalancesByChain.d.ts +21 -0
- package/dist/cjs/actions/getTokenBalancesByChain.js +25 -0
- package/dist/cjs/actions/getTokenBalancesByChain.js.map +1 -0
- package/dist/cjs/actions/getTokens.d.ts +20 -0
- package/dist/cjs/actions/getTokens.js +17 -0
- package/dist/cjs/actions/getTokens.js.map +1 -0
- package/dist/cjs/actions/getTools.d.ts +15 -0
- package/dist/cjs/actions/getTools.js +21 -0
- package/dist/cjs/actions/getTools.js.map +1 -0
- package/dist/cjs/actions/getTransactionHistory.d.ts +26 -0
- package/dist/cjs/actions/getTransactionHistory.js +31 -0
- package/dist/cjs/actions/getTransactionHistory.js.map +1 -0
- package/dist/cjs/actions/getWalletBalances.d.ts +16 -0
- package/dist/cjs/actions/getWalletBalances.js +20 -0
- package/dist/cjs/actions/getWalletBalances.js.map +1 -0
- package/dist/cjs/actions/index.d.ts +172 -0
- package/dist/cjs/actions/index.js +52 -0
- package/dist/cjs/actions/index.js.map +1 -0
- package/dist/cjs/actions/patchContractCalls.d.ts +15 -0
- package/dist/cjs/actions/patchContractCalls.js +15 -0
- package/dist/cjs/actions/patchContractCalls.js.map +1 -0
- package/dist/cjs/actions/relayTransaction.d.ts +16 -0
- package/dist/cjs/actions/relayTransaction.js +34 -0
- package/dist/cjs/actions/relayTransaction.js.map +1 -0
- package/dist/cjs/client/createClient.d.ts +7 -0
- package/dist/cjs/client/createClient.js +70 -0
- package/dist/cjs/client/createClient.js.map +1 -0
- package/dist/cjs/client/getClientStorage.d.ts +14 -0
- package/dist/cjs/client/getClientStorage.js +48 -0
- package/dist/cjs/client/getClientStorage.js.map +1 -0
- package/dist/cjs/core/BaseStepExecutionTask.d.ts +10 -0
- package/dist/cjs/core/BaseStepExecutionTask.js +11 -0
- package/dist/cjs/core/BaseStepExecutionTask.js.map +1 -0
- package/dist/cjs/core/BaseStepExecutor.d.ts +24 -0
- package/dist/cjs/core/BaseStepExecutor.js +71 -0
- package/dist/cjs/core/BaseStepExecutor.js.map +1 -0
- package/dist/cjs/core/StatusManager.d.ts +83 -0
- package/dist/cjs/core/StatusManager.js +160 -0
- package/dist/cjs/core/StatusManager.js.map +1 -0
- package/dist/cjs/core/TaskPipeline.d.ts +12 -0
- package/dist/cjs/core/TaskPipeline.js +21 -0
- package/dist/cjs/core/TaskPipeline.js.map +1 -0
- package/dist/cjs/core/actionMessages.d.ts +9 -0
- package/dist/cjs/core/actionMessages.js +81 -0
- package/dist/cjs/core/actionMessages.js.map +1 -0
- package/dist/cjs/core/execution.d.ts +48 -0
- package/dist/cjs/core/execution.js +147 -0
- package/dist/cjs/core/execution.js.map +1 -0
- package/dist/cjs/core/executionState.d.ts +21 -0
- package/dist/cjs/core/executionState.js +29 -0
- package/dist/cjs/core/executionState.js.map +1 -0
- package/dist/cjs/core/prepareRestart.d.ts +7 -0
- package/dist/cjs/core/prepareRestart.js +21 -0
- package/dist/cjs/core/prepareRestart.js.map +1 -0
- package/dist/cjs/core/storage.d.ts +21 -0
- package/dist/cjs/core/storage.js +35 -0
- package/dist/cjs/core/storage.js.map +1 -0
- package/dist/cjs/core/tasks/CheckBalanceTask.d.ts +19 -0
- package/dist/cjs/core/tasks/CheckBalanceTask.js +35 -0
- package/dist/cjs/core/tasks/CheckBalanceTask.js.map +1 -0
- package/dist/cjs/core/tasks/PrepareTransactionTask.d.ts +10 -0
- package/dist/cjs/core/tasks/PrepareTransactionTask.js +30 -0
- package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -0
- package/dist/cjs/core/tasks/WaitForTransactionStatusTask.d.ts +13 -0
- package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +63 -0
- package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
- package/dist/cjs/core/tasks/helpers/checkBalance.d.ts +30 -0
- package/dist/cjs/core/tasks/helpers/checkBalance.js +108 -0
- package/dist/cjs/core/tasks/helpers/checkBalance.js.map +1 -0
- package/dist/cjs/core/tasks/helpers/getTransactionRequestData.d.ts +7 -0
- package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js +25 -0
- package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
- package/dist/cjs/core/tasks/helpers/stepComparison.d.ts +21 -0
- package/dist/cjs/core/tasks/helpers/stepComparison.js +32 -0
- package/dist/cjs/core/tasks/helpers/stepComparison.js.map +1 -0
- package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.d.ts +9 -0
- package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js +48 -0
- package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
- package/dist/cjs/core/utils.d.ts +17 -0
- package/dist/cjs/core/utils.js +42 -0
- package/dist/cjs/core/utils.js.map +1 -0
- package/dist/cjs/errors/SDKError.d.ts +17 -0
- package/dist/cjs/errors/SDKError.js +24 -0
- package/dist/cjs/errors/SDKError.js.map +1 -0
- package/dist/cjs/errors/baseError.d.ts +11 -0
- package/dist/cjs/errors/baseError.js +19 -0
- package/dist/cjs/errors/baseError.js.map +1 -0
- package/dist/cjs/errors/constants.d.ts +55 -0
- package/dist/cjs/errors/constants.js +61 -0
- package/dist/cjs/errors/constants.js.map +1 -0
- package/dist/cjs/errors/errors.d.ts +38 -0
- package/dist/cjs/errors/errors.js +62 -0
- package/dist/cjs/errors/errors.js.map +1 -0
- package/dist/cjs/errors/httpError.d.ts +24 -0
- package/dist/cjs/errors/httpError.js +70 -0
- package/dist/cjs/errors/httpError.js.map +1 -0
- package/dist/cjs/errors/utils/baseErrorRootCause.d.ts +8 -0
- package/dist/cjs/errors/utils/baseErrorRootCause.js +18 -0
- package/dist/cjs/errors/utils/baseErrorRootCause.js.map +1 -0
- package/dist/cjs/errors/utils/rootCause.d.ts +5 -0
- package/dist/cjs/errors/utils/rootCause.js +11 -0
- package/dist/cjs/errors/utils/rootCause.js.map +1 -0
- package/dist/cjs/index.d.ts +55 -0
- package/dist/cjs/index.js +130 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/types/actions.d.ts +14 -0
- package/dist/cjs/types/actions.js +0 -0
- package/dist/cjs/types/core.d.ts +184 -0
- package/dist/cjs/types/core.js +0 -0
- package/dist/cjs/types/execution.d.ts +28 -0
- package/dist/cjs/types/execution.js +0 -0
- package/dist/cjs/types/request.d.ts +7 -0
- package/dist/cjs/types/request.js +0 -0
- package/dist/cjs/utils/checkPackageUpdates.d.ts +5 -0
- package/dist/cjs/utils/checkPackageUpdates.js +15 -0
- package/dist/cjs/utils/checkPackageUpdates.js.map +1 -0
- package/dist/cjs/utils/convertQuoteToRoute.d.ts +22 -0
- package/dist/cjs/utils/convertQuoteToRoute.js +88 -0
- package/dist/cjs/utils/convertQuoteToRoute.js.map +1 -0
- package/dist/cjs/utils/decode.d.ts +5 -0
- package/dist/cjs/utils/decode.js +9 -0
- package/dist/cjs/utils/decode.js.map +1 -0
- package/dist/cjs/utils/fetchTxErrorDetails.d.ts +5 -0
- package/dist/cjs/utils/fetchTxErrorDetails.js +13 -0
- package/dist/cjs/utils/fetchTxErrorDetails.js.map +1 -0
- package/dist/cjs/utils/formatUnits.d.ts +8 -0
- package/dist/cjs/utils/formatUnits.js +18 -0
- package/dist/cjs/utils/formatUnits.js.map +1 -0
- package/dist/cjs/utils/getTransactionMessage.d.ts +8 -0
- package/dist/cjs/utils/getTransactionMessage.js +12 -0
- package/dist/cjs/utils/getTransactionMessage.js.map +1 -0
- package/dist/cjs/utils/isHex.d.ts +10 -0
- package/dist/cjs/utils/isHex.js +11 -0
- package/dist/cjs/utils/isHex.js.map +1 -0
- package/dist/cjs/utils/isRoutesRequest.d.ts +7 -0
- package/dist/cjs/utils/isRoutesRequest.js +11 -0
- package/dist/cjs/utils/isRoutesRequest.js.map +1 -0
- package/dist/cjs/utils/isStep.d.ts +7 -0
- package/dist/cjs/utils/isStep.js +23 -0
- package/dist/cjs/utils/isStep.js.map +1 -0
- package/dist/cjs/utils/isToken.d.ts +7 -0
- package/dist/cjs/utils/isToken.js +10 -0
- package/dist/cjs/utils/isToken.js.map +1 -0
- package/dist/cjs/utils/parseUnits.d.ts +8 -0
- package/dist/cjs/utils/parseUnits.js +35 -0
- package/dist/cjs/utils/parseUnits.js.map +1 -0
- package/dist/cjs/utils/request.d.ts +11 -0
- package/dist/cjs/utils/request.js +56 -0
- package/dist/cjs/utils/request.js.map +1 -0
- package/dist/cjs/utils/sleep.d.ts +5 -0
- package/dist/cjs/utils/sleep.js +11 -0
- package/dist/cjs/utils/sleep.js.map +1 -0
- package/dist/cjs/utils/waitForResult.d.ts +14 -0
- package/dist/cjs/utils/waitForResult.js +36 -0
- package/dist/cjs/utils/waitForResult.js.map +1 -0
- package/dist/cjs/utils/withDedupe.d.ts +23 -0
- package/dist/cjs/utils/withDedupe.js +34 -0
- package/dist/cjs/utils/withDedupe.js.map +1 -0
- package/dist/cjs/utils/withTimeout.d.ts +26 -0
- package/dist/cjs/utils/withTimeout.js +35 -0
- package/dist/cjs/utils/withTimeout.js.map +1 -0
- package/dist/cjs/version.d.ts +6 -0
- package/dist/cjs/version.js +9 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/actions/getChains.d.ts +17 -0
- package/dist/esm/actions/getChains.d.ts.map +1 -0
- package/dist/esm/actions/getChains.js +26 -0
- package/dist/esm/actions/getChains.js.map +1 -0
- package/dist/esm/actions/getConnections.d.ts +15 -0
- package/dist/esm/actions/getConnections.d.ts.map +1 -0
- package/dist/esm/actions/getConnections.js +33 -0
- package/dist/esm/actions/getConnections.js.map +1 -0
- package/dist/esm/actions/getContractCallsQuote.d.ts +16 -0
- package/dist/esm/actions/getContractCallsQuote.d.ts.map +1 -0
- package/dist/esm/actions/getContractCallsQuote.js +44 -0
- package/dist/esm/actions/getContractCallsQuote.js.map +1 -0
- package/dist/esm/actions/getGasRecommendation.d.ts +16 -0
- package/dist/esm/actions/getGasRecommendation.d.ts.map +1 -0
- package/dist/esm/actions/getGasRecommendation.js +23 -0
- package/dist/esm/actions/getGasRecommendation.js.map +1 -0
- package/dist/esm/actions/getNameServiceAddress.d.ts +15 -0
- package/dist/esm/actions/getNameServiceAddress.d.ts.map +1 -0
- package/dist/esm/actions/getNameServiceAddress.js +28 -0
- package/dist/esm/actions/getNameServiceAddress.js.map +1 -0
- package/dist/esm/actions/getQuote.d.ts +18 -0
- package/dist/esm/actions/getQuote.d.ts.map +1 -0
- package/dist/esm/actions/getQuote.js +34 -0
- package/dist/esm/actions/getQuote.js.map +1 -0
- package/dist/esm/actions/getRelayedTransactionStatus.d.ts +16 -0
- package/dist/esm/actions/getRelayedTransactionStatus.d.ts.map +1 -0
- package/dist/esm/actions/getRelayedTransactionStatus.js +29 -0
- package/dist/esm/actions/getRelayedTransactionStatus.js.map +1 -0
- package/dist/esm/actions/getRelayerQuote.d.ts +17 -0
- package/dist/esm/actions/getRelayerQuote.d.ts.map +1 -0
- package/dist/esm/actions/getRelayerQuote.js +43 -0
- package/dist/esm/actions/getRelayerQuote.js.map +1 -0
- package/dist/esm/actions/getRoutes.d.ts +16 -0
- package/dist/esm/actions/getRoutes.d.ts.map +1 -0
- package/dist/esm/actions/getRoutes.js +31 -0
- package/dist/esm/actions/getRoutes.js.map +1 -0
- package/dist/esm/actions/getStatus.d.ts +17 -0
- package/dist/esm/actions/getStatus.d.ts.map +1 -0
- package/dist/esm/actions/getStatus.js +21 -0
- package/dist/esm/actions/getStatus.js.map +1 -0
- package/dist/esm/actions/getStepTransaction.d.ts +16 -0
- package/dist/esm/actions/getStepTransaction.d.ts.map +1 -0
- package/dist/esm/actions/getStepTransaction.js +35 -0
- package/dist/esm/actions/getStepTransaction.js.map +1 -0
- package/dist/esm/actions/getToken.d.ts +17 -0
- package/dist/esm/actions/getToken.d.ts.map +1 -0
- package/dist/esm/actions/getToken.js +25 -0
- package/dist/esm/actions/getToken.js.map +1 -0
- package/dist/esm/actions/getTokenBalance.d.ts +17 -0
- package/dist/esm/actions/getTokenBalance.d.ts.map +1 -0
- package/dist/esm/actions/getTokenBalance.js +19 -0
- package/dist/esm/actions/getTokenBalance.js.map +1 -0
- package/dist/esm/actions/getTokenBalances.d.ts +17 -0
- package/dist/esm/actions/getTokenBalances.d.ts.map +1 -0
- package/dist/esm/actions/getTokenBalances.js +14 -0
- package/dist/esm/actions/getTokenBalances.js.map +1 -0
- package/dist/esm/actions/getTokenBalancesByChain.d.ts +21 -0
- package/dist/esm/actions/getTokenBalancesByChain.d.ts.map +1 -0
- package/dist/esm/actions/getTokenBalancesByChain.js +24 -0
- package/dist/esm/actions/getTokenBalancesByChain.js.map +1 -0
- package/dist/esm/actions/getTokens.d.ts +20 -0
- package/dist/esm/actions/getTokens.d.ts.map +1 -0
- package/dist/esm/actions/getTokens.js +16 -0
- package/dist/esm/actions/getTokens.js.map +1 -0
- package/dist/esm/actions/getTools.d.ts +15 -0
- package/dist/esm/actions/getTools.d.ts.map +1 -0
- package/dist/esm/actions/getTools.js +20 -0
- package/dist/esm/actions/getTools.js.map +1 -0
- package/dist/esm/actions/getTransactionHistory.d.ts +26 -0
- package/dist/esm/actions/getTransactionHistory.d.ts.map +1 -0
- package/dist/esm/actions/getTransactionHistory.js +30 -0
- package/dist/esm/actions/getTransactionHistory.js.map +1 -0
- package/dist/esm/actions/getWalletBalances.d.ts +16 -0
- package/dist/esm/actions/getWalletBalances.d.ts.map +1 -0
- package/dist/esm/actions/getWalletBalances.js +19 -0
- package/dist/esm/actions/getWalletBalances.js.map +1 -0
- package/dist/esm/actions/index.d.ts +172 -0
- package/dist/esm/actions/index.d.ts.map +1 -0
- package/dist/esm/actions/index.js +51 -0
- package/dist/esm/actions/index.js.map +1 -0
- package/dist/esm/actions/patchContractCalls.d.ts +15 -0
- package/dist/esm/actions/patchContractCalls.d.ts.map +1 -0
- package/dist/esm/actions/patchContractCalls.js +14 -0
- package/dist/esm/actions/patchContractCalls.js.map +1 -0
- package/dist/esm/actions/relayTransaction.d.ts +16 -0
- package/dist/esm/actions/relayTransaction.d.ts.map +1 -0
- package/dist/esm/actions/relayTransaction.js +33 -0
- package/dist/esm/actions/relayTransaction.js.map +1 -0
- package/dist/esm/client/createClient.d.ts +7 -0
- package/dist/esm/client/createClient.d.ts.map +1 -0
- package/dist/esm/client/createClient.js +69 -0
- package/dist/esm/client/createClient.js.map +1 -0
- package/dist/esm/client/getClientStorage.d.ts +14 -0
- package/dist/esm/client/getClientStorage.d.ts.map +1 -0
- package/dist/esm/client/getClientStorage.js +47 -0
- package/dist/esm/client/getClientStorage.js.map +1 -0
- package/dist/esm/core/BaseStepExecutionTask.d.ts +10 -0
- package/dist/esm/core/BaseStepExecutionTask.d.ts.map +1 -0
- package/dist/esm/core/BaseStepExecutionTask.js +10 -0
- package/dist/esm/core/BaseStepExecutionTask.js.map +1 -0
- package/dist/esm/core/BaseStepExecutor.d.ts +24 -0
- package/dist/esm/core/BaseStepExecutor.d.ts.map +1 -0
- package/dist/esm/core/BaseStepExecutor.js +70 -0
- package/dist/esm/core/BaseStepExecutor.js.map +1 -0
- package/dist/esm/core/StatusManager.d.ts +83 -0
- package/dist/esm/core/StatusManager.d.ts.map +1 -0
- package/dist/esm/core/StatusManager.js +159 -0
- package/dist/esm/core/StatusManager.js.map +1 -0
- package/dist/esm/core/TaskPipeline.d.ts +12 -0
- package/dist/esm/core/TaskPipeline.d.ts.map +1 -0
- package/dist/esm/core/TaskPipeline.js +20 -0
- package/dist/esm/core/TaskPipeline.js.map +1 -0
- package/dist/esm/core/actionMessages.d.ts +9 -0
- package/dist/esm/core/actionMessages.d.ts.map +1 -0
- package/dist/esm/core/actionMessages.js +79 -0
- package/dist/esm/core/actionMessages.js.map +1 -0
- package/dist/esm/core/execution.d.ts +48 -0
- package/dist/esm/core/execution.d.ts.map +1 -0
- package/dist/esm/core/execution.js +141 -0
- package/dist/esm/core/execution.js.map +1 -0
- package/dist/esm/core/executionState.d.ts +21 -0
- package/dist/esm/core/executionState.d.ts.map +1 -0
- package/dist/esm/core/executionState.js +28 -0
- package/dist/esm/core/executionState.js.map +1 -0
- package/dist/esm/core/prepareRestart.d.ts +7 -0
- package/dist/esm/core/prepareRestart.d.ts.map +1 -0
- package/dist/esm/core/prepareRestart.js +20 -0
- package/dist/esm/core/prepareRestart.js.map +1 -0
- package/dist/esm/core/storage.d.ts +21 -0
- package/dist/esm/core/storage.d.ts.map +1 -0
- package/dist/esm/core/storage.js +32 -0
- package/dist/esm/core/storage.js.map +1 -0
- package/dist/esm/core/tasks/CheckBalanceTask.d.ts +19 -0
- package/dist/esm/core/tasks/CheckBalanceTask.d.ts.map +1 -0
- package/dist/esm/core/tasks/CheckBalanceTask.js +34 -0
- package/dist/esm/core/tasks/CheckBalanceTask.js.map +1 -0
- package/dist/esm/core/tasks/PrepareTransactionTask.d.ts +10 -0
- package/dist/esm/core/tasks/PrepareTransactionTask.d.ts.map +1 -0
- package/dist/esm/core/tasks/PrepareTransactionTask.js +29 -0
- package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -0
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts +13 -0
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts.map +1 -0
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +61 -0
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
- package/dist/esm/core/tasks/helpers/checkBalance.d.ts +30 -0
- package/dist/esm/core/tasks/helpers/checkBalance.d.ts.map +1 -0
- package/dist/esm/core/tasks/helpers/checkBalance.js +107 -0
- package/dist/esm/core/tasks/helpers/checkBalance.js.map +1 -0
- package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts +7 -0
- package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts.map +1 -0
- package/dist/esm/core/tasks/helpers/getTransactionRequestData.js +24 -0
- package/dist/esm/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
- package/dist/esm/core/tasks/helpers/stepComparison.d.ts +21 -0
- package/dist/esm/core/tasks/helpers/stepComparison.d.ts.map +1 -0
- package/dist/esm/core/tasks/helpers/stepComparison.js +31 -0
- package/dist/esm/core/tasks/helpers/stepComparison.js.map +1 -0
- package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts +9 -0
- package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts.map +1 -0
- package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js +47 -0
- package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
- package/dist/esm/core/utils.d.ts +17 -0
- package/dist/esm/core/utils.d.ts.map +1 -0
- package/dist/esm/core/utils.js +40 -0
- package/dist/esm/core/utils.js.map +1 -0
- package/dist/esm/errors/SDKError.d.ts +17 -0
- package/dist/esm/errors/SDKError.d.ts.map +1 -0
- package/dist/esm/errors/SDKError.js +23 -0
- package/dist/esm/errors/SDKError.js.map +1 -0
- package/dist/esm/errors/baseError.d.ts +11 -0
- package/dist/esm/errors/baseError.d.ts.map +1 -0
- package/dist/esm/errors/baseError.js +18 -0
- package/dist/esm/errors/baseError.js.map +1 -0
- package/dist/esm/errors/constants.d.ts +55 -0
- package/dist/esm/errors/constants.d.ts.map +1 -0
- package/dist/esm/errors/constants.js +58 -0
- package/dist/esm/errors/constants.js.map +1 -0
- package/dist/esm/errors/errors.d.ts +38 -0
- package/dist/esm/errors/errors.d.ts.map +1 -0
- package/dist/esm/errors/errors.js +54 -0
- package/dist/esm/errors/errors.js.map +1 -0
- package/dist/esm/errors/httpError.d.ts +24 -0
- package/dist/esm/errors/httpError.d.ts.map +1 -0
- package/dist/esm/errors/httpError.js +69 -0
- package/dist/esm/errors/httpError.js.map +1 -0
- package/dist/esm/errors/utils/baseErrorRootCause.d.ts +8 -0
- package/dist/esm/errors/utils/baseErrorRootCause.d.ts.map +1 -0
- package/dist/esm/errors/utils/baseErrorRootCause.js +16 -0
- package/dist/esm/errors/utils/baseErrorRootCause.js.map +1 -0
- package/dist/esm/errors/utils/rootCause.d.ts +5 -0
- package/dist/esm/errors/utils/rootCause.d.ts.map +1 -0
- package/dist/esm/errors/utils/rootCause.js +10 -0
- package/dist/esm/errors/utils/rootCause.js.map +1 -0
- package/dist/esm/index.d.ts +55 -0
- package/dist/esm/index.js +53 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/types/actions.d.ts +14 -0
- package/dist/esm/types/actions.d.ts.map +1 -0
- package/dist/esm/types/actions.js +1 -0
- package/dist/esm/types/core.d.ts +184 -0
- package/dist/esm/types/core.d.ts.map +1 -0
- package/dist/esm/types/core.js +1 -0
- package/dist/esm/types/execution.d.ts +28 -0
- package/dist/esm/types/execution.d.ts.map +1 -0
- package/dist/esm/types/execution.js +1 -0
- package/dist/esm/types/request.d.ts +7 -0
- package/dist/esm/types/request.d.ts.map +1 -0
- package/dist/esm/types/request.js +1 -0
- package/dist/esm/utils/checkPackageUpdates.d.ts +5 -0
- package/dist/esm/utils/checkPackageUpdates.d.ts.map +1 -0
- package/dist/esm/utils/checkPackageUpdates.js +14 -0
- package/dist/esm/utils/checkPackageUpdates.js.map +1 -0
- package/dist/esm/utils/convertQuoteToRoute.d.ts +22 -0
- package/dist/esm/utils/convertQuoteToRoute.d.ts.map +1 -0
- package/dist/esm/utils/convertQuoteToRoute.js +86 -0
- package/dist/esm/utils/convertQuoteToRoute.js.map +1 -0
- package/dist/esm/utils/decode.d.ts +5 -0
- package/dist/esm/utils/decode.d.ts.map +1 -0
- package/dist/esm/utils/decode.js +8 -0
- package/dist/esm/utils/decode.js.map +1 -0
- package/dist/esm/utils/fetchTxErrorDetails.d.ts +5 -0
- package/dist/esm/utils/fetchTxErrorDetails.d.ts.map +1 -0
- package/dist/esm/utils/fetchTxErrorDetails.js +12 -0
- package/dist/esm/utils/fetchTxErrorDetails.js.map +1 -0
- package/dist/esm/utils/formatUnits.d.ts +8 -0
- package/dist/esm/utils/formatUnits.d.ts.map +1 -0
- package/dist/esm/utils/formatUnits.js +17 -0
- package/dist/esm/utils/formatUnits.js.map +1 -0
- package/dist/esm/utils/getTransactionMessage.d.ts +8 -0
- package/dist/esm/utils/getTransactionMessage.d.ts.map +1 -0
- package/dist/esm/utils/getTransactionMessage.js +11 -0
- package/dist/esm/utils/getTransactionMessage.js.map +1 -0
- package/dist/esm/utils/isHex.d.ts +10 -0
- package/dist/esm/utils/isHex.d.ts.map +1 -0
- package/dist/esm/utils/isHex.js +10 -0
- package/dist/esm/utils/isHex.js.map +1 -0
- package/dist/esm/utils/isRoutesRequest.d.ts +7 -0
- package/dist/esm/utils/isRoutesRequest.d.ts.map +1 -0
- package/dist/esm/utils/isRoutesRequest.js +10 -0
- package/dist/esm/utils/isRoutesRequest.js.map +1 -0
- package/dist/esm/utils/isStep.d.ts +7 -0
- package/dist/esm/utils/isStep.d.ts.map +1 -0
- package/dist/esm/utils/isStep.js +22 -0
- package/dist/esm/utils/isStep.js.map +1 -0
- package/dist/esm/utils/isToken.d.ts +7 -0
- package/dist/esm/utils/isToken.d.ts.map +1 -0
- package/dist/esm/utils/isToken.js +9 -0
- package/dist/esm/utils/isToken.js.map +1 -0
- package/dist/esm/utils/parseUnits.d.ts +8 -0
- package/dist/esm/utils/parseUnits.d.ts.map +1 -0
- package/dist/esm/utils/parseUnits.js +34 -0
- package/dist/esm/utils/parseUnits.js.map +1 -0
- package/dist/esm/utils/request.d.ts +11 -0
- package/dist/esm/utils/request.d.ts.map +1 -0
- package/dist/esm/utils/request.js +54 -0
- package/dist/esm/utils/request.js.map +1 -0
- package/dist/esm/utils/sleep.d.ts +5 -0
- package/dist/esm/utils/sleep.d.ts.map +1 -0
- package/dist/esm/utils/sleep.js +10 -0
- package/dist/esm/utils/sleep.js.map +1 -0
- package/dist/esm/utils/waitForResult.d.ts +14 -0
- package/dist/esm/utils/waitForResult.d.ts.map +1 -0
- package/dist/esm/utils/waitForResult.js +35 -0
- package/dist/esm/utils/waitForResult.js.map +1 -0
- package/dist/esm/utils/withDedupe.d.ts +23 -0
- package/dist/esm/utils/withDedupe.d.ts.map +1 -0
- package/dist/esm/utils/withDedupe.js +32 -0
- package/dist/esm/utils/withDedupe.js.map +1 -0
- package/dist/esm/utils/withTimeout.d.ts +26 -0
- package/dist/esm/utils/withTimeout.d.ts.map +1 -0
- package/dist/esm/utils/withTimeout.js +34 -0
- package/dist/esm/utils/withTimeout.js.map +1 -0
- package/dist/esm/version.d.ts +6 -0
- package/dist/esm/version.d.ts.map +1 -0
- package/dist/esm/version.js +7 -0
- package/dist/esm/version.js.map +1 -0
- package/package.json +75 -0
- package/src/actions/getChains.ts +55 -0
- package/src/actions/getConnections.ts +55 -0
- package/src/actions/getContractCallsQuote.ts +81 -0
- package/src/actions/getGasRecommendation.ts +47 -0
- package/src/actions/getNameServiceAddress.ts +42 -0
- package/src/actions/getQuote.ts +105 -0
- package/src/actions/getRelayedTransactionStatus.ts +67 -0
- package/src/actions/getRelayerQuote.ts +86 -0
- package/src/actions/getRoutes.ts +43 -0
- package/src/actions/getStatus.ts +41 -0
- package/src/actions/getStepTransaction.ts +52 -0
- package/src/actions/getToken.ts +47 -0
- package/src/actions/getTokenBalance.ts +21 -0
- package/src/actions/getTokenBalances.ts +47 -0
- package/src/actions/getTokenBalancesByChain.ts +76 -0
- package/src/actions/getTokens.ts +57 -0
- package/src/actions/getTools.ts +34 -0
- package/src/actions/getTransactionHistory.ts +54 -0
- package/src/actions/getWalletBalances.ts +36 -0
- package/src/actions/index.ts +347 -0
- package/src/actions/patchContractCalls.ts +30 -0
- package/src/actions/relayTransaction.ts +74 -0
- package/src/client/createClient.ts +100 -0
- package/src/client/getClientStorage.ts +65 -0
- package/src/core/BaseStepExecutionTask.ts +9 -0
- package/src/core/BaseStepExecutor.ts +129 -0
- package/src/core/StatusManager.ts +245 -0
- package/src/core/TaskPipeline.ts +28 -0
- package/src/core/actionMessages.ts +103 -0
- package/src/core/execution.ts +243 -0
- package/src/core/executionState.ts +48 -0
- package/src/core/prepareRestart.ts +28 -0
- package/src/core/storage.ts +42 -0
- package/src/core/tasks/CheckBalanceTask.ts +46 -0
- package/src/core/tasks/PrepareTransactionTask.ts +62 -0
- package/src/core/tasks/WaitForTransactionStatusTask.ts +114 -0
- package/src/core/tasks/helpers/checkBalance.ts +218 -0
- package/src/core/tasks/helpers/getTransactionRequestData.ts +47 -0
- package/src/core/tasks/helpers/stepComparison.ts +50 -0
- package/src/core/tasks/helpers/waitForTransactionStatus.ts +76 -0
- package/src/core/utils.ts +59 -0
- package/src/errors/SDKError.ts +26 -0
- package/src/errors/baseError.ts +22 -0
- package/src/errors/constants.ts +54 -0
- package/src/errors/errors.ts +68 -0
- package/src/errors/httpError.ts +92 -0
- package/src/errors/utils/baseErrorRootCause.ts +18 -0
- package/src/errors/utils/rootCause.ts +7 -0
- package/src/index.ts +122 -0
- package/src/types/actions.ts +16 -0
- package/src/types/core.ts +264 -0
- package/src/types/execution.ts +32 -0
- package/src/types/request.ts +3 -0
- package/src/utils/checkPackageUpdates.ts +22 -0
- package/src/utils/convertQuoteToRoute.ts +154 -0
- package/src/utils/decode.ts +13 -0
- package/src/utils/fetchTxErrorDetails.ts +15 -0
- package/src/utils/formatUnits.ts +22 -0
- package/src/utils/getTransactionMessage.ts +17 -0
- package/src/utils/isHex.ts +14 -0
- package/src/utils/isRoutesRequest.ts +31 -0
- package/src/utils/isStep.ts +41 -0
- package/src/utils/isToken.ts +11 -0
- package/src/utils/parseUnits.ts +50 -0
- package/src/utils/request.ts +100 -0
- package/src/utils/sleep.ts +5 -0
- package/src/utils/waitForResult.ts +45 -0
- package/src/utils/withDedupe.ts +45 -0
- package/src/utils/withTimeout.ts +50 -0
- package/src/version.ts +2 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createClient.d.ts","names":[],"sources":["../../../src/client/createClient.ts"],"mappings":";;;iBAWgB,YAAA,CAAa,OAAA,EAAS,SAAA,GAAY,SAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { name, version } from "../version.js";
|
|
2
|
+
import { checkPackageUpdates } from "../utils/checkPackageUpdates.js";
|
|
3
|
+
import { getClientStorage } from "./getClientStorage.js";
|
|
4
|
+
//#region src/client/createClient.ts
|
|
5
|
+
function createClient(options) {
|
|
6
|
+
if (!options.integrator) throw new Error("Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk");
|
|
7
|
+
if (!options.disableVersionCheck && process.env.NODE_ENV === "development") checkPackageUpdates(name, version);
|
|
8
|
+
const { providers, ...configOptions } = options;
|
|
9
|
+
const _config = {
|
|
10
|
+
...configOptions,
|
|
11
|
+
apiUrl: configOptions?.apiUrl ?? "https://li.quest/v1",
|
|
12
|
+
rpcUrls: configOptions?.rpcUrls ?? {},
|
|
13
|
+
debug: configOptions?.debug ?? false,
|
|
14
|
+
preloadChains: configOptions?.preloadChains ?? true,
|
|
15
|
+
integrator: configOptions?.integrator ?? "lifi-sdk"
|
|
16
|
+
};
|
|
17
|
+
let _providers = providers ?? [];
|
|
18
|
+
const _storage = getClientStorage(_config);
|
|
19
|
+
const client = {
|
|
20
|
+
get config() {
|
|
21
|
+
return _config;
|
|
22
|
+
},
|
|
23
|
+
get providers() {
|
|
24
|
+
return _providers;
|
|
25
|
+
},
|
|
26
|
+
getProvider(type) {
|
|
27
|
+
return this.providers.find((provider) => provider.type === type);
|
|
28
|
+
},
|
|
29
|
+
setProviders(newProviders) {
|
|
30
|
+
const providerMap = new Map(this.providers.map((provider) => [provider.type, provider]));
|
|
31
|
+
for (const provider of newProviders) providerMap.set(provider.type, provider);
|
|
32
|
+
_providers = Array.from(providerMap.values());
|
|
33
|
+
},
|
|
34
|
+
setChains(chains) {
|
|
35
|
+
_storage.setChains(chains);
|
|
36
|
+
},
|
|
37
|
+
async getChains() {
|
|
38
|
+
return await _storage.getChains();
|
|
39
|
+
},
|
|
40
|
+
async getChainById(chainId) {
|
|
41
|
+
const chain = (await this.getChains())?.find((chain) => chain.id === chainId);
|
|
42
|
+
if (!chain) throw new Error(`ChainId ${chainId} not found`);
|
|
43
|
+
return chain;
|
|
44
|
+
},
|
|
45
|
+
async getRpcUrls() {
|
|
46
|
+
return await _storage.getRpcUrls();
|
|
47
|
+
},
|
|
48
|
+
async getRpcUrlsByChainId(chainId) {
|
|
49
|
+
const chainRpcUrls = (await this.getRpcUrls())[chainId];
|
|
50
|
+
if (!chainRpcUrls?.length) throw new Error(`RPC URL not found for chainId: ${chainId}`);
|
|
51
|
+
return chainRpcUrls;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
function extend(base) {
|
|
55
|
+
return (extendFn) => {
|
|
56
|
+
const extensions = extendFn(base);
|
|
57
|
+
const extended = {
|
|
58
|
+
...base,
|
|
59
|
+
...extensions
|
|
60
|
+
};
|
|
61
|
+
return Object.assign(extended, { extend: extend(extended) });
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
return Object.assign(client, { extend: extend(client) });
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
export { createClient };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=createClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createClient.js","names":[],"sources":["../../../src/client/createClient.ts"],"sourcesContent":["import type { ChainId, ChainType, ExtendedChain } from '@lifi/types'\nimport type {\n SDKBaseConfig,\n SDKClient,\n SDKConfig,\n SDKProvider,\n} from '../types/core.js'\nimport { checkPackageUpdates } from '../utils/checkPackageUpdates.js'\nimport { name, version } from '../version.js'\nimport { getClientStorage } from './getClientStorage.js'\n\nexport function createClient(options: SDKConfig): SDKClient {\n if (!options.integrator) {\n throw new Error(\n 'Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk'\n )\n }\n\n if (!options.disableVersionCheck && process.env.NODE_ENV === 'development') {\n checkPackageUpdates(name, version)\n }\n\n const { providers, ...configOptions } = options\n\n const _config: SDKBaseConfig = {\n ...configOptions,\n apiUrl: configOptions?.apiUrl ?? 'https://li.quest/v1',\n rpcUrls: configOptions?.rpcUrls ?? {},\n debug: configOptions?.debug ?? false,\n preloadChains: configOptions?.preloadChains ?? true,\n integrator: configOptions?.integrator ?? 'lifi-sdk',\n }\n\n let _providers: SDKProvider[] = providers ?? []\n const _storage = getClientStorage(_config)\n\n const client: SDKClient = {\n get config() {\n return _config\n },\n get providers() {\n return _providers\n },\n getProvider(type: ChainType) {\n return this.providers.find((provider) => provider.type === type)\n },\n setProviders(newProviders: SDKProvider[]) {\n const providerMap = new Map(\n this.providers.map((provider) => [provider.type, provider])\n )\n for (const provider of newProviders) {\n providerMap.set(provider.type, provider)\n }\n _providers = Array.from(providerMap.values())\n },\n setChains(chains: ExtendedChain[]) {\n _storage.setChains(chains)\n },\n async getChains() {\n return await _storage.getChains()\n },\n async getChainById(chainId: ChainId) {\n const chains = await this.getChains()\n const chain = chains?.find((chain) => chain.id === chainId)\n if (!chain) {\n throw new Error(`ChainId ${chainId} not found`)\n }\n return chain\n },\n async getRpcUrls() {\n return await _storage.getRpcUrls()\n },\n async getRpcUrlsByChainId(chainId: ChainId) {\n const rpcUrls = await this.getRpcUrls()\n const chainRpcUrls = rpcUrls[chainId]\n if (!chainRpcUrls?.length) {\n throw new Error(`RPC URL not found for chainId: ${chainId}`)\n }\n return chainRpcUrls\n },\n }\n\n function extend<TClient extends SDKClient>(\n base: TClient\n ): <TExtensions extends Record<string, any>>(\n extendFn: (client: TClient) => TExtensions\n ) => TClient & TExtensions {\n return (extendFn) => {\n const extensions = extendFn(base)\n const extended = { ...base, ...extensions } as TClient & typeof extensions\n\n // Preserve the extend function for further extensions\n return Object.assign(extended, {\n extend: extend(extended),\n })\n }\n }\n\n return Object.assign(client, { extend: extend(client) })\n}\n"],"mappings":";;;;AAWA,SAAgB,aAAa,SAA+B;CAC1D,IAAI,CAAC,QAAQ,YACX,MAAM,IAAI,MACR,yGACF;CAGF,IAAI,CAAC,QAAQ,uBAAuB,QAAQ,IAAI,aAAa,eAC3D,oBAAoB,MAAM,OAAO;CAGnC,MAAM,EAAE,WAAW,GAAG,kBAAkB;CAExC,MAAM,UAAyB;EAC7B,GAAG;EACH,QAAQ,eAAe,UAAU;EACjC,SAAS,eAAe,WAAW,CAAC;EACpC,OAAO,eAAe,SAAS;EAC/B,eAAe,eAAe,iBAAiB;EAC/C,YAAY,eAAe,cAAc;CAC3C;CAEA,IAAI,aAA4B,aAAa,CAAC;CAC9C,MAAM,WAAW,iBAAiB,OAAO;CAEzC,MAAM,SAAoB;EACxB,IAAI,SAAS;GACX,OAAO;EACT;EACA,IAAI,YAAY;GACd,OAAO;EACT;EACA,YAAY,MAAiB;GAC3B,OAAO,KAAK,UAAU,MAAM,aAAa,SAAS,SAAS,IAAI;EACjE;EACA,aAAa,cAA6B;GACxC,MAAM,cAAc,IAAI,IACtB,KAAK,UAAU,KAAK,aAAa,CAAC,SAAS,MAAM,QAAQ,CAAC,CAC5D;GACA,KAAK,MAAM,YAAY,cACrB,YAAY,IAAI,SAAS,MAAM,QAAQ;GAEzC,aAAa,MAAM,KAAK,YAAY,OAAO,CAAC;EAC9C;EACA,UAAU,QAAyB;GACjC,SAAS,UAAU,MAAM;EAC3B;EACA,MAAM,YAAY;GAChB,OAAO,MAAM,SAAS,UAAU;EAClC;EACA,MAAM,aAAa,SAAkB;GAEnC,MAAM,SAAQ,MADO,KAAK,UAAU,IACd,MAAM,UAAU,MAAM,OAAO,OAAO;GAC1D,IAAI,CAAC,OACH,MAAM,IAAI,MAAM,WAAW,QAAQ,WAAW;GAEhD,OAAO;EACT;EACA,MAAM,aAAa;GACjB,OAAO,MAAM,SAAS,WAAW;EACnC;EACA,MAAM,oBAAoB,SAAkB;GAE1C,MAAM,gBAAe,MADC,KAAK,WAAW,GACT;GAC7B,IAAI,CAAC,cAAc,QACjB,MAAM,IAAI,MAAM,kCAAkC,SAAS;GAE7D,OAAO;EACT;CACF;CAEA,SAAS,OACP,MAGyB;EACzB,QAAQ,aAAa;GACnB,MAAM,aAAa,SAAS,IAAI;GAChC,MAAM,WAAW;IAAE,GAAG;IAAM,GAAG;GAAW;GAG1C,OAAO,OAAO,OAAO,UAAU,EAC7B,QAAQ,OAAO,QAAQ,EACzB,CAAC;EACH;CACF;CAEA,OAAO,OAAO,OAAO,QAAQ,EAAE,QAAQ,OAAO,MAAM,EAAE,CAAC;AACzD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RPCUrls, SDKBaseConfig } from "../types/core.js";
|
|
2
|
+
import { ExtendedChain } from "@lifi/types";
|
|
3
|
+
|
|
4
|
+
//#region src/client/getClientStorage.d.ts
|
|
5
|
+
interface ClientStorage {
|
|
6
|
+
readonly needReset: boolean;
|
|
7
|
+
setChains(chains: ExtendedChain[]): void;
|
|
8
|
+
getChains(): Promise<ExtendedChain[]>;
|
|
9
|
+
getRpcUrls(): Promise<RPCUrls>;
|
|
10
|
+
}
|
|
11
|
+
declare const getClientStorage: (config: SDKBaseConfig) => ClientStorage;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { ClientStorage, getClientStorage };
|
|
14
|
+
//# sourceMappingURL=getClientStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getClientStorage.d.ts","names":[],"sources":["../../../src/client/getClientStorage.ts"],"mappings":";;;;UAQiB,aAAA;EAAA,SACN,SAAA;EACT,SAAA,CAAU,MAAA,EAAQ,aAAA;EAClB,SAAA,IAAa,OAAA,CAAQ,aAAA;EACrB,UAAA,IAAc,OAAA,CAAQ,OAAA;AAAA;AAAA,cAGX,gBAAA,GAAoB,MAAA,EAAQ,aAAA,KAAgB,aAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { _getChains } from "../actions/getChains.js";
|
|
2
|
+
import { getRpcUrlsFromChains } from "../core/utils.js";
|
|
3
|
+
import { ChainId, ChainType } from "@lifi/types";
|
|
4
|
+
//#region src/client/getClientStorage.ts
|
|
5
|
+
const chainsRefreshInterval = 1e3 * 60 * 60 * 6;
|
|
6
|
+
const getClientStorage = (config) => {
|
|
7
|
+
let _chains = [];
|
|
8
|
+
let _rpcUrls = { ...config.rpcUrls };
|
|
9
|
+
let _chainsUpdatedAt;
|
|
10
|
+
const updateRpcUrls = () => {
|
|
11
|
+
_rpcUrls = { ...config.rpcUrls };
|
|
12
|
+
_rpcUrls = getRpcUrlsFromChains(_rpcUrls, _chains, [ChainId.SOL]);
|
|
13
|
+
};
|
|
14
|
+
return {
|
|
15
|
+
get needReset() {
|
|
16
|
+
return !_chainsUpdatedAt || Date.now() - _chainsUpdatedAt >= chainsRefreshInterval;
|
|
17
|
+
},
|
|
18
|
+
setChains(chains) {
|
|
19
|
+
_chains = chains;
|
|
20
|
+
_chainsUpdatedAt = Date.now();
|
|
21
|
+
updateRpcUrls();
|
|
22
|
+
},
|
|
23
|
+
async getChains() {
|
|
24
|
+
if (!config.preloadChains) return _chains;
|
|
25
|
+
if (this.needReset || !_chains.length) {
|
|
26
|
+
_chains = await _getChains(config, { chainTypes: [
|
|
27
|
+
ChainType.EVM,
|
|
28
|
+
ChainType.SVM,
|
|
29
|
+
ChainType.UTXO,
|
|
30
|
+
ChainType.MVM,
|
|
31
|
+
ChainType.TVM
|
|
32
|
+
] });
|
|
33
|
+
_chainsUpdatedAt = Date.now();
|
|
34
|
+
updateRpcUrls();
|
|
35
|
+
}
|
|
36
|
+
return _chains;
|
|
37
|
+
},
|
|
38
|
+
async getRpcUrls() {
|
|
39
|
+
await this.getChains();
|
|
40
|
+
return _rpcUrls;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
//#endregion
|
|
45
|
+
export { getClientStorage };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=getClientStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getClientStorage.js","names":[],"sources":["../../../src/client/getClientStorage.ts"],"sourcesContent":["import { ChainId, ChainType, type ExtendedChain } from '@lifi/types'\nimport { _getChains } from '../actions/getChains.js'\nimport { getRpcUrlsFromChains } from '../core/utils.js'\nimport type { RPCUrls, SDKBaseConfig } from '../types/core.js'\n\n// 6 hours in milliseconds\nconst chainsRefreshInterval = 1000 * 60 * 60 * 6\n\nexport interface ClientStorage {\n readonly needReset: boolean\n setChains(chains: ExtendedChain[]): void\n getChains(): Promise<ExtendedChain[]>\n getRpcUrls(): Promise<RPCUrls>\n}\n\nexport const getClientStorage = (config: SDKBaseConfig): ClientStorage => {\n let _chains = [] as ExtendedChain[]\n let _rpcUrls = { ...config.rpcUrls } as RPCUrls\n let _chainsUpdatedAt: number | undefined\n\n const updateRpcUrls = () => {\n _rpcUrls = { ...config.rpcUrls }\n _rpcUrls = getRpcUrlsFromChains(_rpcUrls, _chains, [ChainId.SOL])\n }\n\n return {\n get needReset() {\n return (\n !_chainsUpdatedAt ||\n Date.now() - _chainsUpdatedAt >= chainsRefreshInterval\n )\n },\n setChains(chains: ExtendedChain[]) {\n _chains = chains\n _chainsUpdatedAt = Date.now()\n updateRpcUrls()\n },\n async getChains() {\n // When preloadChains is false, SDK does not auto-fetch chains\n // External consumer is responsible for calling setChains\n if (!config.preloadChains) {\n return _chains\n }\n\n if (this.needReset || !_chains.length) {\n _chains = await _getChains(config, {\n chainTypes: [\n ChainType.EVM,\n ChainType.SVM,\n ChainType.UTXO,\n ChainType.MVM,\n ChainType.TVM,\n ],\n })\n _chainsUpdatedAt = Date.now()\n updateRpcUrls()\n }\n return _chains\n },\n async getRpcUrls() {\n await this.getChains() // _rpcUrls is updated when needed\n return _rpcUrls\n },\n }\n}\n"],"mappings":";;;;AAMA,MAAM,wBAAwB,MAAO,KAAK,KAAK;AAS/C,MAAa,oBAAoB,WAAyC;CACxE,IAAI,UAAU,CAAC;CACf,IAAI,WAAW,EAAE,GAAG,OAAO,QAAQ;CACnC,IAAI;CAEJ,MAAM,sBAAsB;EAC1B,WAAW,EAAE,GAAG,OAAO,QAAQ;EAC/B,WAAW,qBAAqB,UAAU,SAAS,CAAC,QAAQ,GAAG,CAAC;CAClE;CAEA,OAAO;EACL,IAAI,YAAY;GACd,OACE,CAAC,oBACD,KAAK,IAAI,IAAI,oBAAoB;EAErC;EACA,UAAU,QAAyB;GACjC,UAAU;GACV,mBAAmB,KAAK,IAAI;GAC5B,cAAc;EAChB;EACA,MAAM,YAAY;GAGhB,IAAI,CAAC,OAAO,eACV,OAAO;GAGT,IAAI,KAAK,aAAa,CAAC,QAAQ,QAAQ;IACrC,UAAU,MAAM,WAAW,QAAQ,EACjC,YAAY;KACV,UAAU;KACV,UAAU;KACV,UAAU;KACV,UAAU;KACV,UAAU;IACZ,EACF,CAAC;IACD,mBAAmB,KAAK,IAAI;IAC5B,cAAc;GAChB;GACA,OAAO;EACT;EACA,MAAM,aAAa;GACjB,MAAM,KAAK,UAAU;GACrB,OAAO;EACT;CACF;AACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { StepExecutorContext, TaskResult } from "../types/execution.js";
|
|
2
|
+
|
|
3
|
+
//#region src/core/BaseStepExecutionTask.d.ts
|
|
4
|
+
declare abstract class BaseStepExecutionTask {
|
|
5
|
+
shouldRun(_context: StepExecutorContext): Promise<boolean>;
|
|
6
|
+
abstract run(context: StepExecutorContext): Promise<TaskResult>;
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { BaseStepExecutionTask };
|
|
10
|
+
//# sourceMappingURL=BaseStepExecutionTask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseStepExecutionTask.d.ts","names":[],"sources":["../../../src/core/BaseStepExecutionTask.ts"],"mappings":";;;uBAEsB,qBAAA;EACpB,SAAA,CAAU,QAAA,EAAU,mBAAA,GAAsB,OAAA;EAAA,SAIjC,GAAA,CAAI,OAAA,EAAS,mBAAA,GAAsB,OAAA,CAAQ,UAAA;AAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseStepExecutionTask.js","names":[],"sources":["../../../src/core/BaseStepExecutionTask.ts"],"sourcesContent":["import type { StepExecutorContext, TaskResult } from '../types/execution.js'\n\nexport abstract class BaseStepExecutionTask {\n shouldRun(_context: StepExecutorContext): Promise<boolean> {\n return Promise.resolve(true)\n }\n\n abstract run(context: StepExecutorContext): Promise<TaskResult>\n}\n"],"mappings":";AAEA,IAAsB,wBAAtB,MAA4C;CAC1C,UAAU,UAAiD;EACzD,OAAO,QAAQ,QAAQ,IAAI;CAC7B;AAGF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ExecuteStepRetryParams, ExecutionAction, ExecutionOptions, InteractionSettings, LiFiStepExtended, SDKClient, StepExecutor, StepExecutorOptions } from "../types/core.js";
|
|
2
|
+
import { StatusManager } from "./StatusManager.js";
|
|
3
|
+
import { StepExecutorBaseContext, StepExecutorContext } from "../types/execution.js";
|
|
4
|
+
import { ExecuteStepRetryError } from "../errors/errors.js";
|
|
5
|
+
import { SDKError } from "../errors/SDKError.js";
|
|
6
|
+
import { TaskPipeline } from "./TaskPipeline.js";
|
|
7
|
+
|
|
8
|
+
//#region src/core/BaseStepExecutor.d.ts
|
|
9
|
+
declare abstract class BaseStepExecutor implements StepExecutor {
|
|
10
|
+
protected executionOptions?: ExecutionOptions;
|
|
11
|
+
protected statusManager: StatusManager;
|
|
12
|
+
allowUserInteraction: boolean;
|
|
13
|
+
allowExecution: boolean;
|
|
14
|
+
constructor(options: StepExecutorOptions);
|
|
15
|
+
setInteraction: (settings?: InteractionSettings) => void;
|
|
16
|
+
private createBaseContext;
|
|
17
|
+
abstract createContext(baseContext: StepExecutorBaseContext): Promise<StepExecutorContext>;
|
|
18
|
+
abstract createPipeline(context: StepExecutorContext): TaskPipeline;
|
|
19
|
+
abstract parseErrors(error: Error, step?: LiFiStepExtended, action?: ExecutionAction, retryParams?: ExecuteStepRetryParams): Promise<SDKError | ExecuteStepRetryError>;
|
|
20
|
+
executeStep: (client: SDKClient, step: LiFiStepExtended, retryParams?: ExecuteStepRetryParams) => Promise<LiFiStepExtended>;
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { BaseStepExecutor };
|
|
24
|
+
//# sourceMappingURL=BaseStepExecutor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseStepExecutor.d.ts","names":[],"sources":["../../../src/core/BaseStepExecutor.ts"],"mappings":";;;;;;;;uBA0BsB,gBAAA,YAA4B,YAAA;EAAA,UACtC,gBAAA,GAAmB,gBAAA;EAAA,UACnB,aAAA,EAAe,aAAA;EAEzB,oBAAA;EACA,cAAA;EAEA,WAAA,CAAY,OAAA,EAAS,mBAAA;EAKrB,cAAA,GAAkB,QAAA,GAAW,mBAAA;EAAA,QAUrB,iBAAA;EAAA,SAuBC,aAAA,CACP,WAAA,EAAa,uBAAA,GACZ,OAAA,CAAQ,mBAAA;EAAA,SAEF,cAAA,CAAe,OAAA,EAAS,mBAAA,GAAsB,YAAA;EAAA,SAE9C,WAAA,CACP,KAAA,EAAO,KAAA,EACP,IAAA,GAAO,gBAAA,EACP,MAAA,GAAS,eAAA,EACT,WAAA,GAAc,sBAAA,GACb,OAAA,CAAQ,QAAA,GAAW,qBAAA;EAEtB,WAAA,GACE,MAAA,EAAQ,SAAA,EACR,IAAA,EAAM,gBAAA,EACN,WAAA,GAAc,sBAAA,KACb,OAAA,CAAQ,gBAAA;AAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { ExecuteStepRetryError } from "../errors/errors.js";
|
|
2
|
+
import { StatusManager } from "./StatusManager.js";
|
|
3
|
+
//#region src/core/BaseStepExecutor.ts
|
|
4
|
+
const defaultInteractionSettings = {
|
|
5
|
+
allowInteraction: true,
|
|
6
|
+
allowUpdates: true,
|
|
7
|
+
allowExecution: true
|
|
8
|
+
};
|
|
9
|
+
var BaseStepExecutor = class {
|
|
10
|
+
executionOptions;
|
|
11
|
+
statusManager;
|
|
12
|
+
allowUserInteraction = true;
|
|
13
|
+
allowExecution = true;
|
|
14
|
+
constructor(options) {
|
|
15
|
+
this.statusManager = new StatusManager(options.routeId);
|
|
16
|
+
this.executionOptions = options.executionOptions;
|
|
17
|
+
}
|
|
18
|
+
setInteraction = (settings) => {
|
|
19
|
+
const interactionSettings = {
|
|
20
|
+
...defaultInteractionSettings,
|
|
21
|
+
...settings
|
|
22
|
+
};
|
|
23
|
+
this.allowUserInteraction = interactionSettings.allowInteraction;
|
|
24
|
+
this.statusManager.allowUpdates(interactionSettings.allowUpdates);
|
|
25
|
+
this.allowExecution = interactionSettings.allowExecution;
|
|
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
|
+
return {
|
|
31
|
+
client,
|
|
32
|
+
step,
|
|
33
|
+
fromChain,
|
|
34
|
+
toChain,
|
|
35
|
+
isBridgeExecution: fromChain.id !== toChain.id,
|
|
36
|
+
retryParams,
|
|
37
|
+
statusManager: this.statusManager,
|
|
38
|
+
executionOptions: this.executionOptions,
|
|
39
|
+
allowUserInteraction: this.allowUserInteraction
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
executeStep = async (client, step, retryParams) => {
|
|
43
|
+
try {
|
|
44
|
+
step.execution = this.statusManager.initializeExecution(step);
|
|
45
|
+
const baseContext = await this.createBaseContext(client, step, retryParams);
|
|
46
|
+
const context = await this.createContext(baseContext);
|
|
47
|
+
await this.createPipeline(context).run(context);
|
|
48
|
+
return step;
|
|
49
|
+
} catch (error) {
|
|
50
|
+
const action = step.execution?.actions?.at(-1);
|
|
51
|
+
const parsed = await this.parseErrors(error, step, action, retryParams);
|
|
52
|
+
if (!(parsed instanceof ExecuteStepRetryError)) if (action) this.statusManager.updateAction(step, action.type, "FAILED", { error: {
|
|
53
|
+
message: parsed.cause?.message,
|
|
54
|
+
code: parsed.code
|
|
55
|
+
} });
|
|
56
|
+
else this.statusManager.updateExecution(step, {
|
|
57
|
+
status: "FAILED",
|
|
58
|
+
error: {
|
|
59
|
+
message: parsed.cause?.message,
|
|
60
|
+
code: parsed.code
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
throw parsed;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
//#endregion
|
|
68
|
+
export { BaseStepExecutor };
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=BaseStepExecutor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseStepExecutor.js","names":[],"sources":["../../../src/core/BaseStepExecutor.ts"],"sourcesContent":["import { ExecuteStepRetryError } from '../errors/errors.js'\nimport type { SDKError } from '../errors/SDKError.js'\nimport type {\n ExecuteStepRetryParams,\n ExecutionAction,\n ExecutionOptions,\n InteractionSettings,\n LiFiStepExtended,\n SDKClient,\n StepExecutor,\n StepExecutorOptions,\n} from '../types/core.js'\nimport type {\n StepExecutorBaseContext,\n StepExecutorContext,\n} from '../types/execution.js'\nimport { StatusManager } from './StatusManager.js'\nimport type { TaskPipeline } from './TaskPipeline.js'\n\n// Please be careful when changing the defaults as it may break the behavior (e.g., background execution)\nconst defaultInteractionSettings = {\n allowInteraction: true,\n allowUpdates: true,\n allowExecution: true,\n}\n\nexport abstract class BaseStepExecutor implements StepExecutor {\n protected executionOptions?: ExecutionOptions\n protected statusManager: StatusManager\n\n public allowUserInteraction = true\n public allowExecution = true\n\n constructor(options: StepExecutorOptions) {\n this.statusManager = new StatusManager(options.routeId)\n this.executionOptions = options.executionOptions\n }\n\n setInteraction = (settings?: InteractionSettings): void => {\n const interactionSettings = {\n ...defaultInteractionSettings,\n ...settings,\n }\n this.allowUserInteraction = interactionSettings.allowInteraction\n this.statusManager.allowUpdates(interactionSettings.allowUpdates)\n this.allowExecution = interactionSettings.allowExecution\n }\n\n private createBaseContext = async (\n client: SDKClient,\n step: LiFiStepExtended,\n retryParams?: ExecuteStepRetryParams\n ): Promise<StepExecutorBaseContext> => {\n const fromChain = await client.getChainById(step.action.fromChainId)\n const toChain = await client.getChainById(step.action.toChainId)\n\n const isBridgeExecution = fromChain.id !== toChain.id\n\n return {\n client,\n step,\n fromChain,\n toChain,\n isBridgeExecution,\n retryParams,\n statusManager: this.statusManager,\n executionOptions: this.executionOptions,\n allowUserInteraction: this.allowUserInteraction,\n }\n }\n\n abstract createContext(\n baseContext: StepExecutorBaseContext\n ): Promise<StepExecutorContext>\n\n abstract createPipeline(context: StepExecutorContext): TaskPipeline\n\n abstract parseErrors(\n error: Error,\n step?: LiFiStepExtended,\n action?: ExecutionAction,\n retryParams?: ExecuteStepRetryParams\n ): Promise<SDKError | ExecuteStepRetryError>\n\n executeStep = async (\n client: SDKClient,\n step: LiFiStepExtended,\n retryParams?: ExecuteStepRetryParams\n ): Promise<LiFiStepExtended> => {\n try {\n step.execution = this.statusManager.initializeExecution(step)\n\n const baseContext = await this.createBaseContext(\n client,\n step,\n retryParams\n )\n const context = await this.createContext(baseContext)\n const pipeline = this.createPipeline(context)\n\n await pipeline.run(context)\n\n return step\n } catch (error: any) {\n // Derive failing action from last in execution.actions\n const action = step.execution?.actions?.at(-1)\n const parsed = await this.parseErrors(error, step, action, retryParams)\n if (!(parsed instanceof ExecuteStepRetryError)) {\n if (action) {\n this.statusManager.updateAction(step, action.type, 'FAILED', {\n error: {\n message: parsed.cause?.message,\n code: parsed.code,\n },\n })\n } else {\n this.statusManager.updateExecution(step, {\n status: 'FAILED',\n error: {\n message: parsed.cause?.message,\n code: parsed.code,\n },\n })\n }\n }\n throw parsed\n }\n }\n}\n"],"mappings":";;;AAoBA,MAAM,6BAA6B;CACjC,kBAAkB;CAClB,cAAc;CACd,gBAAgB;AAClB;AAEA,IAAsB,mBAAtB,MAA+D;CAC7D;CACA;CAEA,uBAA8B;CAC9B,iBAAwB;CAExB,YAAY,SAA8B;EACxC,KAAK,gBAAgB,IAAI,cAAc,QAAQ,OAAO;EACtD,KAAK,mBAAmB,QAAQ;CAClC;CAEA,kBAAkB,aAAyC;EACzD,MAAM,sBAAsB;GAC1B,GAAG;GACH,GAAG;EACL;EACA,KAAK,uBAAuB,oBAAoB;EAChD,KAAK,cAAc,aAAa,oBAAoB,YAAY;EAChE,KAAK,iBAAiB,oBAAoB;CAC5C;CAEA,oBAA4B,OAC1B,QACA,MACA,gBACqC;EACrC,MAAM,YAAY,MAAM,OAAO,aAAa,KAAK,OAAO,WAAW;EACnE,MAAM,UAAU,MAAM,OAAO,aAAa,KAAK,OAAO,SAAS;EAI/D,OAAO;GACL;GACA;GACA;GACA;GACA,mBAPwB,UAAU,OAAO,QAAQ;GAQjD;GACA,eAAe,KAAK;GACpB,kBAAkB,KAAK;GACvB,sBAAsB,KAAK;EAC7B;CACF;CAeA,cAAc,OACZ,QACA,MACA,gBAC8B;EAC9B,IAAI;GACF,KAAK,YAAY,KAAK,cAAc,oBAAoB,IAAI;GAE5D,MAAM,cAAc,MAAM,KAAK,kBAC7B,QACA,MACA,WACF;GACA,MAAM,UAAU,MAAM,KAAK,cAAc,WAAW;GAGpD,MAFiB,KAAK,eAAe,OAExB,EAAE,IAAI,OAAO;GAE1B,OAAO;EACT,SAAS,OAAY;GAEnB,MAAM,SAAS,KAAK,WAAW,SAAS,GAAG,EAAE;GAC7C,MAAM,SAAS,MAAM,KAAK,YAAY,OAAO,MAAM,QAAQ,WAAW;GACtE,IAAI,EAAE,kBAAkB,wBACtB,IAAI,QACF,KAAK,cAAc,aAAa,MAAM,OAAO,MAAM,UAAU,EAC3D,OAAO;IACL,SAAS,OAAO,OAAO;IACvB,MAAM,OAAO;GACf,EACF,CAAC;QAED,KAAK,cAAc,gBAAgB,MAAM;IACvC,QAAQ;IACR,OAAO;KACL,SAAS,OAAO,OAAO;KACvB,MAAM,OAAO;IACf;GACF,CAAC;GAGL,MAAM;EACR;CACF;AACF"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { Execution, ExecutionAction, ExecutionActionStatus, ExecutionActionType, LiFiStepExtended } from "../types/core.js";
|
|
2
|
+
import { ChainId, LiFiStep } from "@lifi/types";
|
|
3
|
+
|
|
4
|
+
//#region src/core/StatusManager.d.ts
|
|
5
|
+
type ActionProps = {
|
|
6
|
+
step: LiFiStepExtended;
|
|
7
|
+
type: ExecutionActionType;
|
|
8
|
+
chainId: ChainId;
|
|
9
|
+
status: ExecutionActionStatus;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Manages status updates of a route and provides various functions for tracking actions.
|
|
13
|
+
*/
|
|
14
|
+
declare class StatusManager {
|
|
15
|
+
private readonly routeId;
|
|
16
|
+
private shouldUpdate;
|
|
17
|
+
constructor(routeId: string);
|
|
18
|
+
/**
|
|
19
|
+
* Initializes the execution object of a Step.
|
|
20
|
+
* @param step The current step in execution
|
|
21
|
+
* @returns The initialized execution object for this step
|
|
22
|
+
*/
|
|
23
|
+
initializeExecution: (step: LiFiStepExtended) => Execution;
|
|
24
|
+
/**
|
|
25
|
+
* Updates the execution object of a Step.
|
|
26
|
+
* @param step The current step in execution
|
|
27
|
+
* @param execution Partial execution data to merge
|
|
28
|
+
* @returns The step with the updated execution object
|
|
29
|
+
*/
|
|
30
|
+
updateExecution(step: LiFiStepExtended, execution: Partial<Execution>): LiFiStep;
|
|
31
|
+
/**
|
|
32
|
+
* Finds an action of the specified type in the step's execution
|
|
33
|
+
* @param step The step to search in
|
|
34
|
+
* @param type The action type to find
|
|
35
|
+
* @returns The found action or undefined if not found
|
|
36
|
+
*/
|
|
37
|
+
findAction(step: LiFiStepExtended, type: ExecutionActionType): ExecutionAction | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Create and push a new action into the execution.
|
|
40
|
+
* Caller is responsible for ensuring an action of this type does not already exist.
|
|
41
|
+
* @param step The step that should contain the new action.
|
|
42
|
+
* @param type Type of the action.
|
|
43
|
+
* @param chainId Chain Id of the action.
|
|
44
|
+
* @param status The initial status for the new action.
|
|
45
|
+
* @returns The created action.
|
|
46
|
+
*/
|
|
47
|
+
createAction: ({
|
|
48
|
+
step,
|
|
49
|
+
type,
|
|
50
|
+
chainId,
|
|
51
|
+
status
|
|
52
|
+
}: ActionProps) => ExecutionAction;
|
|
53
|
+
/**
|
|
54
|
+
* Find an existing action by type and update it, or create a new one if none exists.
|
|
55
|
+
* @param step The step that should contain the action.
|
|
56
|
+
* @param type Type of the action. Used to identify already existing actions.
|
|
57
|
+
* @param chainId Chain Id of the action (used when creating).
|
|
58
|
+
* @param status The status to set on the found or newly created action.
|
|
59
|
+
* @returns The updated or newly created action.
|
|
60
|
+
*/
|
|
61
|
+
initializeAction: ({
|
|
62
|
+
step,
|
|
63
|
+
type,
|
|
64
|
+
chainId,
|
|
65
|
+
status
|
|
66
|
+
}: ActionProps) => ExecutionAction;
|
|
67
|
+
/**
|
|
68
|
+
* Update an action object.
|
|
69
|
+
* @param step The step where the action should be updated
|
|
70
|
+
* @param type The action type to update
|
|
71
|
+
* @param status The status the action gets.
|
|
72
|
+
* @param [params] Additional parameters to append to the action.
|
|
73
|
+
* @returns The updated action
|
|
74
|
+
*/
|
|
75
|
+
updateAction: (step: LiFiStepExtended, type: ExecutionActionType, status: ExecutionActionStatus, params?: Partial<ExecutionAction & {
|
|
76
|
+
signedAt?: number;
|
|
77
|
+
}>) => ExecutionAction;
|
|
78
|
+
updateStepInRoute: (step: LiFiStep) => LiFiStep;
|
|
79
|
+
allowUpdates(value: boolean): void;
|
|
80
|
+
}
|
|
81
|
+
//#endregion
|
|
82
|
+
export { StatusManager };
|
|
83
|
+
//# sourceMappingURL=StatusManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusManager.d.ts","names":[],"sources":["../../../src/core/StatusManager.ts"],"mappings":";;;;KAWK,WAAA;EACH,IAAA,EAAM,gBAAA;EACN,IAAA,EAAM,mBAAA;EACN,OAAA,EAAS,OAAA;EACT,MAAA,EAAQ,qBAAA;AAAA;;;;cAMG,aAAA;EAAA,iBACM,OAAA;EAAA,QACT,YAAA;EAER,WAAA,CAAY,OAAA;;;;;;EASZ,mBAAA,GAAuB,IAAA,EAAM,gBAAA,KAAmB,SAAA;EAnBxC;AAAA;AAMV;;;;EAyCE,eAAA,CACE,IAAA,EAAM,gBAAA,EACN,SAAA,EAAW,OAAA,CAAQ,SAAA,IAClB,QAAA;;;;;;;EAkBH,UAAA,CACE,IAAA,EAAM,gBAAA,EACN,IAAA,EAAM,mBAAA,GACL,eAAA;;;;;;;;;;EAmBH,YAAA;IACE,IAAA;IACA,IAAA;IACA,OAAA;IACA;EAAA,GACC,WAAA,KAAc,eAAA;;;;;;;;;EAyBjB,gBAAA;IACE,IAAA;IACA,IAAA;IACA,OAAA;IACA;EAAA,GACC,WAAA,KAAc,eAAA;;;;;;;;;EAoBjB,YAAA,GACE,IAAA,EAAM,gBAAA,EACN,IAAA,EAAM,mBAAA,EACN,MAAA,EAAQ,qBAAA,EACR,MAAA,GAAS,OAAA,CAAQ,eAAA;IAAoB,QAAA;EAAA,OACpC,eAAA;EAoDH,iBAAA,GAAqB,IAAA,EAAM,QAAA,KAAW,QAAA;EAwBtC,YAAA,CAAa,KAAA;AAAA"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { getActionMessage } from "./actionMessages.js";
|
|
2
|
+
import { executionState } from "./executionState.js";
|
|
3
|
+
//#region src/core/StatusManager.ts
|
|
4
|
+
/**
|
|
5
|
+
* Manages status updates of a route and provides various functions for tracking actions.
|
|
6
|
+
*/
|
|
7
|
+
var StatusManager = class {
|
|
8
|
+
routeId;
|
|
9
|
+
shouldUpdate = true;
|
|
10
|
+
constructor(routeId) {
|
|
11
|
+
this.routeId = routeId;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Initializes the execution object of a Step.
|
|
15
|
+
* @param step The current step in execution
|
|
16
|
+
* @returns The initialized execution object for this step
|
|
17
|
+
*/
|
|
18
|
+
initializeExecution = (step) => {
|
|
19
|
+
if (!step.execution) {
|
|
20
|
+
step.execution = {
|
|
21
|
+
startedAt: Date.now(),
|
|
22
|
+
status: "PENDING",
|
|
23
|
+
actions: []
|
|
24
|
+
};
|
|
25
|
+
this.updateStepInRoute(step);
|
|
26
|
+
}
|
|
27
|
+
if (step.execution.status === "FAILED") {
|
|
28
|
+
step.execution.startedAt = Date.now();
|
|
29
|
+
step.execution.status = "PENDING";
|
|
30
|
+
step.execution.signedAt = void 0;
|
|
31
|
+
step.execution.error = void 0;
|
|
32
|
+
this.updateStepInRoute(step);
|
|
33
|
+
}
|
|
34
|
+
return step.execution;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Updates the execution object of a Step.
|
|
38
|
+
* @param step The current step in execution
|
|
39
|
+
* @param execution Partial execution data to merge
|
|
40
|
+
* @returns The step with the updated execution object
|
|
41
|
+
*/
|
|
42
|
+
updateExecution(step, execution) {
|
|
43
|
+
if (!step.execution) throw Error("Can't update empty execution.");
|
|
44
|
+
step.execution = {
|
|
45
|
+
...step.execution,
|
|
46
|
+
...execution
|
|
47
|
+
};
|
|
48
|
+
this.updateStepInRoute(step);
|
|
49
|
+
return step;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Finds an action of the specified type in the step's execution
|
|
53
|
+
* @param step The step to search in
|
|
54
|
+
* @param type The action type to find
|
|
55
|
+
* @returns The found action or undefined if not found
|
|
56
|
+
*/
|
|
57
|
+
findAction(step, type) {
|
|
58
|
+
if (!step.execution?.actions) throw new Error("Execution hasn't been initialized.");
|
|
59
|
+
return step.execution.actions.find((p) => p.type === type);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Create and push a new action into the execution.
|
|
63
|
+
* Caller is responsible for ensuring an action of this type does not already exist.
|
|
64
|
+
* @param step The step that should contain the new action.
|
|
65
|
+
* @param type Type of the action.
|
|
66
|
+
* @param chainId Chain Id of the action.
|
|
67
|
+
* @param status The initial status for the new action.
|
|
68
|
+
* @returns The created action.
|
|
69
|
+
*/
|
|
70
|
+
createAction = ({ step, type, chainId, status }) => {
|
|
71
|
+
if (!step.execution) throw new Error("Execution hasn't been initialized.");
|
|
72
|
+
const newAction = {
|
|
73
|
+
type,
|
|
74
|
+
message: getActionMessage(type, status),
|
|
75
|
+
status,
|
|
76
|
+
chainId
|
|
77
|
+
};
|
|
78
|
+
step.execution.actions.push(newAction);
|
|
79
|
+
this.updateStepInRoute(step);
|
|
80
|
+
return newAction;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Find an existing action by type and update it, or create a new one if none exists.
|
|
84
|
+
* @param step The step that should contain the action.
|
|
85
|
+
* @param type Type of the action. Used to identify already existing actions.
|
|
86
|
+
* @param chainId Chain Id of the action (used when creating).
|
|
87
|
+
* @param status The status to set on the found or newly created action.
|
|
88
|
+
* @returns The updated or newly created action.
|
|
89
|
+
*/
|
|
90
|
+
initializeAction = ({ step, type, chainId, status }) => {
|
|
91
|
+
if (this.findAction(step, type)) return this.updateAction(step, type, status, { error: void 0 });
|
|
92
|
+
return this.createAction({
|
|
93
|
+
step,
|
|
94
|
+
type,
|
|
95
|
+
chainId,
|
|
96
|
+
status
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Update an action object.
|
|
101
|
+
* @param step The step where the action should be updated
|
|
102
|
+
* @param type The action type to update
|
|
103
|
+
* @param status The status the action gets.
|
|
104
|
+
* @param [params] Additional parameters to append to the action.
|
|
105
|
+
* @returns The updated action
|
|
106
|
+
*/
|
|
107
|
+
updateAction = (step, type, status, params) => {
|
|
108
|
+
if (!step.execution) throw new Error("Can't update an empty step execution.");
|
|
109
|
+
const currentAction = this.findAction(step, type);
|
|
110
|
+
if (!currentAction) throw new Error("Can't find an action for the given type.");
|
|
111
|
+
switch (status) {
|
|
112
|
+
case "CANCELLED": break;
|
|
113
|
+
case "FAILED":
|
|
114
|
+
step.execution.status = "FAILED";
|
|
115
|
+
if (params?.error) step.execution.error = params.error;
|
|
116
|
+
break;
|
|
117
|
+
case "DONE": break;
|
|
118
|
+
case "PENDING":
|
|
119
|
+
step.execution.status = "PENDING";
|
|
120
|
+
if (params?.signedAt) step.execution.signedAt = params.signedAt;
|
|
121
|
+
break;
|
|
122
|
+
case "RESET_REQUIRED":
|
|
123
|
+
case "MESSAGE_REQUIRED":
|
|
124
|
+
case "ACTION_REQUIRED":
|
|
125
|
+
step.execution.status = "ACTION_REQUIRED";
|
|
126
|
+
break;
|
|
127
|
+
default: break;
|
|
128
|
+
}
|
|
129
|
+
currentAction.status = status;
|
|
130
|
+
currentAction.message = getActionMessage(type, status);
|
|
131
|
+
if (params) {
|
|
132
|
+
const { signedAt: _signedAt, ...rest } = params;
|
|
133
|
+
Object.assign(currentAction, rest);
|
|
134
|
+
}
|
|
135
|
+
step.execution.actions = [...step.execution.actions.filter((action) => action.status === "DONE"), ...step.execution.actions.filter((action) => action.status !== "DONE")];
|
|
136
|
+
this.updateStepInRoute(step);
|
|
137
|
+
return currentAction;
|
|
138
|
+
};
|
|
139
|
+
updateStepInRoute = (step) => {
|
|
140
|
+
if (!this.shouldUpdate) return step;
|
|
141
|
+
const data = executionState.get(this.routeId);
|
|
142
|
+
if (!data) throw new Error("Execution data not found.");
|
|
143
|
+
const stepIndex = data.route.steps.findIndex((routeStep) => routeStep.id === step.id);
|
|
144
|
+
if (stepIndex === -1) throw new Error("Couldn't find a step to update.");
|
|
145
|
+
data.route.steps[stepIndex] = {
|
|
146
|
+
...data.route.steps[stepIndex],
|
|
147
|
+
...step
|
|
148
|
+
};
|
|
149
|
+
data.executionOptions?.updateRouteHook?.(data.route);
|
|
150
|
+
return data.route.steps[stepIndex];
|
|
151
|
+
};
|
|
152
|
+
allowUpdates(value) {
|
|
153
|
+
this.shouldUpdate = value;
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
//#endregion
|
|
157
|
+
export { StatusManager };
|
|
158
|
+
|
|
159
|
+
//# sourceMappingURL=StatusManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusManager.js","names":[],"sources":["../../../src/core/StatusManager.ts"],"sourcesContent":["import type { ChainId, LiFiStep } from '@lifi/types'\nimport type {\n Execution,\n ExecutionAction,\n ExecutionActionStatus,\n ExecutionActionType,\n LiFiStepExtended,\n} from '../types/core.js'\nimport { getActionMessage } from './actionMessages.js'\nimport { executionState } from './executionState.js'\n\ntype ActionProps = {\n step: LiFiStepExtended\n type: ExecutionActionType\n chainId: ChainId\n status: ExecutionActionStatus\n}\n\n/**\n * Manages status updates of a route and provides various functions for tracking actions.\n */\nexport class StatusManager {\n private readonly routeId: string\n private shouldUpdate = true\n\n constructor(routeId: string) {\n this.routeId = routeId\n }\n\n /**\n * Initializes the execution object of a Step.\n * @param step The current step in execution\n * @returns The initialized execution object for this step\n */\n initializeExecution = (step: LiFiStepExtended): Execution => {\n if (!step.execution) {\n step.execution = {\n startedAt: Date.now(),\n status: 'PENDING',\n actions: [],\n }\n this.updateStepInRoute(step)\n }\n\n // Change status to PENDING after resuming from FAILED\n if (step.execution.status === 'FAILED') {\n step.execution.startedAt = Date.now()\n step.execution.status = 'PENDING'\n step.execution.signedAt = undefined\n step.execution.error = undefined\n this.updateStepInRoute(step)\n }\n\n return step.execution\n }\n\n /**\n * Updates the execution object of a Step.\n * @param step The current step in execution\n * @param execution Partial execution data to merge\n * @returns The step with the updated execution object\n */\n updateExecution(\n step: LiFiStepExtended,\n execution: Partial<Execution>\n ): LiFiStep {\n if (!step.execution) {\n throw Error(\"Can't update empty execution.\")\n }\n step.execution = {\n ...step.execution,\n ...execution,\n }\n this.updateStepInRoute(step)\n return step\n }\n\n /**\n * Finds an action of the specified type in the step's execution\n * @param step The step to search in\n * @param type The action type to find\n * @returns The found action or undefined if not found\n */\n findAction(\n step: LiFiStepExtended,\n type: ExecutionActionType\n ): ExecutionAction | undefined {\n if (!step.execution?.actions) {\n throw new Error(\"Execution hasn't been initialized.\")\n }\n\n const action = step.execution.actions.find((p) => p.type === type)\n\n return action\n }\n\n /**\n * Create and push a new action into the execution.\n * Caller is responsible for ensuring an action of this type does not already exist.\n * @param step The step that should contain the new action.\n * @param type Type of the action.\n * @param chainId Chain Id of the action.\n * @param status The initial status for the new action.\n * @returns The created action.\n */\n createAction = ({\n step,\n type,\n chainId,\n status,\n }: ActionProps): ExecutionAction => {\n if (!step.execution) {\n throw new Error(\"Execution hasn't been initialized.\")\n }\n\n const newAction: ExecutionAction = {\n type,\n message: getActionMessage(type, status),\n status,\n chainId,\n }\n\n step.execution.actions.push(newAction)\n this.updateStepInRoute(step)\n return newAction\n }\n\n /**\n * Find an existing action by type and update it, or create a new one if none exists.\n * @param step The step that should contain the action.\n * @param type Type of the action. Used to identify already existing actions.\n * @param chainId Chain Id of the action (used when creating).\n * @param status The status to set on the found or newly created action.\n * @returns The updated or newly created action.\n */\n initializeAction = ({\n step,\n type,\n chainId,\n status,\n }: ActionProps): ExecutionAction => {\n const action = this.findAction(step, type)\n\n if (action) {\n return this.updateAction(step, type, status, {\n error: undefined,\n })\n }\n\n return this.createAction({ step, type, chainId, status })\n }\n\n /**\n * Update an action object.\n * @param step The step where the action should be updated\n * @param type The action type to update\n * @param status The status the action gets.\n * @param [params] Additional parameters to append to the action.\n * @returns The updated action\n */\n updateAction = (\n step: LiFiStepExtended,\n type: ExecutionActionType,\n status: ExecutionActionStatus,\n params?: Partial<ExecutionAction & { signedAt?: number }>\n ): ExecutionAction => {\n if (!step.execution) {\n throw new Error(\"Can't update an empty step execution.\")\n }\n const currentAction = this.findAction(step, type)\n\n if (!currentAction) {\n throw new Error(\"Can't find an action for the given type.\")\n }\n\n switch (status) {\n case 'CANCELLED':\n break\n case 'FAILED':\n step.execution.status = 'FAILED'\n if (params?.error) {\n step.execution.error = params.error\n }\n break\n case 'DONE':\n break\n case 'PENDING':\n step.execution.status = 'PENDING'\n if (params?.signedAt) {\n step.execution.signedAt = params.signedAt\n }\n break\n case 'RESET_REQUIRED':\n case 'MESSAGE_REQUIRED':\n case 'ACTION_REQUIRED':\n step.execution.status = 'ACTION_REQUIRED'\n break\n default:\n break\n }\n\n currentAction.status = status\n currentAction.message = getActionMessage(type, status)\n // set extra parameters or overwrite the standard params set in the switch statement\n if (params) {\n const { signedAt: _signedAt, ...rest } = params\n Object.assign(currentAction, rest)\n }\n // Sort actions, the ones with DONE status go first\n step.execution.actions = [\n ...step.execution.actions.filter((action) => action.status === 'DONE'),\n ...step.execution.actions.filter((action) => action.status !== 'DONE'),\n ]\n this.updateStepInRoute(step) // updates the step in the route\n return currentAction\n }\n\n updateStepInRoute = (step: LiFiStep): LiFiStep => {\n if (!this.shouldUpdate) {\n return step\n }\n const data = executionState.get(this.routeId)\n\n if (!data) {\n throw new Error('Execution data not found.')\n }\n\n const stepIndex = data.route.steps.findIndex(\n (routeStep) => routeStep.id === step.id\n )\n\n if (stepIndex === -1) {\n throw new Error(\"Couldn't find a step to update.\")\n }\n\n data.route.steps[stepIndex] = { ...data.route.steps[stepIndex], ...step }\n\n data.executionOptions?.updateRouteHook?.(data.route)\n return data.route.steps[stepIndex]\n }\n\n allowUpdates(value: boolean): void {\n this.shouldUpdate = value\n }\n}\n"],"mappings":";;;;;;AAqBA,IAAa,gBAAb,MAA2B;CACzB;CACA,eAAuB;CAEvB,YAAY,SAAiB;EAC3B,KAAK,UAAU;CACjB;;;;;;CAOA,uBAAuB,SAAsC;EAC3D,IAAI,CAAC,KAAK,WAAW;GACnB,KAAK,YAAY;IACf,WAAW,KAAK,IAAI;IACpB,QAAQ;IACR,SAAS,CAAC;GACZ;GACA,KAAK,kBAAkB,IAAI;EAC7B;EAGA,IAAI,KAAK,UAAU,WAAW,UAAU;GACtC,KAAK,UAAU,YAAY,KAAK,IAAI;GACpC,KAAK,UAAU,SAAS;GACxB,KAAK,UAAU,WAAW,KAAA;GAC1B,KAAK,UAAU,QAAQ,KAAA;GACvB,KAAK,kBAAkB,IAAI;EAC7B;EAEA,OAAO,KAAK;CACd;;;;;;;CAQA,gBACE,MACA,WACU;EACV,IAAI,CAAC,KAAK,WACR,MAAM,MAAM,+BAA+B;EAE7C,KAAK,YAAY;GACf,GAAG,KAAK;GACR,GAAG;EACL;EACA,KAAK,kBAAkB,IAAI;EAC3B,OAAO;CACT;;;;;;;CAQA,WACE,MACA,MAC6B;EAC7B,IAAI,CAAC,KAAK,WAAW,SACnB,MAAM,IAAI,MAAM,oCAAoC;EAKtD,OAFe,KAAK,UAAU,QAAQ,MAAM,MAAM,EAAE,SAAS,IAEjD;CACd;;;;;;;;;;CAWA,gBAAgB,EACd,MACA,MACA,SACA,aACkC;EAClC,IAAI,CAAC,KAAK,WACR,MAAM,IAAI,MAAM,oCAAoC;EAGtD,MAAM,YAA6B;GACjC;GACA,SAAS,iBAAiB,MAAM,MAAM;GACtC;GACA;EACF;EAEA,KAAK,UAAU,QAAQ,KAAK,SAAS;EACrC,KAAK,kBAAkB,IAAI;EAC3B,OAAO;CACT;;;;;;;;;CAUA,oBAAoB,EAClB,MACA,MACA,SACA,aACkC;EAGlC,IAFe,KAAK,WAAW,MAAM,IAE5B,GACP,OAAO,KAAK,aAAa,MAAM,MAAM,QAAQ,EAC3C,OAAO,KAAA,EACT,CAAC;EAGH,OAAO,KAAK,aAAa;GAAE;GAAM;GAAM;GAAS;EAAO,CAAC;CAC1D;;;;;;;;;CAUA,gBACE,MACA,MACA,QACA,WACoB;EACpB,IAAI,CAAC,KAAK,WACR,MAAM,IAAI,MAAM,uCAAuC;EAEzD,MAAM,gBAAgB,KAAK,WAAW,MAAM,IAAI;EAEhD,IAAI,CAAC,eACH,MAAM,IAAI,MAAM,0CAA0C;EAG5D,QAAQ,QAAR;GACE,KAAK,aACH;GACF,KAAK;IACH,KAAK,UAAU,SAAS;IACxB,IAAI,QAAQ,OACV,KAAK,UAAU,QAAQ,OAAO;IAEhC;GACF,KAAK,QACH;GACF,KAAK;IACH,KAAK,UAAU,SAAS;IACxB,IAAI,QAAQ,UACV,KAAK,UAAU,WAAW,OAAO;IAEnC;GACF,KAAK;GACL,KAAK;GACL,KAAK;IACH,KAAK,UAAU,SAAS;IACxB;GACF,SACE;EACJ;EAEA,cAAc,SAAS;EACvB,cAAc,UAAU,iBAAiB,MAAM,MAAM;EAErD,IAAI,QAAQ;GACV,MAAM,EAAE,UAAU,WAAW,GAAG,SAAS;GACzC,OAAO,OAAO,eAAe,IAAI;EACnC;EAEA,KAAK,UAAU,UAAU,CACvB,GAAG,KAAK,UAAU,QAAQ,QAAQ,WAAW,OAAO,WAAW,MAAM,GACrE,GAAG,KAAK,UAAU,QAAQ,QAAQ,WAAW,OAAO,WAAW,MAAM,CACvE;EACA,KAAK,kBAAkB,IAAI;EAC3B,OAAO;CACT;CAEA,qBAAqB,SAA6B;EAChD,IAAI,CAAC,KAAK,cACR,OAAO;EAET,MAAM,OAAO,eAAe,IAAI,KAAK,OAAO;EAE5C,IAAI,CAAC,MACH,MAAM,IAAI,MAAM,2BAA2B;EAG7C,MAAM,YAAY,KAAK,MAAM,MAAM,WAChC,cAAc,UAAU,OAAO,KAAK,EACvC;EAEA,IAAI,cAAc,IAChB,MAAM,IAAI,MAAM,iCAAiC;EAGnD,KAAK,MAAM,MAAM,aAAa;GAAE,GAAG,KAAK,MAAM,MAAM;GAAY,GAAG;EAAK;EAExE,KAAK,kBAAkB,kBAAkB,KAAK,KAAK;EACnD,OAAO,KAAK,MAAM,MAAM;CAC1B;CAEA,aAAa,OAAsB;EACjC,KAAK,eAAe;CACtB;AACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { StepExecutorContext, TaskResult } from "../types/execution.js";
|
|
2
|
+
import { BaseStepExecutionTask } from "./BaseStepExecutionTask.js";
|
|
3
|
+
|
|
4
|
+
//#region src/core/TaskPipeline.d.ts
|
|
5
|
+
declare class TaskPipeline {
|
|
6
|
+
private readonly tasks;
|
|
7
|
+
constructor(tasks: BaseStepExecutionTask[]);
|
|
8
|
+
run(context: StepExecutorContext): Promise<TaskResult>;
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { TaskPipeline };
|
|
12
|
+
//# sourceMappingURL=TaskPipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskPipeline.d.ts","names":[],"sources":["../../../src/core/TaskPipeline.ts"],"mappings":";;;;cAGa,YAAA;EAAA,iBACM,KAAA;EAEjB,WAAA,CAAY,KAAA,EAAO,qBAAA;EAInB,GAAA,CAAU,OAAA,EAAS,mBAAA,GAAsB,OAAA,CAAQ,UAAA;AAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/core/TaskPipeline.ts
|
|
2
|
+
var TaskPipeline = class {
|
|
3
|
+
tasks;
|
|
4
|
+
constructor(tasks) {
|
|
5
|
+
this.tasks = tasks;
|
|
6
|
+
}
|
|
7
|
+
async run(context) {
|
|
8
|
+
for (const task of this.tasks) {
|
|
9
|
+
if (!await task.shouldRun(context)) continue;
|
|
10
|
+
const result = await task.run(context);
|
|
11
|
+
if (result.status === "PAUSED") return { status: "PAUSED" };
|
|
12
|
+
if (result.context && typeof result.context === "object") Object.assign(context, result.context);
|
|
13
|
+
}
|
|
14
|
+
return { status: "COMPLETED" };
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
export { TaskPipeline };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=TaskPipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskPipeline.js","names":[],"sources":["../../../src/core/TaskPipeline.ts"],"sourcesContent":["import type { StepExecutorContext, TaskResult } from '../types/execution.js'\nimport type { BaseStepExecutionTask } from './BaseStepExecutionTask.js'\n\nexport class TaskPipeline {\n private readonly tasks: BaseStepExecutionTask[]\n\n constructor(tasks: BaseStepExecutionTask[]) {\n this.tasks = tasks\n }\n\n async run(context: StepExecutorContext): Promise<TaskResult> {\n for (const task of this.tasks) {\n const shouldRun = await task.shouldRun(context)\n if (!shouldRun) {\n continue\n }\n const result = await task.run(context)\n if (result.status === 'PAUSED') {\n return { status: 'PAUSED' }\n }\n if (result.context && typeof result.context === 'object') {\n Object.assign(context, result.context)\n }\n }\n\n return { status: 'COMPLETED' }\n }\n}\n"],"mappings":";AAGA,IAAa,eAAb,MAA0B;CACxB;CAEA,YAAY,OAAgC;EAC1C,KAAK,QAAQ;CACf;CAEA,MAAM,IAAI,SAAmD;EAC3D,KAAK,MAAM,QAAQ,KAAK,OAAO;GAE7B,IAAI,CAAC,MADmB,KAAK,UAAU,OAAO,GAE5C;GAEF,MAAM,SAAS,MAAM,KAAK,IAAI,OAAO;GACrC,IAAI,OAAO,WAAW,UACpB,OAAO,EAAE,QAAQ,SAAS;GAE5B,IAAI,OAAO,WAAW,OAAO,OAAO,YAAY,UAC9C,OAAO,OAAO,SAAS,OAAO,OAAO;EAEzC;EAEA,OAAO,EAAE,QAAQ,YAAY;CAC/B;AACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ExecutionActionStatus, ExecutionActionType } from "../types/core.js";
|
|
2
|
+
import { StatusMessage, Substatus } from "@lifi/types";
|
|
3
|
+
|
|
4
|
+
//#region src/core/actionMessages.d.ts
|
|
5
|
+
declare function getActionMessage(type: ExecutionActionType, status: ExecutionActionStatus): string | undefined;
|
|
6
|
+
declare function getSubstatusMessage(status: StatusMessage, substatus?: Substatus): string | undefined;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { getActionMessage, getSubstatusMessage };
|
|
9
|
+
//# sourceMappingURL=actionMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actionMessages.d.ts","names":[],"sources":["../../../src/core/actionMessages.ts"],"mappings":";;;;iBAqFgB,gBAAA,CACd,IAAA,EAAM,mBAAA,EACN,MAAA,EAAQ,qBAAA;AAAA,iBAMM,mBAAA,CACd,MAAA,EAAQ,aAAA,EACR,SAAA,GAAY,SAAA"}
|