@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":"isStep.js","names":[],"sources":["../../../src/utils/isStep.ts"],"sourcesContent":["import type { Action, Estimate, LiFiStep } from '@lifi/types'\nimport { isToken } from './isToken.js'\n\nconst isAction = (action: Action): action is Action => {\n const { fromChainId, fromAmount, fromToken, toChainId, toToken } = action\n\n return (\n typeof fromChainId === 'number' &&\n typeof fromAmount === 'string' &&\n fromAmount !== '' &&\n isToken(fromToken) &&\n typeof toChainId === 'number' &&\n isToken(toToken)\n )\n}\n\nconst isEstimate = (estimate: Estimate): estimate is Estimate => {\n const { fromAmount, toAmount, toAmountMin, approvalAddress } = estimate\n\n return (\n typeof fromAmount === 'string' &&\n fromAmount !== '' &&\n typeof toAmount === 'string' &&\n toAmount !== '' &&\n typeof toAmountMin === 'string' &&\n toAmountMin !== '' &&\n (typeof approvalAddress === 'string' || approvalAddress === null)\n )\n}\n\nexport const isStep = (step: LiFiStep): step is LiFiStep => {\n const { id, type, tool, action, estimate } = step\n\n return (\n typeof id === 'string' &&\n ['swap', 'cross', 'lifi'].includes(type) &&\n typeof tool === 'string' &&\n isAction(action) &&\n isEstimate(estimate)\n )\n}\n"],"mappings":";;AAGA,MAAM,YAAY,WAAqC;CACrD,MAAM,EAAE,aAAa,YAAY,WAAW,WAAW,YAAY;CAEnE,OACE,OAAO,gBAAgB,YACvB,OAAO,eAAe,YACtB,eAAe,MACf,QAAQ,SAAS,KACjB,OAAO,cAAc,YACrB,QAAQ,OAAO;AAEnB;AAEA,MAAM,cAAc,aAA6C;CAC/D,MAAM,EAAE,YAAY,UAAU,aAAa,oBAAoB;CAE/D,OACE,OAAO,eAAe,YACtB,eAAe,MACf,OAAO,aAAa,YACpB,aAAa,MACb,OAAO,gBAAgB,YACvB,gBAAgB,OACf,OAAO,oBAAoB,YAAY,oBAAoB;AAEhE;AAEA,MAAa,UAAU,SAAqC;CAC1D,MAAM,EAAE,IAAI,MAAM,MAAM,QAAQ,aAAa;CAE7C,OACE,OAAO,OAAO,YACd;EAAC;EAAQ;EAAS;CAAM,EAAE,SAAS,IAAI,KACvC,OAAO,SAAS,YAChB,SAAS,MAAM,KACf,WAAW,QAAQ;AAEvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isToken.d.ts","names":[],"sources":["../../../src/utils/isToken.ts"],"mappings":";;;cAEa,OAAA,GAAW,KAAA,EAAO,WAAA,KAAc,KAAA,IAAS,WAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/utils/isToken.ts
|
|
2
|
+
const isToken = (token) => {
|
|
3
|
+
const { address, decimals, chainId } = token;
|
|
4
|
+
return typeof address === "string" && typeof decimals === "number" && typeof chainId === "number";
|
|
5
|
+
};
|
|
6
|
+
//#endregion
|
|
7
|
+
export { isToken };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=isToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isToken.js","names":[],"sources":["../../../src/utils/isToken.ts"],"sourcesContent":["import type { StaticToken } from '@lifi/types'\n\nexport const isToken = (token: StaticToken): token is StaticToken => {\n const { address, decimals, chainId } = token\n\n return (\n typeof address === 'string' &&\n typeof decimals === 'number' &&\n typeof chainId === 'number'\n )\n}\n"],"mappings":";AAEA,MAAa,WAAW,UAA6C;CACnE,MAAM,EAAE,SAAS,UAAU,YAAY;CAEvC,OACE,OAAO,YAAY,YACnB,OAAO,aAAa,YACpB,OAAO,YAAY;AAEvB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/utils/parseUnits.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Multiplies a string representation of a number by a given exponent of base 10 (10exponent).
|
|
4
|
+
*/
|
|
5
|
+
declare function parseUnits(value: string, decimals: number): bigint;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { parseUnits };
|
|
8
|
+
//# sourceMappingURL=parseUnits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseUnits.d.ts","names":[],"sources":["../../../src/utils/parseUnits.ts"],"mappings":";;AAGA;;iBAAgB,UAAA,CAAW,KAAA,UAAe,QAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region src/utils/parseUnits.ts
|
|
2
|
+
/**
|
|
3
|
+
* Multiplies a string representation of a number by a given exponent of base 10 (10exponent).
|
|
4
|
+
*/
|
|
5
|
+
function parseUnits(value, decimals) {
|
|
6
|
+
if (!/^(-?)([0-9]*)\.?([0-9]*)$/.test(value)) throw new Error(`Number \`${value}\` is not a valid decimal number.`);
|
|
7
|
+
let [integer, fraction = "0"] = value.split(".");
|
|
8
|
+
const negative = integer.startsWith("-");
|
|
9
|
+
if (negative) integer = integer.slice(1);
|
|
10
|
+
fraction = fraction.replace(/(0+)$/, "");
|
|
11
|
+
if (decimals === 0) {
|
|
12
|
+
if (Math.round(Number(`.${fraction}`)) === 1) integer = `${BigInt(integer) + 1n}`;
|
|
13
|
+
fraction = "";
|
|
14
|
+
} else if (fraction.length > decimals) {
|
|
15
|
+
const [left, unit, right] = [
|
|
16
|
+
fraction.slice(0, decimals - 1),
|
|
17
|
+
fraction.slice(decimals - 1, decimals),
|
|
18
|
+
fraction.slice(decimals)
|
|
19
|
+
];
|
|
20
|
+
const rounded = Math.round(Number(`${unit}.${right}`));
|
|
21
|
+
if (rounded > 9) fraction = `${BigInt(left) + BigInt(1)}0`.padStart(left.length + 1, "0");
|
|
22
|
+
else fraction = `${left}${rounded}`;
|
|
23
|
+
if (fraction.length > decimals) {
|
|
24
|
+
fraction = fraction.slice(1);
|
|
25
|
+
integer = `${BigInt(integer) + 1n}`;
|
|
26
|
+
}
|
|
27
|
+
fraction = fraction.slice(0, decimals);
|
|
28
|
+
} else fraction = fraction.padEnd(decimals, "0");
|
|
29
|
+
return BigInt(`${negative ? "-" : ""}${integer}${fraction}`);
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { parseUnits };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=parseUnits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseUnits.js","names":[],"sources":["../../../src/utils/parseUnits.ts"],"sourcesContent":["/**\n * Multiplies a string representation of a number by a given exponent of base 10 (10exponent).\n */\nexport function parseUnits(value: string, decimals: number): bigint {\n if (!/^(-?)([0-9]*)\\.?([0-9]*)$/.test(value)) {\n throw new Error(`Number \\`${value}\\` is not a valid decimal number.`)\n }\n\n let [integer, fraction = '0'] = value.split('.')\n\n const negative = integer.startsWith('-')\n if (negative) {\n integer = integer.slice(1)\n }\n\n // trim trailing zeros.\n fraction = fraction.replace(/(0+)$/, '')\n\n // round off if the fraction is larger than the number of decimals.\n if (decimals === 0) {\n if (Math.round(Number(`.${fraction}`)) === 1) {\n integer = `${BigInt(integer) + 1n}`\n }\n fraction = ''\n } else if (fraction.length > decimals) {\n const [left, unit, right] = [\n fraction.slice(0, decimals - 1),\n fraction.slice(decimals - 1, decimals),\n fraction.slice(decimals),\n ]\n\n const rounded = Math.round(Number(`${unit}.${right}`))\n if (rounded > 9) {\n fraction = `${BigInt(left) + BigInt(1)}0`.padStart(left.length + 1, '0')\n } else {\n fraction = `${left}${rounded}`\n }\n\n if (fraction.length > decimals) {\n fraction = fraction.slice(1)\n integer = `${BigInt(integer) + 1n}`\n }\n\n fraction = fraction.slice(0, decimals)\n } else {\n fraction = fraction.padEnd(decimals, '0')\n }\n\n return BigInt(`${negative ? '-' : ''}${integer}${fraction}`)\n}\n"],"mappings":";;;;AAGA,SAAgB,WAAW,OAAe,UAA0B;CAClE,IAAI,CAAC,4BAA4B,KAAK,KAAK,GACzC,MAAM,IAAI,MAAM,YAAY,MAAM,kCAAkC;CAGtE,IAAI,CAAC,SAAS,WAAW,OAAO,MAAM,MAAM,GAAG;CAE/C,MAAM,WAAW,QAAQ,WAAW,GAAG;CACvC,IAAI,UACF,UAAU,QAAQ,MAAM,CAAC;CAI3B,WAAW,SAAS,QAAQ,SAAS,EAAE;CAGvC,IAAI,aAAa,GAAG;EAClB,IAAI,KAAK,MAAM,OAAO,IAAI,UAAU,CAAC,MAAM,GACzC,UAAU,GAAG,OAAO,OAAO,IAAI;EAEjC,WAAW;CACb,OAAO,IAAI,SAAS,SAAS,UAAU;EACrC,MAAM,CAAC,MAAM,MAAM,SAAS;GAC1B,SAAS,MAAM,GAAG,WAAW,CAAC;GAC9B,SAAS,MAAM,WAAW,GAAG,QAAQ;GACrC,SAAS,MAAM,QAAQ;EACzB;EAEA,MAAM,UAAU,KAAK,MAAM,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;EACrD,IAAI,UAAU,GACZ,WAAW,GAAG,OAAO,IAAI,IAAI,OAAO,CAAC,EAAE,GAAG,SAAS,KAAK,SAAS,GAAG,GAAG;OAEvE,WAAW,GAAG,OAAO;EAGvB,IAAI,SAAS,SAAS,UAAU;GAC9B,WAAW,SAAS,MAAM,CAAC;GAC3B,UAAU,GAAG,OAAO,OAAO,IAAI;EACjC;EAEA,WAAW,SAAS,MAAM,GAAG,QAAQ;CACvC,OACE,WAAW,SAAS,OAAO,UAAU,GAAG;CAG1C,OAAO,OAAO,GAAG,WAAW,MAAM,KAAK,UAAU,UAAU;AAC7D"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ExtendedRequestInit } from "../types/request.js";
|
|
2
|
+
import { SDKBaseConfig } from "../types/core.js";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/request.d.ts
|
|
5
|
+
declare const requestSettings: {
|
|
6
|
+
retries: number;
|
|
7
|
+
};
|
|
8
|
+
declare const request: <T = Response>(config: SDKBaseConfig, url: RequestInfo | URL, options?: ExtendedRequestInit) => Promise<T>;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { request, requestSettings };
|
|
11
|
+
//# sourceMappingURL=request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.d.ts","names":[],"sources":["../../../src/utils/request.ts"],"mappings":";;;;cAQa,eAAA;EACX,OAAA;AAAA;AAAA,cAUW,OAAA,OAAqB,QAAA,EAChC,MAAA,EAAQ,aAAA,EACR,GAAA,EAAK,WAAA,GAAc,GAAA,EACnB,OAAA,GAAS,mBAAA,KAGR,OAAA,CAAQ,CAAA"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ValidationError } from "../errors/errors.js";
|
|
2
|
+
import { HTTPError } from "../errors/httpError.js";
|
|
3
|
+
import { version } from "../version.js";
|
|
4
|
+
import { SDKError } from "../errors/SDKError.js";
|
|
5
|
+
import { sleep } from "./sleep.js";
|
|
6
|
+
//#region src/utils/request.ts
|
|
7
|
+
const requestSettings = { retries: 1 };
|
|
8
|
+
const stripExtendRequestInitProperties = ({ retries, ...rest }) => ({ ...rest });
|
|
9
|
+
const request = async (config, url, options = { retries: requestSettings.retries }) => {
|
|
10
|
+
const { userId, integrator, widgetVersion, apiKey, requestInterceptor } = config;
|
|
11
|
+
if (!integrator) throw new SDKError(new ValidationError("You need to provide the Integrator property. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk"));
|
|
12
|
+
options.retries = options.retries ?? requestSettings.retries;
|
|
13
|
+
try {
|
|
14
|
+
if (apiKey) options.headers = {
|
|
15
|
+
...options.headers,
|
|
16
|
+
"x-lifi-api-key": apiKey
|
|
17
|
+
};
|
|
18
|
+
if (userId) options.headers = {
|
|
19
|
+
...options.headers,
|
|
20
|
+
"x-lifi-userid": userId
|
|
21
|
+
};
|
|
22
|
+
if (widgetVersion) options.headers = {
|
|
23
|
+
...options.headers,
|
|
24
|
+
"x-lifi-widget": widgetVersion
|
|
25
|
+
};
|
|
26
|
+
options.headers = {
|
|
27
|
+
...options.headers,
|
|
28
|
+
"x-lifi-sdk": version
|
|
29
|
+
};
|
|
30
|
+
options.headers = {
|
|
31
|
+
...options.headers,
|
|
32
|
+
"x-lifi-integrator": integrator
|
|
33
|
+
};
|
|
34
|
+
if (requestInterceptor) options = await requestInterceptor(options);
|
|
35
|
+
const response = await fetch(url, stripExtendRequestInitProperties(options));
|
|
36
|
+
if (!response.ok) throw new HTTPError(response, url, options);
|
|
37
|
+
return await response.json();
|
|
38
|
+
} catch (error) {
|
|
39
|
+
const retries = options.retries ?? 0;
|
|
40
|
+
if (retries > 0 && error.status === 500) {
|
|
41
|
+
await sleep(500);
|
|
42
|
+
return request(config, url, {
|
|
43
|
+
...options,
|
|
44
|
+
retries: retries - 1
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
await error.buildAdditionalDetails?.();
|
|
48
|
+
throw new SDKError(error);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
//#endregion
|
|
52
|
+
export { request, requestSettings };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","names":[],"sources":["../../../src/utils/request.ts"],"sourcesContent":["import { ValidationError } from '../errors/errors.js'\nimport { HTTPError } from '../errors/httpError.js'\nimport { SDKError } from '../errors/SDKError.js'\nimport type { SDKBaseConfig } from '../types/core.js'\nimport type { ExtendedRequestInit } from '../types/request.js'\nimport { version } from '../version.js'\nimport { sleep } from './sleep.js'\n\nexport const requestSettings = {\n retries: 1,\n}\n\nconst stripExtendRequestInitProperties = ({\n retries,\n ...rest\n}: ExtendedRequestInit): RequestInit => ({\n ...rest,\n})\n\nexport const request = async <T = Response>(\n config: SDKBaseConfig,\n url: RequestInfo | URL,\n options: ExtendedRequestInit = {\n retries: requestSettings.retries,\n }\n): Promise<T> => {\n const { userId, integrator, widgetVersion, apiKey, requestInterceptor } =\n config\n\n if (!integrator) {\n throw new SDKError(\n new ValidationError(\n 'You need to provide the Integrator property. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk'\n )\n )\n }\n\n options.retries = options.retries ?? requestSettings.retries\n\n try {\n if (apiKey) {\n options.headers = {\n ...options.headers,\n 'x-lifi-api-key': apiKey,\n }\n }\n\n if (userId) {\n options.headers = {\n ...options.headers,\n 'x-lifi-userid': userId,\n }\n }\n\n if (widgetVersion) {\n options.headers = {\n ...options.headers,\n 'x-lifi-widget': widgetVersion,\n }\n }\n\n if (version) {\n options.headers = {\n ...options.headers,\n 'x-lifi-sdk': version,\n }\n }\n\n // integrator is mandatory during SDK initialization\n options.headers = {\n ...options.headers,\n 'x-lifi-integrator': integrator,\n }\n\n if (requestInterceptor) {\n options = await requestInterceptor(options)\n }\n\n const response: Response = await fetch(\n url,\n stripExtendRequestInitProperties(options)\n )\n\n if (!response.ok) {\n throw new HTTPError(response, url, options)\n }\n\n return await response.json()\n } catch (error) {\n const retries = options.retries ?? 0\n if (retries > 0 && (error as HTTPError).status === 500) {\n await sleep(500)\n return request<T>(config, url, { ...options, retries: retries - 1 })\n }\n\n await (error as HTTPError).buildAdditionalDetails?.()\n\n throw new SDKError(error as HTTPError)\n }\n}\n"],"mappings":";;;;;;AAQA,MAAa,kBAAkB,EAC7B,SAAS,EACX;AAEA,MAAM,oCAAoC,EACxC,SACA,GAAG,YACoC,EACvC,GAAG,KACL;AAEA,MAAa,UAAU,OACrB,QACA,KACA,UAA+B,EAC7B,SAAS,gBAAgB,QAC3B,MACe;CACf,MAAM,EAAE,QAAQ,YAAY,eAAe,QAAQ,uBACjD;CAEF,IAAI,CAAC,YACH,MAAM,IAAI,SACR,IAAI,gBACF,gIACF,CACF;CAGF,QAAQ,UAAU,QAAQ,WAAW,gBAAgB;CAErD,IAAI;EACF,IAAI,QACF,QAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,kBAAkB;EACpB;EAGF,IAAI,QACF,QAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,iBAAiB;EACnB;EAGF,IAAI,eACF,QAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,iBAAiB;EACnB;EAIA,QAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,cAAc;EAChB;EAIF,QAAQ,UAAU;GAChB,GAAG,QAAQ;GACX,qBAAqB;EACvB;EAEA,IAAI,oBACF,UAAU,MAAM,mBAAmB,OAAO;EAG5C,MAAM,WAAqB,MAAM,MAC/B,KACA,iCAAiC,OAAO,CAC1C;EAEA,IAAI,CAAC,SAAS,IACZ,MAAM,IAAI,UAAU,UAAU,KAAK,OAAO;EAG5C,OAAO,MAAM,SAAS,KAAK;CAC7B,SAAS,OAAO;EACd,MAAM,UAAU,QAAQ,WAAW;EACnC,IAAI,UAAU,KAAM,MAAoB,WAAW,KAAK;GACtD,MAAM,MAAM,GAAG;GACf,OAAO,QAAW,QAAQ,KAAK;IAAE,GAAG;IAAS,SAAS,UAAU;GAAE,CAAC;EACrE;EAEA,MAAO,MAAoB,yBAAyB;EAEpD,MAAM,IAAI,SAAS,KAAkB;CACvC;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleep.d.ts","names":[],"sources":["../../../src/utils/sleep.ts"],"mappings":";iBAAgB,KAAA,CAAM,EAAA,WAAa,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleep.js","names":[],"sources":["../../../src/utils/sleep.ts"],"sourcesContent":["export function sleep(ms: number): Promise<null> {\n return new Promise((resolve) => {\n setTimeout(() => resolve(null), ms)\n })\n}\n"],"mappings":";AAAA,SAAgB,MAAM,IAA2B;CAC/C,OAAO,IAAI,SAAS,YAAY;EAC9B,iBAAiB,QAAQ,IAAI,GAAG,EAAE;CACpC,CAAC;AACH"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/utils/waitForResult.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Repeatedly calls a given asynchronous function until it resolves with a value
|
|
4
|
+
* @param fn The function that should be repeated
|
|
5
|
+
* @param interval The timeout in milliseconds between retries, or a function that receives the current poll count and returns the interval. Defaults to 5000
|
|
6
|
+
* @param maxRetries Maximum number of retries before throwing an error, defaults to 3
|
|
7
|
+
* @param shouldRetry Optional predicate to determine if an error should trigger a retry
|
|
8
|
+
* @returns The result of the fn function
|
|
9
|
+
* @throws Error if maximum retries is reached, if function keeps returning undefined, or if shouldRetry returns false
|
|
10
|
+
*/
|
|
11
|
+
declare const waitForResult: <T>(fn: () => Promise<T | undefined>, interval?: number | ((poll: number) => number), maxRetries?: number, shouldRetry?: (count: number, error: unknown) => boolean) => Promise<T>;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { waitForResult };
|
|
14
|
+
//# sourceMappingURL=waitForResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waitForResult.d.ts","names":[],"sources":["../../../src/utils/waitForResult.ts"],"mappings":";;AAWA;;;;;;;;cAAa,aAAA,MACX,EAAA,QAAU,OAAA,CAAQ,CAAA,eAClB,QAAA,cAAqB,IAAA,sBACrB,UAAA,WACA,WAAA,IAAc,KAAA,UAAe,KAAA,0BAC5B,OAAA,CAAQ,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { sleep } from "./sleep.js";
|
|
2
|
+
//#region src/utils/waitForResult.ts
|
|
3
|
+
/**
|
|
4
|
+
* Repeatedly calls a given asynchronous function until it resolves with a value
|
|
5
|
+
* @param fn The function that should be repeated
|
|
6
|
+
* @param interval The timeout in milliseconds between retries, or a function that receives the current poll count and returns the interval. Defaults to 5000
|
|
7
|
+
* @param maxRetries Maximum number of retries before throwing an error, defaults to 3
|
|
8
|
+
* @param shouldRetry Optional predicate to determine if an error should trigger a retry
|
|
9
|
+
* @returns The result of the fn function
|
|
10
|
+
* @throws Error if maximum retries is reached, if function keeps returning undefined, or if shouldRetry returns false
|
|
11
|
+
*/
|
|
12
|
+
const waitForResult = async (fn, interval = 5e3, maxRetries = 3, shouldRetry = () => true) => {
|
|
13
|
+
let result;
|
|
14
|
+
let attempts = 0;
|
|
15
|
+
let polls = 0;
|
|
16
|
+
const getInterval = typeof interval === "function" ? interval : () => interval;
|
|
17
|
+
while (!result) try {
|
|
18
|
+
result = await fn();
|
|
19
|
+
if (!result) {
|
|
20
|
+
await sleep(getInterval(polls));
|
|
21
|
+
polls++;
|
|
22
|
+
}
|
|
23
|
+
} catch (error) {
|
|
24
|
+
if (!shouldRetry(attempts, error)) throw error;
|
|
25
|
+
attempts++;
|
|
26
|
+
if (attempts === maxRetries) throw error;
|
|
27
|
+
await sleep(getInterval(polls));
|
|
28
|
+
polls++;
|
|
29
|
+
}
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
//#endregion
|
|
33
|
+
export { waitForResult };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=waitForResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waitForResult.js","names":[],"sources":["../../../src/utils/waitForResult.ts"],"sourcesContent":["import { sleep } from './sleep.js'\n\n/**\n * Repeatedly calls a given asynchronous function until it resolves with a value\n * @param fn The function that should be repeated\n * @param interval The timeout in milliseconds between retries, or a function that receives the current poll count and returns the interval. Defaults to 5000\n * @param maxRetries Maximum number of retries before throwing an error, defaults to 3\n * @param shouldRetry Optional predicate to determine if an error should trigger a retry\n * @returns The result of the fn function\n * @throws Error if maximum retries is reached, if function keeps returning undefined, or if shouldRetry returns false\n */\nexport const waitForResult = async <T>(\n fn: () => Promise<T | undefined>,\n interval: number | ((poll: number) => number) = 5000,\n maxRetries = 3,\n shouldRetry: (count: number, error: unknown) => boolean = () => true\n): Promise<T> => {\n let result: T | undefined\n let attempts = 0\n let polls = 0\n\n const getInterval = typeof interval === 'function' ? interval : () => interval\n\n while (!result) {\n try {\n result = await fn()\n if (!result) {\n await sleep(getInterval(polls))\n polls++\n }\n } catch (error) {\n if (!shouldRetry(attempts, error)) {\n throw error\n }\n attempts++\n if (attempts === maxRetries) {\n throw error\n }\n await sleep(getInterval(polls))\n polls++\n }\n }\n\n return result\n}\n"],"mappings":";;;;;;;;;;;AAWA,MAAa,gBAAgB,OAC3B,IACA,WAAgD,KAChD,aAAa,GACb,oBAAgE,SACjD;CACf,IAAI;CACJ,IAAI,WAAW;CACf,IAAI,QAAQ;CAEZ,MAAM,cAAc,OAAO,aAAa,aAAa,iBAAiB;CAEtE,OAAO,CAAC,QACN,IAAI;EACF,SAAS,MAAM,GAAG;EAClB,IAAI,CAAC,QAAQ;GACX,MAAM,MAAM,YAAY,KAAK,CAAC;GAC9B;EACF;CACF,SAAS,OAAO;EACd,IAAI,CAAC,YAAY,UAAU,KAAK,GAC9B,MAAM;EAER;EACA,IAAI,aAAa,YACf,MAAM;EAER,MAAM,MAAM,YAAY,KAAK,CAAC;EAC9B;CACF;CAGF,OAAO;AACT"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/utils/withDedupe.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Map with a LRU (Least recently used) policy.
|
|
4
|
+
*
|
|
5
|
+
* https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU
|
|
6
|
+
*/
|
|
7
|
+
declare class LruMap<value = unknown> extends Map<string, value> {
|
|
8
|
+
maxSize: number;
|
|
9
|
+
constructor(size: number);
|
|
10
|
+
override set(key: string, value: value): this;
|
|
11
|
+
}
|
|
12
|
+
type WithDedupeOptions = {
|
|
13
|
+
enabled?: boolean | undefined;
|
|
14
|
+
id?: string | undefined;
|
|
15
|
+
};
|
|
16
|
+
/** Deduplicates in-flight promises. */
|
|
17
|
+
declare function withDedupe<T>(fn: () => Promise<T>, {
|
|
18
|
+
enabled,
|
|
19
|
+
id
|
|
20
|
+
}: WithDedupeOptions): Promise<T>;
|
|
21
|
+
//#endregion
|
|
22
|
+
export { LruMap, withDedupe };
|
|
23
|
+
//# sourceMappingURL=withDedupe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withDedupe.d.ts","names":[],"sources":["../../../src/utils/withDedupe.ts"],"mappings":";;AAKA;;;;cAAa,MAAA,0BAAgC,GAAA,SAAY,KAAA;EACvD,OAAA;EAEA,WAAA,CAAY,IAAA;EAAA,SAKH,GAAA,CAAI,GAAA,UAAa,KAAA,EAAO,KAAA;AAAA;AAAA,KAY9B,iBAAA;EACH,OAAA;EACA,EAAA;AAAA;;iBAIc,UAAA,GAAA,CACd,EAAA,QAAU,OAAA,CAAQ,CAAA;EAChB,OAAA;EAAgB;AAAA,GAAM,iBAAA,GACvB,OAAA,CAAQ,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/utils/withDedupe.ts
|
|
2
|
+
/**
|
|
3
|
+
* Map with a LRU (Least recently used) policy.
|
|
4
|
+
*
|
|
5
|
+
* https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU
|
|
6
|
+
*/
|
|
7
|
+
var LruMap = class extends Map {
|
|
8
|
+
maxSize;
|
|
9
|
+
constructor(size) {
|
|
10
|
+
super();
|
|
11
|
+
this.maxSize = size;
|
|
12
|
+
}
|
|
13
|
+
set(key, value) {
|
|
14
|
+
super.set(key, value);
|
|
15
|
+
if (this.maxSize && this.size > this.maxSize) this.delete(this.keys().next().value);
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
/** @internal */
|
|
20
|
+
const promiseCache = /* @__PURE__ */ new LruMap(8192);
|
|
21
|
+
/** Deduplicates in-flight promises. */
|
|
22
|
+
function withDedupe(fn, { enabled = true, id }) {
|
|
23
|
+
if (!enabled || !id) return fn();
|
|
24
|
+
if (promiseCache.get(id)) return promiseCache.get(id);
|
|
25
|
+
const promise = fn().finally(() => promiseCache.delete(id));
|
|
26
|
+
promiseCache.set(id, promise);
|
|
27
|
+
return promise;
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
export { LruMap, withDedupe };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=withDedupe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withDedupe.js","names":[],"sources":["../../../src/utils/withDedupe.ts"],"sourcesContent":["/**\n * Map with a LRU (Least recently used) policy.\n *\n * https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU\n */\nexport class LruMap<value = unknown> extends Map<string, value> {\n maxSize: number\n\n constructor(size: number) {\n super()\n this.maxSize = size\n }\n\n override set(key: string, value: value): this {\n super.set(key, value)\n if (this.maxSize && this.size > this.maxSize) {\n this.delete(this.keys().next().value!)\n }\n return this\n }\n}\n\n/** @internal */\nconst promiseCache = /*#__PURE__*/ new LruMap<Promise<any>>(8192)\n\ntype WithDedupeOptions = {\n enabled?: boolean | undefined\n id?: string | undefined\n}\n\n/** Deduplicates in-flight promises. */\nexport function withDedupe<T>(\n fn: () => Promise<T>,\n { enabled = true, id }: WithDedupeOptions\n): Promise<T> {\n if (!enabled || !id) {\n return fn()\n }\n if (promiseCache.get(id)) {\n return promiseCache.get(id)!\n }\n const promise = fn().finally(() => promiseCache.delete(id))\n promiseCache.set(id, promise)\n return promise\n}\n"],"mappings":";;;;;;AAKA,IAAa,SAAb,cAA6C,IAAmB;CAC9D;CAEA,YAAY,MAAc;EACxB,MAAM;EACN,KAAK,UAAU;CACjB;CAEA,IAAa,KAAa,OAAoB;EAC5C,MAAM,IAAI,KAAK,KAAK;EACpB,IAAI,KAAK,WAAW,KAAK,OAAO,KAAK,SACnC,KAAK,OAAO,KAAK,KAAK,EAAE,KAAK,EAAE,KAAM;EAEvC,OAAO;CACT;AACF;;AAGA,MAAM,+BAA6B,IAAI,OAAqB,IAAI;;AAQhE,SAAgB,WACd,IACA,EAAE,UAAU,MAAM,MACN;CACZ,IAAI,CAAC,WAAW,CAAC,IACf,OAAO,GAAG;CAEZ,IAAI,aAAa,IAAI,EAAE,GACrB,OAAO,aAAa,IAAI,EAAE;CAE5B,MAAM,UAAU,GAAG,EAAE,cAAc,aAAa,OAAO,EAAE,CAAC;CAC1D,aAAa,IAAI,IAAI,OAAO;CAC5B,OAAO;AACT"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//#region src/utils/withTimeout.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Wraps a function in a timeout.
|
|
4
|
+
* Based on viem's withTimeout implementation.
|
|
5
|
+
* @param fn - The function to wrap.
|
|
6
|
+
* @param timeout - The timeout in milliseconds.
|
|
7
|
+
* @param errorInstance - The error instance to throw when the timeout is reached.
|
|
8
|
+
* @param signal - Whether or not the timeout should use an abort signal.
|
|
9
|
+
* @returns The result of the function.
|
|
10
|
+
*/
|
|
11
|
+
declare function withTimeout<T>(fn: ({
|
|
12
|
+
signal
|
|
13
|
+
}: {
|
|
14
|
+
signal: AbortController["signal"] | null;
|
|
15
|
+
}) => Promise<T>, {
|
|
16
|
+
errorInstance,
|
|
17
|
+
timeout,
|
|
18
|
+
signal
|
|
19
|
+
}: {
|
|
20
|
+
errorInstance?: Error | undefined;
|
|
21
|
+
timeout: number;
|
|
22
|
+
signal?: boolean | undefined;
|
|
23
|
+
}): Promise<T>;
|
|
24
|
+
//#endregion
|
|
25
|
+
export { withTimeout };
|
|
26
|
+
//# sourceMappingURL=withTimeout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withTimeout.d.ts","names":[],"sources":["../../../src/utils/withTimeout.ts"],"mappings":";;AASA;;;;;;;;iBAAgB,WAAA,GAAA,CACd,EAAA;EAAO;AAAA;EAAY,MAAA,EAAQ,eAAA;AAAA,MAAuC,OAAA,CAAQ,CAAA;EAExE,aAAA;EACA,OAAA;EACA;AAAA;EAGA,aAAA,GAAgB,KAAA;EAEhB,OAAA;EAEA,MAAA;AAAA,IAED,OAAA,CAAQ,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region src/utils/withTimeout.ts
|
|
2
|
+
/**
|
|
3
|
+
* Wraps a function in a timeout.
|
|
4
|
+
* Based on viem's withTimeout implementation.
|
|
5
|
+
* @param fn - The function to wrap.
|
|
6
|
+
* @param timeout - The timeout in milliseconds.
|
|
7
|
+
* @param errorInstance - The error instance to throw when the timeout is reached.
|
|
8
|
+
* @param signal - Whether or not the timeout should use an abort signal.
|
|
9
|
+
* @returns The result of the function.
|
|
10
|
+
*/
|
|
11
|
+
function withTimeout(fn, { errorInstance = /* @__PURE__ */ new Error("Timed out after waiting for too long."), timeout, signal }) {
|
|
12
|
+
return new Promise((resolve, reject) => {
|
|
13
|
+
(async () => {
|
|
14
|
+
let timeoutId;
|
|
15
|
+
try {
|
|
16
|
+
const controller = new AbortController();
|
|
17
|
+
if (timeout > 0) timeoutId = setTimeout(() => {
|
|
18
|
+
if (signal) controller.abort();
|
|
19
|
+
else reject(errorInstance);
|
|
20
|
+
}, timeout);
|
|
21
|
+
resolve(await fn({ signal: controller?.signal || null }));
|
|
22
|
+
} catch (err) {
|
|
23
|
+
if (err?.name === "AbortError") reject(errorInstance);
|
|
24
|
+
reject(err);
|
|
25
|
+
} finally {
|
|
26
|
+
clearTimeout(timeoutId);
|
|
27
|
+
}
|
|
28
|
+
})();
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { withTimeout };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=withTimeout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withTimeout.js","names":[],"sources":["../../../src/utils/withTimeout.ts"],"sourcesContent":["/**\n * Wraps a function in a timeout.\n * Based on viem's withTimeout implementation.\n * @param fn - The function to wrap.\n * @param timeout - The timeout in milliseconds.\n * @param errorInstance - The error instance to throw when the timeout is reached.\n * @param signal - Whether or not the timeout should use an abort signal.\n * @returns The result of the function.\n */\nexport function withTimeout<T>(\n fn: ({ signal }: { signal: AbortController['signal'] | null }) => Promise<T>,\n {\n errorInstance = new Error('Timed out after waiting for too long.'),\n timeout,\n signal,\n }: {\n // The error instance to throw when the timeout is reached.\n errorInstance?: Error | undefined\n // The timeout (in ms).\n timeout: number\n // Whether or not the timeout should use an abort signal.\n signal?: boolean | undefined\n }\n): Promise<T> {\n return new Promise((resolve, reject) => {\n ;(async () => {\n let timeoutId!: NodeJS.Timeout\n try {\n const controller = new AbortController()\n if (timeout > 0) {\n timeoutId = setTimeout(() => {\n if (signal) {\n controller.abort()\n } else {\n reject(errorInstance)\n }\n }, timeout) as NodeJS.Timeout // need to cast because bun globals.d.ts overrides @types/node\n }\n resolve(await fn({ signal: controller?.signal || null }))\n } catch (err) {\n if ((err as Error)?.name === 'AbortError') {\n reject(errorInstance)\n }\n reject(err)\n } finally {\n clearTimeout(timeoutId)\n }\n })()\n })\n}\n"],"mappings":";;;;;;;;;;AASA,SAAgB,YACd,IACA,EACE,gCAAgB,IAAI,MAAM,uCAAuC,GACjE,SACA,UASU;CACZ,OAAO,IAAI,SAAS,SAAS,WAAW;EACrC,CAAC,YAAY;GACZ,IAAI;GACJ,IAAI;IACF,MAAM,aAAa,IAAI,gBAAgB;IACvC,IAAI,UAAU,GACZ,YAAY,iBAAiB;KAC3B,IAAI,QACF,WAAW,MAAM;UAEjB,OAAO,aAAa;IAExB,GAAG,OAAO;IAEZ,QAAQ,MAAM,GAAG,EAAE,QAAQ,YAAY,UAAU,KAAK,CAAC,CAAC;GAC1D,SAAS,KAAK;IACZ,IAAK,KAAe,SAAS,cAC3B,OAAO,aAAa;IAEtB,OAAO,GAAG;GACZ,UAAU;IACR,aAAa,SAAS;GACxB;EACF,GAAG;CACL,CAAC;AACH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","names":[],"sources":["../../src/version.ts"],"mappings":";cAAa,IAAA;AAAA,cACA,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","names":[],"sources":["../../src/version.ts"],"sourcesContent":["export const name = '@lifi/sdk'\nexport const version = '0.0.0-preview-f5cf9f8'\n"],"mappings":";AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
|
package/package.json
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@lifi/sdk",
|
|
3
|
+
"version": "0.0.0-preview-f5cf9f8",
|
|
4
|
+
"description": "LI.FI SDK for Any-to-Any Cross-Chain-Swap",
|
|
5
|
+
"homepage": "https://github.com/lifinance/sdk",
|
|
6
|
+
"bugs": {
|
|
7
|
+
"url": "https://github.com/lifinance/sdk/issues"
|
|
8
|
+
},
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "https://github.com/lifinance/sdk.git",
|
|
12
|
+
"directory": "packages/sdk"
|
|
13
|
+
},
|
|
14
|
+
"license": "Apache-2.0",
|
|
15
|
+
"author": "Eugene Chybisov <eugene@li.finance>",
|
|
16
|
+
"type": "module",
|
|
17
|
+
"sideEffects": false,
|
|
18
|
+
"main": "./dist/cjs/index.js",
|
|
19
|
+
"module": "./dist/esm/index.js",
|
|
20
|
+
"types": "./dist/esm/index.d.ts",
|
|
21
|
+
"typings": "./dist/esm/index.d.ts",
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"types": "./dist/esm/index.d.ts",
|
|
25
|
+
"import": "./dist/esm/index.js",
|
|
26
|
+
"default": "./dist/cjs/index.js"
|
|
27
|
+
},
|
|
28
|
+
"./package.json": "./package.json"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@lifi/types": "17.82.1"
|
|
32
|
+
},
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public"
|
|
35
|
+
},
|
|
36
|
+
"files": [
|
|
37
|
+
"CHANGELOG.md",
|
|
38
|
+
"dist/**",
|
|
39
|
+
"!dist/**/*.tsbuildinfo",
|
|
40
|
+
"src/**/*.ts",
|
|
41
|
+
"!src/**/*.spec.ts",
|
|
42
|
+
"!src/**/*.test.ts",
|
|
43
|
+
"!src/**/*.mock.ts",
|
|
44
|
+
"!src/**/*.spec.ts",
|
|
45
|
+
"!src/**/*.handlers.ts",
|
|
46
|
+
"!src/**/*.tsbuildinfo",
|
|
47
|
+
"!**/__mocks__/**",
|
|
48
|
+
"!*.tmp",
|
|
49
|
+
"!*.env",
|
|
50
|
+
"!tsconfig.json"
|
|
51
|
+
],
|
|
52
|
+
"keywords": [
|
|
53
|
+
"swap",
|
|
54
|
+
"bridge",
|
|
55
|
+
"bridge-aggregation",
|
|
56
|
+
"cross-chain",
|
|
57
|
+
"cross-chain-applications",
|
|
58
|
+
"cross-chain-bridge",
|
|
59
|
+
"dapp",
|
|
60
|
+
"defi",
|
|
61
|
+
"ethereum",
|
|
62
|
+
"bitcoin",
|
|
63
|
+
"solana",
|
|
64
|
+
"sui",
|
|
65
|
+
"tron",
|
|
66
|
+
"lifi",
|
|
67
|
+
"multi-chain",
|
|
68
|
+
"sdk",
|
|
69
|
+
"ethers",
|
|
70
|
+
"viem",
|
|
71
|
+
"wagmi",
|
|
72
|
+
"web3",
|
|
73
|
+
"web3-react"
|
|
74
|
+
]
|
|
75
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ChainsRequest,
|
|
3
|
+
ChainsResponse,
|
|
4
|
+
ExtendedChain,
|
|
5
|
+
RequestOptions,
|
|
6
|
+
} from '@lifi/types'
|
|
7
|
+
import type { SDKBaseConfig, SDKClient } from '../types/core.js'
|
|
8
|
+
import { request } from '../utils/request.js'
|
|
9
|
+
import { withDedupe } from '../utils/withDedupe.js'
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Get all available chains
|
|
13
|
+
* @param client - The SDK client
|
|
14
|
+
* @param params - The configuration of the requested chains
|
|
15
|
+
* @param options - Request options
|
|
16
|
+
* @returns A list of all available chains
|
|
17
|
+
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
18
|
+
*/
|
|
19
|
+
export const getChains = async (
|
|
20
|
+
client: SDKClient,
|
|
21
|
+
params?: ChainsRequest,
|
|
22
|
+
options?: RequestOptions
|
|
23
|
+
): Promise<ExtendedChain[]> => {
|
|
24
|
+
return await _getChains(client.config, params, options)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export const _getChains = async (
|
|
28
|
+
config: SDKBaseConfig,
|
|
29
|
+
params?: ChainsRequest,
|
|
30
|
+
options?: RequestOptions
|
|
31
|
+
): Promise<ExtendedChain[]> => {
|
|
32
|
+
if (params) {
|
|
33
|
+
for (const key of Object.keys(params)) {
|
|
34
|
+
const value = params[key as keyof ChainsRequest]
|
|
35
|
+
if (value === undefined || value === null) {
|
|
36
|
+
delete params[key as keyof ChainsRequest]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const urlSearchParams = new URLSearchParams(
|
|
41
|
+
params as Record<string, string>
|
|
42
|
+
).toString()
|
|
43
|
+
const response = await withDedupe(
|
|
44
|
+
() =>
|
|
45
|
+
request<ChainsResponse>(
|
|
46
|
+
config,
|
|
47
|
+
`${config.apiUrl}/chains?${urlSearchParams}`,
|
|
48
|
+
{
|
|
49
|
+
signal: options?.signal,
|
|
50
|
+
}
|
|
51
|
+
),
|
|
52
|
+
{ id: `${getChains.name}.${urlSearchParams}` }
|
|
53
|
+
)
|
|
54
|
+
return response.chains
|
|
55
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ConnectionsRequest,
|
|
3
|
+
ConnectionsResponse,
|
|
4
|
+
RequestOptions,
|
|
5
|
+
} from '@lifi/types'
|
|
6
|
+
import type { SDKClient } from '../types/core.js'
|
|
7
|
+
import { request } from '../utils/request.js'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Get all the available connections for swap/bridging tokens
|
|
11
|
+
* @param client - The SDK client
|
|
12
|
+
* @param connectionRequest ConnectionsRequest
|
|
13
|
+
* @param options - Request options
|
|
14
|
+
* @returns ConnectionsResponse
|
|
15
|
+
*/
|
|
16
|
+
export const getConnections = async (
|
|
17
|
+
client: SDKClient,
|
|
18
|
+
connectionRequest: ConnectionsRequest,
|
|
19
|
+
options?: RequestOptions
|
|
20
|
+
): Promise<ConnectionsResponse> => {
|
|
21
|
+
const url = new URL(`${client.config.apiUrl}/connections`)
|
|
22
|
+
|
|
23
|
+
const { fromChain, fromToken, toChain, toToken } = connectionRequest
|
|
24
|
+
|
|
25
|
+
if (fromChain) {
|
|
26
|
+
url.searchParams.append('fromChain', fromChain as unknown as string)
|
|
27
|
+
}
|
|
28
|
+
if (fromToken) {
|
|
29
|
+
url.searchParams.append('fromToken', fromToken)
|
|
30
|
+
}
|
|
31
|
+
if (toChain) {
|
|
32
|
+
url.searchParams.append('toChain', toChain as unknown as string)
|
|
33
|
+
}
|
|
34
|
+
if (toToken) {
|
|
35
|
+
url.searchParams.append('toToken', toToken)
|
|
36
|
+
}
|
|
37
|
+
const connectionRequestArrayParams: Array<keyof ConnectionsRequest> = [
|
|
38
|
+
'allowBridges',
|
|
39
|
+
'denyBridges',
|
|
40
|
+
'preferBridges',
|
|
41
|
+
'allowExchanges',
|
|
42
|
+
'denyExchanges',
|
|
43
|
+
'preferExchanges',
|
|
44
|
+
]
|
|
45
|
+
for (const parameter of connectionRequestArrayParams) {
|
|
46
|
+
const connectionRequestArrayParam = connectionRequest[parameter] as string[]
|
|
47
|
+
|
|
48
|
+
if (connectionRequestArrayParam?.length) {
|
|
49
|
+
for (const value of connectionRequestArrayParam) {
|
|
50
|
+
url.searchParams.append(parameter, value)
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return await request<ConnectionsResponse>(client.config, url, options)
|
|
55
|
+
}
|