@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,81 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ContractCallsQuoteRequest,
|
|
3
|
+
LiFiStep,
|
|
4
|
+
RequestOptions,
|
|
5
|
+
} from '@lifi/types'
|
|
6
|
+
import {
|
|
7
|
+
isContractCallsRequestWithFromAmount,
|
|
8
|
+
isContractCallsRequestWithToAmount,
|
|
9
|
+
} from '@lifi/types'
|
|
10
|
+
import { ValidationError } from '../errors/errors.js'
|
|
11
|
+
import { SDKError } from '../errors/SDKError.js'
|
|
12
|
+
import type { SDKClient } from '../types/core.js'
|
|
13
|
+
import { request } from '../utils/request.js'
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Get a quote for a destination contract call
|
|
17
|
+
* @param client - The SDK client
|
|
18
|
+
* @param params - The configuration of the requested destination call
|
|
19
|
+
* @param options - Request options
|
|
20
|
+
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
21
|
+
* @returns - Returns step.
|
|
22
|
+
*/
|
|
23
|
+
export const getContractCallsQuote = async (
|
|
24
|
+
client: SDKClient,
|
|
25
|
+
params: ContractCallsQuoteRequest,
|
|
26
|
+
options?: RequestOptions
|
|
27
|
+
): Promise<LiFiStep> => {
|
|
28
|
+
// validation
|
|
29
|
+
const requiredParameters: Array<keyof ContractCallsQuoteRequest> = [
|
|
30
|
+
'fromChain',
|
|
31
|
+
'fromToken',
|
|
32
|
+
'fromAddress',
|
|
33
|
+
'toChain',
|
|
34
|
+
'toToken',
|
|
35
|
+
'contractCalls',
|
|
36
|
+
]
|
|
37
|
+
for (const requiredParameter of requiredParameters) {
|
|
38
|
+
if (!params[requiredParameter]) {
|
|
39
|
+
throw new SDKError(
|
|
40
|
+
new ValidationError(
|
|
41
|
+
`Required parameter "${requiredParameter}" is missing.`
|
|
42
|
+
)
|
|
43
|
+
)
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (
|
|
47
|
+
!isContractCallsRequestWithFromAmount(params) &&
|
|
48
|
+
!isContractCallsRequestWithToAmount(params)
|
|
49
|
+
) {
|
|
50
|
+
throw new SDKError(
|
|
51
|
+
new ValidationError(
|
|
52
|
+
`Required parameter "fromAmount" or "toAmount" is missing.`
|
|
53
|
+
)
|
|
54
|
+
)
|
|
55
|
+
}
|
|
56
|
+
// apply defaults
|
|
57
|
+
// option.order is not used in this endpoint
|
|
58
|
+
params.integrator ??= client.config.integrator
|
|
59
|
+
params.slippage ??= client.config.routeOptions?.slippage
|
|
60
|
+
params.referrer ??= client.config.routeOptions?.referrer
|
|
61
|
+
params.fee ??= client.config.routeOptions?.fee
|
|
62
|
+
params.allowBridges ??= client.config.routeOptions?.bridges?.allow
|
|
63
|
+
params.denyBridges ??= client.config.routeOptions?.bridges?.deny
|
|
64
|
+
params.preferBridges ??= client.config.routeOptions?.bridges?.prefer
|
|
65
|
+
params.allowExchanges ??= client.config.routeOptions?.exchanges?.allow
|
|
66
|
+
params.denyExchanges ??= client.config.routeOptions?.exchanges?.deny
|
|
67
|
+
params.preferExchanges ??= client.config.routeOptions?.exchanges?.prefer
|
|
68
|
+
// send request
|
|
69
|
+
return await request<LiFiStep>(
|
|
70
|
+
client.config,
|
|
71
|
+
`${client.config.apiUrl}/quote/contractCalls`,
|
|
72
|
+
{
|
|
73
|
+
method: 'POST',
|
|
74
|
+
headers: {
|
|
75
|
+
'Content-Type': 'application/json',
|
|
76
|
+
},
|
|
77
|
+
body: JSON.stringify(params),
|
|
78
|
+
signal: options?.signal,
|
|
79
|
+
}
|
|
80
|
+
)
|
|
81
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
GasRecommendationRequest,
|
|
3
|
+
GasRecommendationResponse,
|
|
4
|
+
RequestOptions,
|
|
5
|
+
} from '@lifi/types'
|
|
6
|
+
import { ValidationError } from '../errors/errors.js'
|
|
7
|
+
import { SDKError } from '../errors/SDKError.js'
|
|
8
|
+
import type { SDKClient } from '../types/core.js'
|
|
9
|
+
import { request } from '../utils/request.js'
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Get gas recommendation for a certain chain
|
|
13
|
+
* @param client - The SDK client
|
|
14
|
+
* @param params - Configuration of the requested gas recommendation.
|
|
15
|
+
* @param options - Request options
|
|
16
|
+
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
17
|
+
* @returns Gas recommendation response.
|
|
18
|
+
*/
|
|
19
|
+
export const getGasRecommendation = async (
|
|
20
|
+
client: SDKClient,
|
|
21
|
+
params: GasRecommendationRequest,
|
|
22
|
+
options?: RequestOptions
|
|
23
|
+
): Promise<GasRecommendationResponse> => {
|
|
24
|
+
if (!params.chainId) {
|
|
25
|
+
throw new SDKError(
|
|
26
|
+
new ValidationError('Required parameter "chainId" is missing.')
|
|
27
|
+
)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const url = new URL(
|
|
31
|
+
`${client.config.apiUrl}/gas/suggestion/${params.chainId}`
|
|
32
|
+
)
|
|
33
|
+
if (params.fromChain) {
|
|
34
|
+
url.searchParams.append('fromChain', params.fromChain as unknown as string)
|
|
35
|
+
}
|
|
36
|
+
if (params.fromToken) {
|
|
37
|
+
url.searchParams.append('fromToken', params.fromToken)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return await request<GasRecommendationResponse>(
|
|
41
|
+
client.config,
|
|
42
|
+
url.toString(),
|
|
43
|
+
{
|
|
44
|
+
signal: options?.signal,
|
|
45
|
+
}
|
|
46
|
+
)
|
|
47
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ChainType } from '@lifi/types'
|
|
2
|
+
import type { SDKClient } from '../types/core.js'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Get the address of a name service
|
|
6
|
+
* @param client - The SDK client
|
|
7
|
+
* @param name - The name to resolve
|
|
8
|
+
* @param chainType - The chain type to resolve the name on
|
|
9
|
+
* @returns The address of the name service
|
|
10
|
+
*/
|
|
11
|
+
export const getNameServiceAddress = async (
|
|
12
|
+
client: SDKClient,
|
|
13
|
+
name: string,
|
|
14
|
+
chainType?: ChainType
|
|
15
|
+
): Promise<string | undefined> => {
|
|
16
|
+
try {
|
|
17
|
+
let providers = []
|
|
18
|
+
if (chainType) {
|
|
19
|
+
providers = client.providers.filter(
|
|
20
|
+
(provider) => provider.type === chainType
|
|
21
|
+
)
|
|
22
|
+
} else {
|
|
23
|
+
providers = client.providers
|
|
24
|
+
}
|
|
25
|
+
const resolvers = providers.map((provider) => provider.resolveAddress)
|
|
26
|
+
if (!resolvers.length) {
|
|
27
|
+
return
|
|
28
|
+
}
|
|
29
|
+
const result = await Promise.any(
|
|
30
|
+
resolvers.map(async (resolve) => {
|
|
31
|
+
const address = await resolve(name, client)
|
|
32
|
+
if (!address) {
|
|
33
|
+
throw undefined
|
|
34
|
+
}
|
|
35
|
+
return address
|
|
36
|
+
})
|
|
37
|
+
)
|
|
38
|
+
return result
|
|
39
|
+
} catch (_) {
|
|
40
|
+
return
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { LiFiStep, RequestOptions } from '@lifi/types'
|
|
2
|
+
import { ValidationError } from '../errors/errors.js'
|
|
3
|
+
import { SDKError } from '../errors/SDKError.js'
|
|
4
|
+
import type {
|
|
5
|
+
QuoteRequest,
|
|
6
|
+
QuoteRequestFromAmount,
|
|
7
|
+
QuoteRequestToAmount,
|
|
8
|
+
} from '../types/actions.js'
|
|
9
|
+
import type { SDKClient } from '../types/core.js'
|
|
10
|
+
import { request } from '../utils/request.js'
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Get a quote for a token transfer
|
|
14
|
+
* @param client - The SDK client
|
|
15
|
+
* @param params - The configuration of the requested quote
|
|
16
|
+
* @param options - Request options
|
|
17
|
+
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
18
|
+
* @returns Quote for a token transfer
|
|
19
|
+
*/
|
|
20
|
+
export async function getQuote(
|
|
21
|
+
client: SDKClient,
|
|
22
|
+
params: QuoteRequestFromAmount,
|
|
23
|
+
options?: RequestOptions
|
|
24
|
+
): Promise<LiFiStep>
|
|
25
|
+
export async function getQuote(
|
|
26
|
+
client: SDKClient,
|
|
27
|
+
params: QuoteRequestToAmount,
|
|
28
|
+
options?: RequestOptions
|
|
29
|
+
): Promise<LiFiStep>
|
|
30
|
+
export async function getQuote(
|
|
31
|
+
client: SDKClient,
|
|
32
|
+
params: QuoteRequest,
|
|
33
|
+
options?: RequestOptions
|
|
34
|
+
): Promise<LiFiStep> {
|
|
35
|
+
const requiredParameters: Array<keyof QuoteRequest> = [
|
|
36
|
+
'fromChain',
|
|
37
|
+
'fromToken',
|
|
38
|
+
'fromAddress',
|
|
39
|
+
'toChain',
|
|
40
|
+
'toToken',
|
|
41
|
+
]
|
|
42
|
+
|
|
43
|
+
for (const requiredParameter of requiredParameters) {
|
|
44
|
+
if (!params[requiredParameter]) {
|
|
45
|
+
throw new SDKError(
|
|
46
|
+
new ValidationError(
|
|
47
|
+
`Required parameter "${requiredParameter}" is missing.`
|
|
48
|
+
)
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
const isFromAmountRequest =
|
|
54
|
+
'fromAmount' in params && params.fromAmount !== undefined
|
|
55
|
+
const isToAmountRequest =
|
|
56
|
+
'toAmount' in params && params.toAmount !== undefined
|
|
57
|
+
|
|
58
|
+
if (!isFromAmountRequest && !isToAmountRequest) {
|
|
59
|
+
throw new SDKError(
|
|
60
|
+
new ValidationError(
|
|
61
|
+
'Required parameter "fromAmount" or "toAmount" is missing.'
|
|
62
|
+
)
|
|
63
|
+
)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (isFromAmountRequest && isToAmountRequest) {
|
|
67
|
+
throw new SDKError(
|
|
68
|
+
new ValidationError(
|
|
69
|
+
'Cannot provide both "fromAmount" and "toAmount" parameters.'
|
|
70
|
+
)
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// apply defaults
|
|
75
|
+
params.integrator ??= client.config.integrator
|
|
76
|
+
params.order ??= client.config.routeOptions?.order
|
|
77
|
+
params.slippage ??= client.config.routeOptions?.slippage
|
|
78
|
+
params.referrer ??= client.config.routeOptions?.referrer
|
|
79
|
+
params.fee ??= client.config.routeOptions?.fee
|
|
80
|
+
params.allowBridges ??= client.config.routeOptions?.bridges?.allow
|
|
81
|
+
params.denyBridges ??= client.config.routeOptions?.bridges?.deny
|
|
82
|
+
params.preferBridges ??= client.config.routeOptions?.bridges?.prefer
|
|
83
|
+
params.allowExchanges ??= client.config.routeOptions?.exchanges?.allow
|
|
84
|
+
params.denyExchanges ??= client.config.routeOptions?.exchanges?.deny
|
|
85
|
+
params.preferExchanges ??= client.config.routeOptions?.exchanges?.prefer
|
|
86
|
+
|
|
87
|
+
for (const key of Object.keys(params)) {
|
|
88
|
+
if (
|
|
89
|
+
params[key as keyof QuoteRequest] === undefined ||
|
|
90
|
+
params[key as keyof QuoteRequest] === null
|
|
91
|
+
) {
|
|
92
|
+
delete params[key as keyof QuoteRequest]
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return await request<LiFiStep>(
|
|
97
|
+
client.config,
|
|
98
|
+
`${client.config.apiUrl}/${isFromAmountRequest ? 'quote' : 'quote/toAmount'}?${new URLSearchParams(
|
|
99
|
+
params as unknown as Record<string, string>
|
|
100
|
+
)}`,
|
|
101
|
+
{
|
|
102
|
+
signal: options?.signal,
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
RelayStatusRequest,
|
|
3
|
+
RelayStatusResponse,
|
|
4
|
+
RelayStatusResponseData,
|
|
5
|
+
RequestOptions,
|
|
6
|
+
} from '@lifi/types'
|
|
7
|
+
import { BaseError } from '../errors/baseError.js'
|
|
8
|
+
import { ErrorName } from '../errors/constants.js'
|
|
9
|
+
import { ValidationError } from '../errors/errors.js'
|
|
10
|
+
import { SDKError } from '../errors/SDKError.js'
|
|
11
|
+
import type { SDKClient } from '../types/core.js'
|
|
12
|
+
import { decodeTaskId } from '../utils/decode.js'
|
|
13
|
+
import { request } from '../utils/request.js'
|
|
14
|
+
import { getStatus } from './getStatus.js'
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Get the status of a relayed transaction
|
|
18
|
+
* @param client - The SDK client
|
|
19
|
+
* @param params - Parameters for the relay status request
|
|
20
|
+
* @param options - Request options
|
|
21
|
+
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
22
|
+
* @returns Status of the relayed transaction
|
|
23
|
+
*/
|
|
24
|
+
export const getRelayedTransactionStatus = async (
|
|
25
|
+
client: SDKClient,
|
|
26
|
+
params: RelayStatusRequest,
|
|
27
|
+
options?: RequestOptions
|
|
28
|
+
): Promise<RelayStatusResponseData> => {
|
|
29
|
+
if (!params.taskId) {
|
|
30
|
+
throw new SDKError(
|
|
31
|
+
new ValidationError('Required parameter "taskId" is missing.')
|
|
32
|
+
)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const { taskId, ...otherParams } = params
|
|
36
|
+
const queryParams = new URLSearchParams(
|
|
37
|
+
otherParams as unknown as Record<string, string>
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
const decodedTaskId = decodeTaskId(taskId)
|
|
41
|
+
// Temporary solution during the transition between status endpoints
|
|
42
|
+
if (decodedTaskId.length >= 3) {
|
|
43
|
+
return (await getStatus(
|
|
44
|
+
client,
|
|
45
|
+
params,
|
|
46
|
+
options
|
|
47
|
+
)) as unknown as RelayStatusResponseData
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const result = await request<RelayStatusResponse>(
|
|
51
|
+
client.config,
|
|
52
|
+
`${client.config.apiUrl}/relayer/status/${taskId}?${queryParams}`,
|
|
53
|
+
{
|
|
54
|
+
signal: options?.signal,
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
if (result.status === 'error') {
|
|
59
|
+
throw new BaseError(
|
|
60
|
+
ErrorName.ServerError,
|
|
61
|
+
result.data.code,
|
|
62
|
+
result.data.message
|
|
63
|
+
)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return result.data
|
|
67
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
LiFiStep,
|
|
3
|
+
RelayerQuoteResponse,
|
|
4
|
+
RequestOptions,
|
|
5
|
+
} from '@lifi/types'
|
|
6
|
+
import { BaseError } from '../errors/baseError.js'
|
|
7
|
+
import { ErrorName } from '../errors/constants.js'
|
|
8
|
+
import { ValidationError } from '../errors/errors.js'
|
|
9
|
+
import { SDKError } from '../errors/SDKError.js'
|
|
10
|
+
import type { QuoteRequest, QuoteRequestFromAmount } from '../types/actions.js'
|
|
11
|
+
import type { SDKClient } from '../types/core.js'
|
|
12
|
+
import { request } from '../utils/request.js'
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Get a relayer quote for a token transfer
|
|
16
|
+
* @param client - The SDK client
|
|
17
|
+
* @param params - The configuration of the requested quote
|
|
18
|
+
* @param options - Request options
|
|
19
|
+
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
20
|
+
* @returns Relayer quote for a token transfer
|
|
21
|
+
*/
|
|
22
|
+
export const getRelayerQuote = async (
|
|
23
|
+
client: SDKClient,
|
|
24
|
+
params: QuoteRequestFromAmount,
|
|
25
|
+
options?: RequestOptions
|
|
26
|
+
): Promise<LiFiStep> => {
|
|
27
|
+
const requiredParameters: Array<keyof QuoteRequestFromAmount> = [
|
|
28
|
+
'fromChain',
|
|
29
|
+
'fromToken',
|
|
30
|
+
'fromAddress',
|
|
31
|
+
'fromAmount',
|
|
32
|
+
'toChain',
|
|
33
|
+
'toToken',
|
|
34
|
+
]
|
|
35
|
+
for (const requiredParameter of requiredParameters) {
|
|
36
|
+
if (!params[requiredParameter]) {
|
|
37
|
+
throw new SDKError(
|
|
38
|
+
new ValidationError(
|
|
39
|
+
`Required parameter "${requiredParameter}" is missing.`
|
|
40
|
+
)
|
|
41
|
+
)
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// apply defaults
|
|
46
|
+
params.integrator ??= client.config.integrator
|
|
47
|
+
params.order ??= client.config.routeOptions?.order
|
|
48
|
+
params.slippage ??= client.config.routeOptions?.slippage
|
|
49
|
+
params.referrer ??= client.config.routeOptions?.referrer
|
|
50
|
+
params.fee ??= client.config.routeOptions?.fee
|
|
51
|
+
params.allowBridges ??= client.config.routeOptions?.bridges?.allow
|
|
52
|
+
params.denyBridges ??= client.config.routeOptions?.bridges?.deny
|
|
53
|
+
params.preferBridges ??= client.config.routeOptions?.bridges?.prefer
|
|
54
|
+
params.allowExchanges ??= client.config.routeOptions?.exchanges?.allow
|
|
55
|
+
params.denyExchanges ??= client.config.routeOptions?.exchanges?.deny
|
|
56
|
+
params.preferExchanges ??= client.config.routeOptions?.exchanges?.prefer
|
|
57
|
+
|
|
58
|
+
for (const key of Object.keys(params)) {
|
|
59
|
+
if (
|
|
60
|
+
params[key as keyof QuoteRequest] === undefined ||
|
|
61
|
+
params[key as keyof QuoteRequest] === null
|
|
62
|
+
) {
|
|
63
|
+
delete params[key as keyof QuoteRequest]
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const result = await request<RelayerQuoteResponse>(
|
|
68
|
+
client.config,
|
|
69
|
+
`${client.config.apiUrl}/relayer/quote?${new URLSearchParams(
|
|
70
|
+
params as unknown as Record<string, string>
|
|
71
|
+
)}`,
|
|
72
|
+
{
|
|
73
|
+
signal: options?.signal,
|
|
74
|
+
}
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
if (result.status === 'error') {
|
|
78
|
+
throw new BaseError(
|
|
79
|
+
ErrorName.ServerError,
|
|
80
|
+
result.data.code,
|
|
81
|
+
result.data.message
|
|
82
|
+
)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return result.data
|
|
86
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { RequestOptions, RoutesRequest, RoutesResponse } from '@lifi/types'
|
|
2
|
+
import { ValidationError } from '../errors/errors.js'
|
|
3
|
+
import { SDKError } from '../errors/SDKError.js'
|
|
4
|
+
import type { SDKClient } from '../types/core.js'
|
|
5
|
+
import { isRoutesRequest } from '../utils/isRoutesRequest.js'
|
|
6
|
+
import { request } from '../utils/request.js'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Get a set of routes for a request that describes a transfer of tokens.
|
|
10
|
+
* @param client - The SDK client.
|
|
11
|
+
* @param params - A description of the transfer.
|
|
12
|
+
* @param options - Request options
|
|
13
|
+
* @returns The resulting routes that can be used to realize the described transfer of tokens.
|
|
14
|
+
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
15
|
+
*/
|
|
16
|
+
export const getRoutes = async (
|
|
17
|
+
client: SDKClient,
|
|
18
|
+
params: RoutesRequest,
|
|
19
|
+
options?: RequestOptions
|
|
20
|
+
): Promise<RoutesResponse> => {
|
|
21
|
+
if (!isRoutesRequest(params)) {
|
|
22
|
+
throw new SDKError(new ValidationError('Invalid routes request.'))
|
|
23
|
+
}
|
|
24
|
+
// apply defaults
|
|
25
|
+
params.options = {
|
|
26
|
+
integrator: client.config.integrator,
|
|
27
|
+
...client.config.routeOptions,
|
|
28
|
+
...params.options,
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return await request<RoutesResponse>(
|
|
32
|
+
client.config,
|
|
33
|
+
`${client.config.apiUrl}/advanced/routes`,
|
|
34
|
+
{
|
|
35
|
+
method: 'POST',
|
|
36
|
+
headers: {
|
|
37
|
+
'Content-Type': 'application/json',
|
|
38
|
+
},
|
|
39
|
+
body: JSON.stringify(params),
|
|
40
|
+
signal: options?.signal,
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { RequestOptions, StatusResponse } from '@lifi/types'
|
|
2
|
+
import { ValidationError } from '../errors/errors.js'
|
|
3
|
+
import { SDKError } from '../errors/SDKError.js'
|
|
4
|
+
import type { GetStatusRequestExtended } from '../types/actions.js'
|
|
5
|
+
import type { SDKClient } from '../types/core.js'
|
|
6
|
+
import { request } from '../utils/request.js'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Check the status of a transfer. For cross chain transfers, the "bridge" parameter is required.
|
|
10
|
+
* @param client - The SDK client
|
|
11
|
+
* @param params - Configuration of the requested status
|
|
12
|
+
* @param options - Request options.
|
|
13
|
+
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
14
|
+
* @returns Returns status response.
|
|
15
|
+
*/
|
|
16
|
+
export const getStatus = async (
|
|
17
|
+
client: SDKClient,
|
|
18
|
+
params: GetStatusRequestExtended,
|
|
19
|
+
options?: RequestOptions
|
|
20
|
+
): Promise<StatusResponse> => {
|
|
21
|
+
if (
|
|
22
|
+
!('taskId' in params && params.taskId) &&
|
|
23
|
+
!('txHash' in params && params.txHash)
|
|
24
|
+
) {
|
|
25
|
+
throw new SDKError(
|
|
26
|
+
new ValidationError(
|
|
27
|
+
'Either "taskId" or "txHash" must be provided and non-empty.'
|
|
28
|
+
)
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
const queryParams = new URLSearchParams(
|
|
32
|
+
params as unknown as Record<string, string>
|
|
33
|
+
)
|
|
34
|
+
return await request<StatusResponse>(
|
|
35
|
+
client.config,
|
|
36
|
+
`${client.config.apiUrl}/status?${queryParams}`,
|
|
37
|
+
{
|
|
38
|
+
signal: options?.signal,
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { LiFiStep, RequestOptions, SignedLiFiStep } from '@lifi/types'
|
|
2
|
+
import { ChainId } from '@lifi/types'
|
|
3
|
+
import type { SDKClient } from '../types/core.js'
|
|
4
|
+
import { isStep } from '../utils/isStep.js'
|
|
5
|
+
import { request } from '../utils/request.js'
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Get the transaction data for a single step of a route
|
|
9
|
+
* @param client - The SDK client
|
|
10
|
+
* @param step - The step object.
|
|
11
|
+
* @param options - Request options
|
|
12
|
+
* @returns The step populated with the transaction data.
|
|
13
|
+
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
14
|
+
*/
|
|
15
|
+
export const getStepTransaction = async (
|
|
16
|
+
client: SDKClient,
|
|
17
|
+
step: LiFiStep | SignedLiFiStep,
|
|
18
|
+
options?: RequestOptions
|
|
19
|
+
): Promise<LiFiStep> => {
|
|
20
|
+
if (!isStep(step)) {
|
|
21
|
+
// While the validation fails for some users we should not enforce it
|
|
22
|
+
console.warn('SDK Validation: Invalid Step', step)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const { config } = client
|
|
26
|
+
|
|
27
|
+
let requestUrl = `${config.apiUrl}/advanced/stepTransaction`
|
|
28
|
+
const jitoBundle = config.routeOptions?.jitoBundle
|
|
29
|
+
const svmSponsor = config.routeOptions?.svmSponsor
|
|
30
|
+
|
|
31
|
+
if (step.action.fromChainId === ChainId.SOL) {
|
|
32
|
+
const queryParams = new URLSearchParams()
|
|
33
|
+
if (jitoBundle) {
|
|
34
|
+
queryParams.set('jitoBundle', jitoBundle.toString())
|
|
35
|
+
}
|
|
36
|
+
if (svmSponsor) {
|
|
37
|
+
queryParams.set('svmSponsor', svmSponsor)
|
|
38
|
+
}
|
|
39
|
+
if (queryParams.size > 0) {
|
|
40
|
+
requestUrl = `${requestUrl}?${queryParams}`
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return await request<LiFiStep>(config, requestUrl, {
|
|
45
|
+
method: 'POST',
|
|
46
|
+
headers: {
|
|
47
|
+
'Content-Type': 'application/json',
|
|
48
|
+
},
|
|
49
|
+
body: JSON.stringify(step),
|
|
50
|
+
signal: options?.signal,
|
|
51
|
+
})
|
|
52
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ChainId,
|
|
3
|
+
ChainKey,
|
|
4
|
+
RequestOptions,
|
|
5
|
+
TokenExtended,
|
|
6
|
+
} from '@lifi/types'
|
|
7
|
+
import { ValidationError } from '../errors/errors.js'
|
|
8
|
+
import { SDKError } from '../errors/SDKError.js'
|
|
9
|
+
import type { SDKClient } from '../types/core.js'
|
|
10
|
+
import { request } from '../utils/request.js'
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Fetch information about a Token
|
|
14
|
+
* @param client - The SDK client
|
|
15
|
+
* @param chain - Id or key of the chain that contains the token
|
|
16
|
+
* @param token - Address or symbol of the token on the requested chain
|
|
17
|
+
* @param options - Request options
|
|
18
|
+
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
19
|
+
* @returns Token information
|
|
20
|
+
*/
|
|
21
|
+
export const getToken = async (
|
|
22
|
+
client: SDKClient,
|
|
23
|
+
chain: ChainKey | ChainId,
|
|
24
|
+
token: string,
|
|
25
|
+
options?: RequestOptions
|
|
26
|
+
): Promise<TokenExtended> => {
|
|
27
|
+
if (!chain) {
|
|
28
|
+
throw new SDKError(
|
|
29
|
+
new ValidationError('Required parameter "chain" is missing.')
|
|
30
|
+
)
|
|
31
|
+
}
|
|
32
|
+
if (!token) {
|
|
33
|
+
throw new SDKError(
|
|
34
|
+
new ValidationError('Required parameter "token" is missing.')
|
|
35
|
+
)
|
|
36
|
+
}
|
|
37
|
+
return await request<TokenExtended>(
|
|
38
|
+
client.config,
|
|
39
|
+
`${client.config.apiUrl}/token?${new URLSearchParams({
|
|
40
|
+
chain,
|
|
41
|
+
token,
|
|
42
|
+
} as Record<string, string>)}`,
|
|
43
|
+
{
|
|
44
|
+
signal: options?.signal,
|
|
45
|
+
}
|
|
46
|
+
)
|
|
47
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Token, TokenAmount } from '@lifi/types'
|
|
2
|
+
import type { SDKClient } from '../types/core.js'
|
|
3
|
+
import { getTokenBalances } from './getTokenBalances.js'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Returns the balances of a specific token a wallet holds across all aggregated chains.
|
|
7
|
+
* @param client - The SDK client.
|
|
8
|
+
* @param walletAddress - A wallet address.
|
|
9
|
+
* @param token - A Token object.
|
|
10
|
+
* @returns An object containing the token and the amounts on different chains.
|
|
11
|
+
* @throws {ValidationError} Throws a ValidationError if validation fails.
|
|
12
|
+
* @throws {Error} Throws an Error if the SDK Provider for the wallet address is not found.
|
|
13
|
+
*/
|
|
14
|
+
export const getTokenBalance = async (
|
|
15
|
+
client: SDKClient,
|
|
16
|
+
walletAddress: string,
|
|
17
|
+
token: Token
|
|
18
|
+
): Promise<TokenAmount | null> => {
|
|
19
|
+
const tokenAmounts = await getTokenBalances(client, walletAddress, [token])
|
|
20
|
+
return tokenAmounts.length ? tokenAmounts[0] : null
|
|
21
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
Token,
|
|
3
|
+
TokenAmount,
|
|
4
|
+
TokenAmountExtended,
|
|
5
|
+
TokenExtended,
|
|
6
|
+
} from '@lifi/types'
|
|
7
|
+
import type { SDKClient } from '../types/core.js'
|
|
8
|
+
import { getTokenBalancesByChain } from './getTokenBalancesByChain.js'
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Returns the balances for a list tokens a wallet holds across all aggregated chains.
|
|
12
|
+
* @param client - The SDK client.
|
|
13
|
+
* @param walletAddress - A wallet address.
|
|
14
|
+
* @param tokens - A list of Token (or TokenExtended) objects.
|
|
15
|
+
* @returns A list of objects containing the tokens and the amounts on different chains.
|
|
16
|
+
* @throws {ValidationError} Throws a ValidationError if validation fails.
|
|
17
|
+
* @throws {Error} Throws an Error if the SDK Provider for the wallet address is not found.
|
|
18
|
+
*/
|
|
19
|
+
export async function getTokenBalances(
|
|
20
|
+
client: SDKClient,
|
|
21
|
+
walletAddress: string,
|
|
22
|
+
tokens: Token[]
|
|
23
|
+
): Promise<TokenAmount[]>
|
|
24
|
+
export async function getTokenBalances(
|
|
25
|
+
client: SDKClient,
|
|
26
|
+
walletAddress: string,
|
|
27
|
+
tokens: TokenExtended[]
|
|
28
|
+
): Promise<TokenAmountExtended[]> {
|
|
29
|
+
// split by chain
|
|
30
|
+
const tokensByChain = tokens.reduce(
|
|
31
|
+
(tokens, token) => {
|
|
32
|
+
if (!tokens[token.chainId]) {
|
|
33
|
+
tokens[token.chainId] = []
|
|
34
|
+
}
|
|
35
|
+
tokens[token.chainId].push(token)
|
|
36
|
+
return tokens
|
|
37
|
+
},
|
|
38
|
+
{} as { [chainId: number]: Token[] | TokenExtended[] }
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
const tokenAmountsByChain = await getTokenBalancesByChain(
|
|
42
|
+
client,
|
|
43
|
+
walletAddress,
|
|
44
|
+
tokensByChain
|
|
45
|
+
)
|
|
46
|
+
return Object.values(tokenAmountsByChain).flat()
|
|
47
|
+
}
|