@lifi/sdk 4.0.0-beta.0 → 4.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/actions/getChains.d.ts +17 -4
- package/dist/cjs/actions/getChains.js +22 -19
- package/dist/cjs/actions/getChains.js.map +1 -1
- package/dist/cjs/actions/getConnections.d.ts +15 -3
- package/dist/cjs/actions/getConnections.js +30 -35
- package/dist/cjs/actions/getConnections.js.map +1 -1
- package/dist/cjs/actions/getContractCallsQuote.d.ts +16 -3
- package/dist/cjs/actions/getContractCallsQuote.js +41 -42
- package/dist/cjs/actions/getContractCallsQuote.js.map +1 -1
- package/dist/cjs/actions/getGasRecommendation.d.ts +16 -3
- package/dist/cjs/actions/getGasRecommendation.js +20 -19
- package/dist/cjs/actions/getGasRecommendation.js.map +1 -1
- package/dist/cjs/actions/getNameServiceAddress.d.ts +15 -3
- package/dist/cjs/actions/getNameServiceAddress.js +25 -27
- package/dist/cjs/actions/getNameServiceAddress.js.map +1 -1
- package/dist/cjs/actions/getQuote.d.ts +18 -5
- package/dist/cjs/actions/getQuote.js +32 -46
- package/dist/cjs/actions/getQuote.js.map +1 -1
- package/dist/cjs/actions/getRelayedTransactionStatus.d.ts +16 -3
- package/dist/cjs/actions/getRelayedTransactionStatus.js +26 -26
- package/dist/cjs/actions/getRelayedTransactionStatus.js.map +1 -1
- package/dist/cjs/actions/getRelayerQuote.d.ts +17 -4
- package/dist/cjs/actions/getRelayerQuote.js +40 -45
- package/dist/cjs/actions/getRelayerQuote.js.map +1 -1
- package/dist/cjs/actions/getRoutes.d.ts +16 -3
- package/dist/cjs/actions/getRoutes.js +28 -23
- package/dist/cjs/actions/getRoutes.js.map +1 -1
- package/dist/cjs/actions/getStatus.d.ts +17 -4
- package/dist/cjs/actions/getStatus.js +18 -14
- package/dist/cjs/actions/getStatus.js.map +1 -1
- package/dist/cjs/actions/getStepTransaction.d.ts +16 -3
- package/dist/cjs/actions/getStepTransaction.js +32 -33
- package/dist/cjs/actions/getStepTransaction.js.map +1 -1
- package/dist/cjs/actions/getToken.d.ts +17 -3
- package/dist/cjs/actions/getToken.js +22 -18
- package/dist/cjs/actions/getToken.js.map +1 -1
- package/dist/cjs/actions/getTokenBalance.d.ts +17 -3
- package/dist/cjs/actions/getTokenBalance.js +16 -6
- package/dist/cjs/actions/getTokenBalance.js.map +1 -1
- package/dist/cjs/actions/getTokenBalances.d.ts +17 -3
- package/dist/cjs/actions/getTokenBalances.js +12 -13
- package/dist/cjs/actions/getTokenBalances.js.map +1 -1
- package/dist/cjs/actions/getTokenBalancesByChain.d.ts +19 -5
- package/dist/cjs/actions/getTokenBalancesByChain.js +22 -37
- package/dist/cjs/actions/getTokenBalancesByChain.js.map +1 -1
- package/dist/cjs/actions/getTokens.d.ts +18 -6
- package/dist/cjs/actions/getTokens.js +14 -18
- package/dist/cjs/actions/getTokens.js.map +1 -1
- package/dist/cjs/actions/getTools.d.ts +15 -3
- package/dist/cjs/actions/getTools.js +17 -14
- package/dist/cjs/actions/getTools.js.map +1 -1
- package/dist/cjs/actions/getTransactionHistory.d.ts +26 -3
- package/dist/cjs/actions/getTransactionHistory.js +27 -21
- package/dist/cjs/actions/getTransactionHistory.js.map +1 -1
- package/dist/cjs/actions/getWalletBalances.d.ts +16 -3
- package/dist/cjs/actions/getWalletBalances.js +16 -12
- package/dist/cjs/actions/getWalletBalances.js.map +1 -1
- package/dist/cjs/actions/index.d.ts +171 -39
- package/dist/cjs/actions/index.js +49 -47
- package/dist/cjs/actions/index.js.map +1 -1
- package/dist/cjs/actions/patchContractCalls.d.ts +14 -9
- package/dist/cjs/actions/patchContractCalls.js +11 -12
- package/dist/cjs/actions/patchContractCalls.js.map +1 -1
- package/dist/cjs/actions/relayTransaction.d.ts +16 -3
- package/dist/cjs/actions/relayTransaction.js +30 -34
- package/dist/cjs/actions/relayTransaction.js.map +1 -1
- package/dist/cjs/client/createClient.d.ts +7 -2
- package/dist/cjs/client/createClient.js +67 -75
- package/dist/cjs/client/createClient.js.map +1 -1
- package/dist/cjs/client/getClientStorage.d.ts +14 -8
- package/dist/cjs/client/getClientStorage.js +44 -47
- package/dist/cjs/client/getClientStorage.js.map +1 -1
- package/dist/cjs/core/BaseStepExecutionTask.d.ts +9 -4
- package/dist/cjs/core/BaseStepExecutionTask.js +9 -8
- package/dist/cjs/core/BaseStepExecutionTask.js.map +1 -1
- package/dist/cjs/core/BaseStepExecutor.d.ts +23 -18
- package/dist/cjs/core/BaseStepExecutor.js +67 -79
- package/dist/cjs/core/BaseStepExecutor.js.map +1 -1
- package/dist/cjs/core/StatusManager.d.ts +80 -21
- package/dist/cjs/core/StatusManager.js +158 -139
- package/dist/cjs/core/StatusManager.js.map +1 -1
- package/dist/cjs/core/TaskPipeline.d.ts +11 -6
- package/dist/cjs/core/TaskPipeline.js +19 -25
- package/dist/cjs/core/TaskPipeline.js.map +1 -1
- package/dist/cjs/core/actionMessages.d.ts +9 -4
- package/dist/cjs/core/actionMessages.js +72 -74
- package/dist/cjs/core/actionMessages.js.map +1 -1
- package/dist/cjs/core/execution.d.ts +48 -8
- package/dist/cjs/core/execution.js +131 -133
- package/dist/cjs/core/execution.js.map +1 -1
- package/dist/cjs/core/executionState.d.ts +17 -13
- package/dist/cjs/core/executionState.js +27 -27
- package/dist/cjs/core/executionState.js.map +1 -1
- package/dist/cjs/core/prepareRestart.d.ts +7 -2
- package/dist/cjs/core/prepareRestart.js +17 -19
- package/dist/cjs/core/prepareRestart.js.map +1 -1
- package/dist/cjs/core/storage.d.ts +18 -14
- package/dist/cjs/core/storage.js +32 -33
- package/dist/cjs/core/storage.js.map +1 -1
- package/dist/cjs/core/tasks/CheckBalanceTask.d.ts +18 -4
- package/dist/cjs/core/tasks/CheckBalanceTask.js +33 -24
- package/dist/cjs/core/tasks/CheckBalanceTask.js.map +1 -1
- package/dist/cjs/core/tasks/PrepareTransactionTask.d.ts +9 -4
- package/dist/cjs/core/tasks/PrepareTransactionTask.js +28 -34
- package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -1
- package/dist/cjs/core/tasks/WaitForTransactionStatusTask.d.ts +12 -7
- package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +61 -71
- package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -1
- package/dist/cjs/core/tasks/helpers/checkBalance.d.ts +30 -3
- package/dist/cjs/core/tasks/helpers/checkBalance.js +104 -34
- package/dist/cjs/core/tasks/helpers/checkBalance.js.map +1 -1
- package/dist/cjs/core/tasks/helpers/getTransactionRequestData.d.ts +7 -2
- package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js +21 -26
- package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js.map +1 -1
- package/dist/cjs/core/tasks/helpers/stepComparison.d.ts +21 -4
- package/dist/cjs/core/tasks/helpers/stepComparison.js +28 -21
- package/dist/cjs/core/tasks/helpers/stepComparison.js.map +1 -1
- package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.d.ts +9 -4
- package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js +45 -53
- package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js.map +1 -1
- package/dist/cjs/core/utils.d.ts +17 -91
- package/dist/cjs/core/utils.js +37 -38
- package/dist/cjs/core/utils.js.map +1 -1
- package/dist/cjs/errors/SDKError.d.ts +16 -11
- package/dist/cjs/errors/SDKError.js +22 -21
- package/dist/cjs/errors/SDKError.js.map +1 -1
- package/dist/cjs/errors/baseError.d.ts +10 -5
- package/dist/cjs/errors/baseError.js +17 -18
- package/dist/cjs/errors/baseError.js.map +1 -1
- package/dist/cjs/errors/constants.d.ts +52 -48
- package/dist/cjs/errors/constants.js +60 -56
- package/dist/cjs/errors/constants.js.map +1 -1
- package/dist/cjs/errors/errors.d.ts +38 -28
- package/dist/cjs/errors/errors.js +57 -51
- package/dist/cjs/errors/errors.js.map +1 -1
- package/dist/cjs/errors/httpError.d.ts +21 -17
- package/dist/cjs/errors/httpError.js +62 -65
- package/dist/cjs/errors/httpError.js.map +1 -1
- package/dist/cjs/errors/utils/baseErrorRootCause.d.ts +8 -3
- package/dist/cjs/errors/utils/baseErrorRootCause.js +12 -15
- package/dist/cjs/errors/utils/baseErrorRootCause.js.map +1 -1
- package/dist/cjs/errors/utils/rootCause.d.ts +5 -1
- package/dist/cjs/errors/utils/rootCause.js +7 -8
- package/dist/cjs/errors/utils/rootCause.js.map +1 -1
- package/dist/cjs/index.d.ts +55 -55
- package/dist/cjs/index.js +130 -138
- package/dist/cjs/types/actions.d.ts +12 -7
- package/dist/cjs/types/actions.js +0 -3
- package/dist/cjs/types/core.d.ts +181 -173
- package/dist/cjs/types/core.js +0 -3
- package/dist/cjs/types/execution.d.ts +25 -19
- package/dist/cjs/types/execution.js +0 -3
- package/dist/cjs/types/request.d.ts +6 -2
- package/dist/cjs/types/request.js +0 -3
- package/dist/cjs/utils/checkPackageUpdates.d.ts +5 -1
- package/dist/cjs/utils/checkPackageUpdates.js +11 -16
- package/dist/cjs/utils/checkPackageUpdates.js.map +1 -1
- package/dist/cjs/utils/convertQuoteToRoute.d.ts +20 -5
- package/dist/cjs/utils/convertQuoteToRoute.js +72 -85
- package/dist/cjs/utils/convertQuoteToRoute.js.map +1 -1
- package/dist/cjs/utils/decode.d.ts +5 -1
- package/dist/cjs/utils/decode.js +5 -10
- package/dist/cjs/utils/decode.js.map +1 -1
- package/dist/cjs/utils/fetchTxErrorDetails.d.ts +5 -1
- package/dist/cjs/utils/fetchTxErrorDetails.js +9 -9
- package/dist/cjs/utils/fetchTxErrorDetails.js.map +1 -1
- package/dist/cjs/utils/formatUnits.d.ts +8 -1
- package/dist/cjs/utils/formatUnits.js +15 -15
- package/dist/cjs/utils/formatUnits.js.map +1 -1
- package/dist/cjs/utils/getTransactionMessage.d.ts +8 -3
- package/dist/cjs/utils/getTransactionMessage.js +8 -10
- package/dist/cjs/utils/getTransactionMessage.js.map +1 -1
- package/dist/cjs/utils/isHex.d.ts +9 -3
- package/dist/cjs/utils/isHex.js +8 -10
- package/dist/cjs/utils/isHex.js.map +1 -1
- package/dist/cjs/utils/isRoutesRequest.d.ts +7 -2
- package/dist/cjs/utils/isRoutesRequest.js +7 -14
- package/dist/cjs/utils/isRoutesRequest.js.map +1 -1
- package/dist/cjs/utils/isStep.d.ts +7 -2
- package/dist/cjs/utils/isStep.js +15 -25
- package/dist/cjs/utils/isStep.js.map +1 -1
- package/dist/cjs/utils/isToken.d.ts +7 -2
- package/dist/cjs/utils/isToken.js +6 -7
- package/dist/cjs/utils/isToken.js.map +1 -1
- package/dist/cjs/utils/parseUnits.d.ts +8 -1
- package/dist/cjs/utils/parseUnits.js +32 -41
- package/dist/cjs/utils/parseUnits.js.map +1 -1
- package/dist/cjs/utils/request.d.ts +10 -5
- package/dist/cjs/utils/request.js +53 -69
- package/dist/cjs/utils/request.js.map +1 -1
- package/dist/cjs/utils/sleep.d.ts +5 -1
- package/dist/cjs/utils/sleep.js +8 -6
- package/dist/cjs/utils/sleep.js.map +1 -1
- package/dist/cjs/utils/waitForResult.d.ts +14 -1
- package/dist/cjs/utils/waitForResult.js +33 -30
- package/dist/cjs/utils/waitForResult.js.map +1 -1
- package/dist/cjs/utils/withDedupe.d.ts +20 -8
- package/dist/cjs/utils/withDedupe.js +31 -29
- package/dist/cjs/utils/withDedupe.js.map +1 -1
- 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 -2
- package/dist/cjs/version.js +8 -5
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/actions/getChains.d.ts +16 -11
- package/dist/esm/actions/getChains.d.ts.map +1 -0
- package/dist/esm/actions/getChains.js +22 -24
- package/dist/esm/actions/getChains.js.map +1 -1
- package/dist/esm/actions/getConnections.d.ts +14 -9
- package/dist/esm/actions/getConnections.d.ts.map +1 -0
- package/dist/esm/actions/getConnections.js +30 -39
- package/dist/esm/actions/getConnections.js.map +1 -1
- package/dist/esm/actions/getContractCallsQuote.d.ts +15 -10
- package/dist/esm/actions/getContractCallsQuote.d.ts.map +1 -0
- package/dist/esm/actions/getContractCallsQuote.js +41 -51
- package/dist/esm/actions/getContractCallsQuote.js.map +1 -1
- package/dist/esm/actions/getGasRecommendation.d.ts +15 -10
- package/dist/esm/actions/getGasRecommendation.d.ts.map +1 -0
- package/dist/esm/actions/getGasRecommendation.js +20 -24
- package/dist/esm/actions/getGasRecommendation.js.map +1 -1
- package/dist/esm/actions/getNameServiceAddress.d.ts +14 -9
- package/dist/esm/actions/getNameServiceAddress.d.ts.map +1 -0
- package/dist/esm/actions/getNameServiceAddress.js +25 -31
- package/dist/esm/actions/getNameServiceAddress.js.map +1 -1
- package/dist/esm/actions/getQuote.d.ts +17 -12
- package/dist/esm/actions/getQuote.d.ts.map +1 -0
- package/dist/esm/actions/getQuote.js +32 -45
- package/dist/esm/actions/getQuote.js.map +1 -1
- package/dist/esm/actions/getRelayedTransactionStatus.d.ts +15 -10
- package/dist/esm/actions/getRelayedTransactionStatus.d.ts.map +1 -0
- package/dist/esm/actions/getRelayedTransactionStatus.js +26 -32
- package/dist/esm/actions/getRelayedTransactionStatus.js.map +1 -1
- package/dist/esm/actions/getRelayerQuote.d.ts +16 -11
- package/dist/esm/actions/getRelayerQuote.d.ts.map +1 -0
- package/dist/esm/actions/getRelayerQuote.js +40 -51
- package/dist/esm/actions/getRelayerQuote.js.map +1 -1
- package/dist/esm/actions/getRoutes.d.ts +15 -10
- package/dist/esm/actions/getRoutes.d.ts.map +1 -0
- package/dist/esm/actions/getRoutes.js +28 -29
- package/dist/esm/actions/getRoutes.js.map +1 -1
- package/dist/esm/actions/getStatus.d.ts +16 -11
- package/dist/esm/actions/getStatus.d.ts.map +1 -0
- package/dist/esm/actions/getStatus.js +18 -19
- package/dist/esm/actions/getStatus.js.map +1 -1
- package/dist/esm/actions/getStepTransaction.d.ts +15 -10
- package/dist/esm/actions/getStepTransaction.d.ts.map +1 -0
- package/dist/esm/actions/getStepTransaction.js +32 -39
- package/dist/esm/actions/getStepTransaction.js.map +1 -1
- package/dist/esm/actions/getToken.d.ts +16 -11
- package/dist/esm/actions/getToken.d.ts.map +1 -0
- package/dist/esm/actions/getToken.js +22 -24
- package/dist/esm/actions/getToken.js.map +1 -1
- package/dist/esm/actions/getTokenBalance.d.ts +16 -11
- package/dist/esm/actions/getTokenBalance.d.ts.map +1 -0
- package/dist/esm/actions/getTokenBalance.js +16 -12
- package/dist/esm/actions/getTokenBalance.js.map +1 -1
- package/dist/esm/actions/getTokenBalances.d.ts +16 -11
- package/dist/esm/actions/getTokenBalances.d.ts.map +1 -0
- package/dist/esm/actions/getTokenBalances.js +12 -12
- package/dist/esm/actions/getTokenBalances.js.map +1 -1
- package/dist/esm/actions/getTokenBalancesByChain.d.ts +18 -13
- package/dist/esm/actions/getTokenBalancesByChain.d.ts.map +1 -0
- package/dist/esm/actions/getTokenBalancesByChain.js +22 -37
- package/dist/esm/actions/getTokenBalancesByChain.js.map +1 -1
- package/dist/esm/actions/getTokens.d.ts +17 -12
- package/dist/esm/actions/getTokens.d.ts.map +1 -0
- package/dist/esm/actions/getTokens.js +14 -16
- package/dist/esm/actions/getTokens.js.map +1 -1
- package/dist/esm/actions/getTools.d.ts +14 -9
- package/dist/esm/actions/getTools.d.ts.map +1 -0
- package/dist/esm/actions/getTools.js +17 -18
- package/dist/esm/actions/getTools.js.map +1 -1
- package/dist/esm/actions/getTransactionHistory.d.ts +25 -15
- package/dist/esm/actions/getTransactionHistory.d.ts.map +1 -0
- package/dist/esm/actions/getTransactionHistory.js +27 -31
- package/dist/esm/actions/getTransactionHistory.js.map +1 -1
- package/dist/esm/actions/getWalletBalances.d.ts +15 -10
- package/dist/esm/actions/getWalletBalances.d.ts.map +1 -0
- package/dist/esm/actions/getWalletBalances.js +16 -17
- package/dist/esm/actions/getWalletBalances.js.map +1 -1
- package/dist/esm/actions/index.d.ts +171 -166
- package/dist/esm/actions/index.d.ts.map +1 -0
- package/dist/esm/actions/index.js +49 -45
- package/dist/esm/actions/index.js.map +1 -1
- package/dist/esm/actions/patchContractCalls.d.ts +14 -9
- package/dist/esm/actions/patchContractCalls.d.ts.map +1 -0
- package/dist/esm/actions/patchContractCalls.js +12 -10
- package/dist/esm/actions/patchContractCalls.js.map +1 -1
- package/dist/esm/actions/relayTransaction.d.ts +15 -10
- package/dist/esm/actions/relayTransaction.d.ts.map +1 -0
- package/dist/esm/actions/relayTransaction.js +30 -41
- package/dist/esm/actions/relayTransaction.js.map +1 -1
- package/dist/esm/client/createClient.d.ts +7 -2
- package/dist/esm/client/createClient.d.ts.map +1 -0
- package/dist/esm/client/createClient.js +67 -74
- package/dist/esm/client/createClient.js.map +1 -1
- package/dist/esm/client/getClientStorage.d.ts +14 -8
- package/dist/esm/client/getClientStorage.d.ts.map +1 -0
- package/dist/esm/client/getClientStorage.js +45 -48
- package/dist/esm/client/getClientStorage.js.map +1 -1
- package/dist/esm/core/BaseStepExecutionTask.d.ts +9 -4
- package/dist/esm/core/BaseStepExecutionTask.d.ts.map +1 -0
- package/dist/esm/core/BaseStepExecutionTask.js +9 -5
- package/dist/esm/core/BaseStepExecutionTask.js.map +1 -1
- package/dist/esm/core/BaseStepExecutor.d.ts +23 -18
- package/dist/esm/core/BaseStepExecutor.d.ts.map +1 -0
- package/dist/esm/core/BaseStepExecutor.js +67 -77
- package/dist/esm/core/BaseStepExecutor.js.map +1 -1
- package/dist/esm/core/StatusManager.d.ts +79 -65
- package/dist/esm/core/StatusManager.d.ts.map +1 -0
- package/dist/esm/core/StatusManager.js +157 -183
- package/dist/esm/core/StatusManager.js.map +1 -1
- package/dist/esm/core/TaskPipeline.d.ts +11 -6
- package/dist/esm/core/TaskPipeline.d.ts.map +1 -0
- package/dist/esm/core/TaskPipeline.js +19 -22
- package/dist/esm/core/TaskPipeline.js.map +1 -1
- package/dist/esm/core/actionMessages.d.ts +9 -4
- package/dist/esm/core/actionMessages.d.ts.map +1 -0
- package/dist/esm/core/actionMessages.js +72 -72
- package/dist/esm/core/actionMessages.js.map +1 -1
- package/dist/esm/core/execution.d.ts +42 -37
- package/dist/esm/core/execution.d.ts.map +1 -0
- package/dist/esm/core/execution.js +126 -173
- package/dist/esm/core/execution.js.map +1 -1
- package/dist/esm/core/executionState.d.ts +17 -13
- package/dist/esm/core/executionState.d.ts.map +1 -0
- package/dist/esm/core/executionState.js +26 -24
- package/dist/esm/core/executionState.js.map +1 -1
- package/dist/esm/core/prepareRestart.d.ts +7 -2
- package/dist/esm/core/prepareRestart.d.ts.map +1 -0
- package/dist/esm/core/prepareRestart.js +18 -21
- package/dist/esm/core/prepareRestart.js.map +1 -1
- package/dist/esm/core/storage.d.ts +18 -14
- package/dist/esm/core/storage.d.ts.map +1 -0
- package/dist/esm/core/storage.js +30 -28
- package/dist/esm/core/storage.js.map +1 -1
- package/dist/esm/core/tasks/CheckBalanceTask.d.ts +18 -4
- package/dist/esm/core/tasks/CheckBalanceTask.d.ts.map +1 -0
- package/dist/esm/core/tasks/CheckBalanceTask.js +33 -21
- package/dist/esm/core/tasks/CheckBalanceTask.js.map +1 -1
- package/dist/esm/core/tasks/PrepareTransactionTask.d.ts +9 -4
- package/dist/esm/core/tasks/PrepareTransactionTask.d.ts.map +1 -0
- package/dist/esm/core/tasks/PrepareTransactionTask.js +28 -31
- package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -1
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts +12 -7
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts.map +1 -0
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +60 -73
- package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -1
- package/dist/esm/core/tasks/helpers/checkBalance.d.ts +30 -3
- package/dist/esm/core/tasks/helpers/checkBalance.d.ts.map +1 -0
- package/dist/esm/core/tasks/helpers/checkBalance.js +104 -32
- package/dist/esm/core/tasks/helpers/checkBalance.js.map +1 -1
- package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts +7 -2
- package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts.map +1 -0
- package/dist/esm/core/tasks/helpers/getTransactionRequestData.js +22 -24
- package/dist/esm/core/tasks/helpers/getTransactionRequestData.js.map +1 -1
- package/dist/esm/core/tasks/helpers/stepComparison.d.ts +20 -15
- package/dist/esm/core/tasks/helpers/stepComparison.d.ts.map +1 -0
- package/dist/esm/core/tasks/helpers/stepComparison.js +28 -32
- package/dist/esm/core/tasks/helpers/stepComparison.js.map +1 -1
- package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts +9 -4
- package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts.map +1 -0
- package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js +44 -50
- package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js.map +1 -1
- package/dist/esm/core/utils.d.ts +16 -98
- package/dist/esm/core/utils.d.ts.map +1 -0
- package/dist/esm/core/utils.js +36 -45
- package/dist/esm/core/utils.js.map +1 -1
- package/dist/esm/errors/SDKError.d.ts +16 -11
- package/dist/esm/errors/SDKError.d.ts.map +1 -0
- package/dist/esm/errors/SDKError.js +22 -20
- package/dist/esm/errors/SDKError.js.map +1 -1
- package/dist/esm/errors/baseError.d.ts +10 -5
- package/dist/esm/errors/baseError.d.ts.map +1 -0
- package/dist/esm/errors/baseError.js +17 -17
- package/dist/esm/errors/baseError.js.map +1 -1
- package/dist/esm/errors/constants.d.ts +52 -48
- package/dist/esm/errors/constants.d.ts.map +1 -0
- package/dist/esm/errors/constants.js +57 -53
- package/dist/esm/errors/constants.js.map +1 -1
- package/dist/esm/errors/errors.d.ts +30 -25
- package/dist/esm/errors/errors.d.ts.map +1 -0
- package/dist/esm/errors/errors.js +52 -48
- package/dist/esm/errors/errors.js.map +1 -1
- package/dist/esm/errors/httpError.d.ts +21 -17
- package/dist/esm/errors/httpError.d.ts.map +1 -0
- package/dist/esm/errors/httpError.js +62 -62
- package/dist/esm/errors/httpError.js.map +1 -1
- package/dist/esm/errors/utils/baseErrorRootCause.d.ts +8 -3
- package/dist/esm/errors/utils/baseErrorRootCause.d.ts.map +1 -0
- package/dist/esm/errors/utils/baseErrorRootCause.js +13 -13
- package/dist/esm/errors/utils/baseErrorRootCause.js.map +1 -1
- package/dist/esm/errors/utils/rootCause.d.ts +5 -1
- package/dist/esm/errors/utils/rootCause.d.ts.map +1 -0
- package/dist/esm/errors/utils/rootCause.js +8 -6
- package/dist/esm/errors/utils/rootCause.js.map +1 -1
- package/dist/esm/index.d.ts +55 -55
- package/dist/esm/index.js +53 -54
- package/dist/esm/package.json +1 -1
- package/dist/esm/types/actions.d.ts +12 -7
- package/dist/esm/types/actions.d.ts.map +1 -0
- package/dist/esm/types/actions.js +0 -1
- package/dist/esm/types/core.d.ts +179 -178
- package/dist/esm/types/core.d.ts.map +1 -0
- package/dist/esm/types/core.js +0 -1
- package/dist/esm/types/execution.d.ts +25 -20
- package/dist/esm/types/execution.d.ts.map +1 -0
- package/dist/esm/types/execution.js +0 -1
- package/dist/esm/types/request.d.ts +6 -2
- package/dist/esm/types/request.d.ts.map +1 -0
- package/dist/esm/types/request.js +0 -1
- package/dist/esm/utils/checkPackageUpdates.d.ts +5 -1
- package/dist/esm/utils/checkPackageUpdates.d.ts.map +1 -0
- package/dist/esm/utils/checkPackageUpdates.js +12 -15
- package/dist/esm/utils/checkPackageUpdates.js.map +1 -1
- package/dist/esm/utils/convertQuoteToRoute.d.ts +19 -15
- package/dist/esm/utils/convertQuoteToRoute.d.ts.map +1 -0
- package/dist/esm/utils/convertQuoteToRoute.js +72 -92
- package/dist/esm/utils/convertQuoteToRoute.js.map +1 -1
- package/dist/esm/utils/decode.d.ts +5 -1
- package/dist/esm/utils/decode.d.ts.map +1 -0
- package/dist/esm/utils/decode.js +6 -8
- package/dist/esm/utils/decode.js.map +1 -1
- package/dist/esm/utils/fetchTxErrorDetails.d.ts +5 -1
- package/dist/esm/utils/fetchTxErrorDetails.d.ts.map +1 -0
- package/dist/esm/utils/fetchTxErrorDetails.js +10 -7
- package/dist/esm/utils/fetchTxErrorDetails.js.map +1 -1
- package/dist/esm/utils/formatUnits.d.ts +7 -3
- package/dist/esm/utils/formatUnits.d.ts.map +1 -0
- package/dist/esm/utils/formatUnits.js +14 -15
- package/dist/esm/utils/formatUnits.js.map +1 -1
- package/dist/esm/utils/getTransactionMessage.d.ts +8 -3
- package/dist/esm/utils/getTransactionMessage.d.ts.map +1 -0
- package/dist/esm/utils/getTransactionMessage.js +9 -8
- package/dist/esm/utils/getTransactionMessage.js.map +1 -1
- package/dist/esm/utils/isHex.d.ts +9 -3
- package/dist/esm/utils/isHex.d.ts.map +1 -0
- package/dist/esm/utils/isHex.js +8 -8
- package/dist/esm/utils/isHex.js.map +1 -1
- package/dist/esm/utils/isRoutesRequest.d.ts +7 -2
- package/dist/esm/utils/isRoutesRequest.d.ts.map +1 -0
- package/dist/esm/utils/isRoutesRequest.js +8 -12
- package/dist/esm/utils/isRoutesRequest.js.map +1 -1
- package/dist/esm/utils/isStep.d.ts +7 -2
- package/dist/esm/utils/isStep.d.ts.map +1 -0
- package/dist/esm/utils/isStep.js +16 -23
- package/dist/esm/utils/isStep.js.map +1 -1
- package/dist/esm/utils/isToken.d.ts +7 -2
- package/dist/esm/utils/isToken.d.ts.map +1 -0
- package/dist/esm/utils/isToken.js +7 -5
- package/dist/esm/utils/isToken.js.map +1 -1
- package/dist/esm/utils/parseUnits.d.ts +7 -3
- package/dist/esm/utils/parseUnits.d.ts.map +1 -0
- package/dist/esm/utils/parseUnits.js +31 -43
- package/dist/esm/utils/parseUnits.js.map +1 -1
- package/dist/esm/utils/request.d.ts +10 -5
- package/dist/esm/utils/request.d.ts.map +1 -0
- package/dist/esm/utils/request.js +52 -67
- package/dist/esm/utils/request.js.map +1 -1
- package/dist/esm/utils/sleep.d.ts +5 -1
- package/dist/esm/utils/sleep.d.ts.map +1 -0
- package/dist/esm/utils/sleep.js +8 -4
- package/dist/esm/utils/sleep.js.map +1 -1
- package/dist/esm/utils/waitForResult.d.ts +13 -9
- package/dist/esm/utils/waitForResult.d.ts.map +1 -0
- package/dist/esm/utils/waitForResult.js +32 -35
- package/dist/esm/utils/waitForResult.js.map +1 -1
- package/dist/esm/utils/withDedupe.d.ts +18 -12
- package/dist/esm/utils/withDedupe.d.ts.map +1 -0
- package/dist/esm/utils/withDedupe.js +27 -29
- package/dist/esm/utils/withDedupe.js.map +1 -1
- 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 -2
- package/dist/esm/version.d.ts.map +1 -0
- package/dist/esm/version.js +6 -2
- package/dist/esm/version.js.map +1 -1
- package/package.json +5 -5
- package/src/actions/getChains.ts +2 -1
- package/src/actions/getTokens.ts +6 -3
- package/src/actions/getTools.ts +2 -1
- package/src/client/createClient.ts +9 -7
- package/src/client/getClientStorage.ts +9 -1
- package/src/core/BaseStepExecutor.ts +2 -3
- package/src/core/StatusManager.ts +0 -4
- package/src/core/prepareRestart.ts +1 -3
- package/src/core/tasks/CheckBalanceTask.ts +19 -2
- package/src/core/tasks/helpers/checkBalance.ts +196 -34
- package/src/core/tasks/helpers/waitForTransactionStatus.ts +1 -0
- package/src/core/utils.ts +1 -1
- package/src/errors/httpError.ts +4 -6
- package/src/errors/utils/baseErrorRootCause.ts +2 -2
- package/src/errors/utils/rootCause.ts +1 -1
- package/src/index.ts +5 -1
- package/src/types/core.ts +1 -5
- package/src/utils/checkPackageUpdates.ts +1 -1
- package/src/utils/convertQuoteToRoute.ts +1 -1
- package/src/utils/decode.ts +1 -1
- package/src/utils/fetchTxErrorDetails.ts +7 -2
- package/src/utils/formatUnits.ts +1 -1
- package/src/utils/parseUnits.ts +1 -1
- package/src/utils/withDedupe.ts +1 -1
- package/src/utils/withTimeout.ts +50 -0
- package/src/version.ts +1 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/types/actions.js.map +0 -1
- package/dist/cjs/types/core.js.map +0 -1
- package/dist/cjs/types/execution.js.map +0 -1
- package/dist/cjs/types/request.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/types/actions.js.map +0 -1
- package/dist/esm/types/core.js.map +0 -1
- package/dist/esm/types/execution.js.map +0 -1
- package/dist/esm/types/request.js.map +0 -1
- package/dist/types/actions/getChains.d.ts +0 -13
- package/dist/types/actions/getChains.d.ts.map +0 -1
- package/dist/types/actions/getConnections.d.ts +0 -11
- package/dist/types/actions/getConnections.d.ts.map +0 -1
- package/dist/types/actions/getContractCallsQuote.d.ts +0 -12
- package/dist/types/actions/getContractCallsQuote.d.ts.map +0 -1
- package/dist/types/actions/getGasRecommendation.d.ts +0 -12
- package/dist/types/actions/getGasRecommendation.d.ts.map +0 -1
- package/dist/types/actions/getNameServiceAddress.d.ts +0 -11
- package/dist/types/actions/getNameServiceAddress.d.ts.map +0 -1
- package/dist/types/actions/getQuote.d.ts +0 -14
- package/dist/types/actions/getQuote.d.ts.map +0 -1
- package/dist/types/actions/getRelayedTransactionStatus.d.ts +0 -12
- package/dist/types/actions/getRelayedTransactionStatus.d.ts.map +0 -1
- package/dist/types/actions/getRelayerQuote.d.ts +0 -13
- package/dist/types/actions/getRelayerQuote.d.ts.map +0 -1
- package/dist/types/actions/getRoutes.d.ts +0 -12
- package/dist/types/actions/getRoutes.d.ts.map +0 -1
- package/dist/types/actions/getStatus.d.ts +0 -13
- package/dist/types/actions/getStatus.d.ts.map +0 -1
- package/dist/types/actions/getStepTransaction.d.ts +0 -12
- package/dist/types/actions/getStepTransaction.d.ts.map +0 -1
- package/dist/types/actions/getToken.d.ts +0 -13
- package/dist/types/actions/getToken.d.ts.map +0 -1
- package/dist/types/actions/getTokenBalance.d.ts +0 -13
- package/dist/types/actions/getTokenBalance.d.ts.map +0 -1
- package/dist/types/actions/getTokenBalances.d.ts +0 -13
- package/dist/types/actions/getTokenBalances.d.ts.map +0 -1
- package/dist/types/actions/getTokenBalancesByChain.d.ts +0 -17
- package/dist/types/actions/getTokenBalancesByChain.d.ts.map +0 -1
- package/dist/types/actions/getTokens.d.ts +0 -16
- package/dist/types/actions/getTokens.d.ts.map +0 -1
- package/dist/types/actions/getTools.d.ts +0 -11
- package/dist/types/actions/getTools.d.ts.map +0 -1
- package/dist/types/actions/getTransactionHistory.d.ts +0 -17
- package/dist/types/actions/getTransactionHistory.d.ts.map +0 -1
- package/dist/types/actions/getWalletBalances.d.ts +0 -12
- package/dist/types/actions/getWalletBalances.d.ts.map +0 -1
- package/dist/types/actions/index.d.ts +0 -168
- package/dist/types/actions/index.d.ts.map +0 -1
- package/dist/types/actions/patchContractCalls.d.ts +0 -11
- package/dist/types/actions/patchContractCalls.d.ts.map +0 -1
- package/dist/types/actions/relayTransaction.d.ts +0 -12
- package/dist/types/actions/relayTransaction.d.ts.map +0 -1
- package/dist/types/client/createClient.d.ts +0 -3
- package/dist/types/client/createClient.d.ts.map +0 -1
- package/dist/types/client/getClientStorage.d.ts +0 -9
- package/dist/types/client/getClientStorage.d.ts.map +0 -1
- package/dist/types/core/BaseStepExecutionTask.d.ts +0 -6
- package/dist/types/core/BaseStepExecutionTask.d.ts.map +0 -1
- package/dist/types/core/BaseStepExecutor.d.ts +0 -20
- package/dist/types/core/BaseStepExecutor.d.ts.map +0 -1
- package/dist/types/core/StatusManager.d.ts +0 -70
- package/dist/types/core/StatusManager.d.ts.map +0 -1
- package/dist/types/core/TaskPipeline.d.ts +0 -8
- package/dist/types/core/TaskPipeline.d.ts.map +0 -1
- package/dist/types/core/actionMessages.d.ts +0 -5
- package/dist/types/core/actionMessages.d.ts.map +0 -1
- package/dist/types/core/execution.d.ts +0 -44
- package/dist/types/core/execution.d.ts.map +0 -1
- package/dist/types/core/executionState.d.ts +0 -18
- package/dist/types/core/executionState.d.ts.map +0 -1
- package/dist/types/core/prepareRestart.d.ts +0 -3
- package/dist/types/core/prepareRestart.d.ts.map +0 -1
- package/dist/types/core/storage.d.ts +0 -18
- package/dist/types/core/storage.d.ts.map +0 -1
- package/dist/types/core/tasks/CheckBalanceTask.d.ts +0 -6
- package/dist/types/core/tasks/CheckBalanceTask.d.ts.map +0 -1
- package/dist/types/core/tasks/PrepareTransactionTask.d.ts +0 -6
- package/dist/types/core/tasks/PrepareTransactionTask.d.ts.map +0 -1
- package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts +0 -9
- package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts.map +0 -1
- package/dist/types/core/tasks/helpers/checkBalance.d.ts +0 -4
- package/dist/types/core/tasks/helpers/checkBalance.d.ts.map +0 -1
- package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts +0 -3
- package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts.map +0 -1
- package/dist/types/core/tasks/helpers/stepComparison.d.ts +0 -17
- package/dist/types/core/tasks/helpers/stepComparison.d.ts.map +0 -1
- package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts +0 -5
- package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts.map +0 -1
- package/dist/types/core/utils.d.ts +0 -100
- package/dist/types/core/utils.d.ts.map +0 -1
- package/dist/types/errors/SDKError.d.ts +0 -13
- package/dist/types/errors/SDKError.d.ts.map +0 -1
- package/dist/types/errors/baseError.d.ts +0 -7
- package/dist/types/errors/baseError.d.ts.map +0 -1
- package/dist/types/errors/constants.d.ts +0 -52
- package/dist/types/errors/constants.d.ts.map +0 -1
- package/dist/types/errors/errors.d.ts +0 -34
- package/dist/types/errors/errors.d.ts.map +0 -1
- package/dist/types/errors/httpError.d.ts +0 -21
- package/dist/types/errors/httpError.d.ts.map +0 -1
- package/dist/types/errors/utils/baseErrorRootCause.d.ts +0 -4
- package/dist/types/errors/utils/baseErrorRootCause.d.ts.map +0 -1
- package/dist/types/errors/utils/rootCause.d.ts +0 -2
- package/dist/types/errors/utils/rootCause.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -56
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/types/actions.d.ts +0 -10
- package/dist/types/types/actions.d.ts.map +0 -1
- package/dist/types/types/core.d.ts +0 -184
- package/dist/types/types/core.d.ts.map +0 -1
- package/dist/types/types/execution.d.ts +0 -24
- package/dist/types/types/execution.d.ts.map +0 -1
- package/dist/types/types/request.d.ts +0 -4
- package/dist/types/types/request.d.ts.map +0 -1
- package/dist/types/utils/checkPackageUpdates.d.ts +0 -2
- package/dist/types/utils/checkPackageUpdates.d.ts.map +0 -1
- package/dist/types/utils/convertQuoteToRoute.d.ts +0 -19
- package/dist/types/utils/convertQuoteToRoute.d.ts.map +0 -1
- package/dist/types/utils/decode.d.ts +0 -2
- package/dist/types/utils/decode.d.ts.map +0 -1
- package/dist/types/utils/fetchTxErrorDetails.d.ts +0 -2
- package/dist/types/utils/fetchTxErrorDetails.d.ts.map +0 -1
- package/dist/types/utils/formatUnits.d.ts +0 -5
- package/dist/types/utils/formatUnits.d.ts.map +0 -1
- package/dist/types/utils/getTransactionMessage.d.ts +0 -4
- package/dist/types/utils/getTransactionMessage.d.ts.map +0 -1
- package/dist/types/utils/isHex.d.ts +0 -5
- package/dist/types/utils/isHex.d.ts.map +0 -1
- package/dist/types/utils/isRoutesRequest.d.ts +0 -3
- package/dist/types/utils/isRoutesRequest.d.ts.map +0 -1
- package/dist/types/utils/isStep.d.ts +0 -3
- package/dist/types/utils/isStep.d.ts.map +0 -1
- package/dist/types/utils/isToken.d.ts +0 -3
- package/dist/types/utils/isToken.d.ts.map +0 -1
- package/dist/types/utils/parseUnits.d.ts +0 -5
- package/dist/types/utils/parseUnits.d.ts.map +0 -1
- package/dist/types/utils/request.d.ts +0 -7
- package/dist/types/utils/request.d.ts.map +0 -1
- package/dist/types/utils/sleep.d.ts +0 -2
- package/dist/types/utils/sleep.d.ts.map +0 -1
- package/dist/types/utils/waitForResult.d.ts +0 -11
- package/dist/types/utils/waitForResult.d.ts.map +0 -1
- package/dist/types/utils/withDedupe.d.ts +0 -18
- package/dist/types/utils/withDedupe.d.ts.map +0 -1
- package/dist/types/version.d.ts +0 -3
- package/dist/types/version.d.ts.map +0 -1
|
@@ -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,wCAAwC,EAClE,SACA,UASU;CACZ,OAAO,IAAI,SAAS,SAAS,WAAW;EACrC,CAAC,YAAY;GACZ,IAAI;GACJ,IAAI;IACF,MAAM,aAAa,IAAI,iBAAiB;IACxC,IAAI,UAAU,GACZ,YAAY,iBAAiB;KAC3B,IAAI,QACF,WAAW,OAAO;UAElB,OAAO,cAAc;OAEtB,QAAQ;IAEb,QAAQ,MAAM,GAAG,EAAE,QAAQ,YAAY,UAAU,MAAM,CAAC,CAAC;YAClD,KAAK;IACZ,IAAK,KAAe,SAAS,cAC3B,OAAO,cAAc;IAEvB,OAAO,IAAI;aACH;IACR,aAAa,UAAU;;MAEvB;GACJ"}
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
//#region src/version.d.ts
|
|
2
|
+
declare const name = "@lifi/sdk";
|
|
3
|
+
declare const version = "4.0.0-beta.10";
|
|
4
|
+
//#endregion
|
|
5
|
+
export { name, version };
|
|
6
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","names":[],"sources":["../../src/version.ts"],"mappings":";cAAa,IAAA;AAAA,cACA,OAAA"}
|
package/dist/esm/version.js
CHANGED
package/dist/esm/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","
|
|
1
|
+
{"version":3,"file":"version.js","names":[],"sources":["../../src/version.ts"],"sourcesContent":["export const name = '@lifi/sdk'\nexport const version = '4.0.0-beta.10'\n"],"mappings":";AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/sdk",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.10",
|
|
4
4
|
"description": "LI.FI SDK for Any-to-Any Cross-Chain-Swap",
|
|
5
5
|
"homepage": "https://github.com/lifinance/sdk",
|
|
6
6
|
"bugs": {
|
|
@@ -17,18 +17,18 @@
|
|
|
17
17
|
"sideEffects": false,
|
|
18
18
|
"main": "./dist/cjs/index.js",
|
|
19
19
|
"module": "./dist/esm/index.js",
|
|
20
|
-
"types": "./dist/
|
|
21
|
-
"typings": "./dist/
|
|
20
|
+
"types": "./dist/esm/index.d.ts",
|
|
21
|
+
"typings": "./dist/esm/index.d.ts",
|
|
22
22
|
"exports": {
|
|
23
23
|
".": {
|
|
24
|
-
"types": "./dist/
|
|
24
|
+
"types": "./dist/esm/index.d.ts",
|
|
25
25
|
"import": "./dist/esm/index.js",
|
|
26
26
|
"default": "./dist/cjs/index.js"
|
|
27
27
|
},
|
|
28
28
|
"./package.json": "./package.json"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@lifi/types": "
|
|
31
|
+
"@lifi/types": "17.80.0"
|
|
32
32
|
},
|
|
33
33
|
"publishConfig": {
|
|
34
34
|
"access": "public"
|
package/src/actions/getChains.ts
CHANGED
|
@@ -31,7 +31,8 @@ export const _getChains = async (
|
|
|
31
31
|
): Promise<ExtendedChain[]> => {
|
|
32
32
|
if (params) {
|
|
33
33
|
for (const key of Object.keys(params)) {
|
|
34
|
-
|
|
34
|
+
const value = params[key as keyof ChainsRequest]
|
|
35
|
+
if (value === undefined || value === null) {
|
|
35
36
|
delete params[key as keyof ChainsRequest]
|
|
36
37
|
}
|
|
37
38
|
}
|
package/src/actions/getTokens.ts
CHANGED
|
@@ -32,7 +32,8 @@ export async function getTokens(
|
|
|
32
32
|
): Promise<TokensResponse> {
|
|
33
33
|
if (params) {
|
|
34
34
|
for (const key of Object.keys(params)) {
|
|
35
|
-
|
|
35
|
+
const value = params[key as keyof TokensRequest]
|
|
36
|
+
if (value === undefined || value === null) {
|
|
36
37
|
delete params[key as keyof TokensRequest]
|
|
37
38
|
}
|
|
38
39
|
}
|
|
@@ -40,11 +41,13 @@ export async function getTokens(
|
|
|
40
41
|
const urlSearchParams = new URLSearchParams(
|
|
41
42
|
params as Record<string, string>
|
|
42
43
|
).toString()
|
|
43
|
-
const
|
|
44
|
+
const _isExtended = params?.extended === true
|
|
44
45
|
const response = await withDedupe(
|
|
45
46
|
() =>
|
|
46
47
|
request<
|
|
47
|
-
typeof
|
|
48
|
+
typeof _isExtended extends true
|
|
49
|
+
? TokensExtendedResponse
|
|
50
|
+
: TokensResponse
|
|
48
51
|
>(client.config, `${client.config.apiUrl}/tokens?${urlSearchParams}`, {
|
|
49
52
|
signal: options?.signal,
|
|
50
53
|
}),
|
package/src/actions/getTools.ts
CHANGED
|
@@ -16,7 +16,8 @@ export const getTools = async (
|
|
|
16
16
|
): Promise<ToolsResponse> => {
|
|
17
17
|
if (params) {
|
|
18
18
|
for (const key of Object.keys(params)) {
|
|
19
|
-
|
|
19
|
+
const value = params[key as keyof ToolsRequest]
|
|
20
|
+
if (value === undefined || value === null) {
|
|
20
21
|
delete params[key as keyof ToolsRequest]
|
|
21
22
|
}
|
|
22
23
|
}
|
|
@@ -20,16 +20,18 @@ export function createClient(options: SDKConfig): SDKClient {
|
|
|
20
20
|
checkPackageUpdates(name, version)
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
const { providers, ...configOptions } = options
|
|
24
|
+
|
|
23
25
|
const _config: SDKBaseConfig = {
|
|
24
|
-
...
|
|
25
|
-
apiUrl:
|
|
26
|
-
rpcUrls:
|
|
27
|
-
debug:
|
|
28
|
-
preloadChains:
|
|
29
|
-
integrator:
|
|
26
|
+
...configOptions,
|
|
27
|
+
apiUrl: configOptions?.apiUrl ?? 'https://li.quest/v1',
|
|
28
|
+
rpcUrls: configOptions?.rpcUrls ?? {},
|
|
29
|
+
debug: configOptions?.debug ?? false,
|
|
30
|
+
preloadChains: configOptions?.preloadChains ?? true,
|
|
31
|
+
integrator: configOptions?.integrator ?? 'lifi-sdk',
|
|
30
32
|
}
|
|
31
33
|
|
|
32
|
-
let _providers: SDKProvider[] = []
|
|
34
|
+
let _providers: SDKProvider[] = providers ?? []
|
|
33
35
|
const _storage = getClientStorage(_config)
|
|
34
36
|
|
|
35
37
|
const client: SDKClient = {
|
|
@@ -6,7 +6,14 @@ import type { RPCUrls, SDKBaseConfig } from '../types/core.js'
|
|
|
6
6
|
// 6 hours in milliseconds
|
|
7
7
|
const chainsRefreshInterval = 1000 * 60 * 60 * 6
|
|
8
8
|
|
|
9
|
-
export
|
|
9
|
+
export interface ClientStorage {
|
|
10
|
+
readonly needReset: boolean
|
|
11
|
+
setChains(chains: ExtendedChain[]): void
|
|
12
|
+
getChains(): Promise<ExtendedChain[]>
|
|
13
|
+
getRpcUrls(): Promise<RPCUrls>
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const getClientStorage = (config: SDKBaseConfig): ClientStorage => {
|
|
10
17
|
let _chains = [] as ExtendedChain[]
|
|
11
18
|
let _rpcUrls = { ...config.rpcUrls } as RPCUrls
|
|
12
19
|
let _chainsUpdatedAt: number | undefined
|
|
@@ -42,6 +49,7 @@ export const getClientStorage = (config: SDKBaseConfig) => {
|
|
|
42
49
|
ChainType.SVM,
|
|
43
50
|
ChainType.UTXO,
|
|
44
51
|
ChainType.MVM,
|
|
52
|
+
ChainType.TVM,
|
|
45
53
|
],
|
|
46
54
|
})
|
|
47
55
|
_chainsUpdatedAt = Date.now()
|
|
@@ -102,9 +102,8 @@ export abstract class BaseStepExecutor implements StepExecutor {
|
|
|
102
102
|
|
|
103
103
|
return step
|
|
104
104
|
} catch (error: any) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
: undefined
|
|
105
|
+
// Derive failing action from last in execution.actions
|
|
106
|
+
const action = step.execution?.actions?.at(-1)
|
|
108
107
|
const parsed = await this.parseErrors(error, step, action, retryParams)
|
|
109
108
|
if (!(parsed instanceof ExecuteStepRetryError)) {
|
|
110
109
|
if (action) {
|
|
@@ -47,7 +47,6 @@ export class StatusManager {
|
|
|
47
47
|
step.execution.startedAt = Date.now()
|
|
48
48
|
step.execution.status = 'PENDING'
|
|
49
49
|
step.execution.signedAt = undefined
|
|
50
|
-
step.execution.lastActionType = undefined
|
|
51
50
|
step.execution.error = undefined
|
|
52
51
|
this.updateStepInRoute(step)
|
|
53
52
|
}
|
|
@@ -122,7 +121,6 @@ export class StatusManager {
|
|
|
122
121
|
}
|
|
123
122
|
|
|
124
123
|
step.execution.actions.push(newAction)
|
|
125
|
-
step.execution.lastActionType = type
|
|
126
124
|
this.updateStepInRoute(step)
|
|
127
125
|
return newAction
|
|
128
126
|
}
|
|
@@ -201,8 +199,6 @@ export class StatusManager {
|
|
|
201
199
|
break
|
|
202
200
|
}
|
|
203
201
|
|
|
204
|
-
step.execution.lastActionType = type
|
|
205
|
-
|
|
206
202
|
currentAction.status = status
|
|
207
203
|
currentAction.message = getActionMessage(type, status)
|
|
208
204
|
// set extra parameters or overwrite the standard params set in the switch statement
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { RouteExtended } from '../types/core.js'
|
|
2
2
|
|
|
3
|
-
export const prepareRestart = (route: RouteExtended) => {
|
|
3
|
+
export const prepareRestart = (route: RouteExtended): void => {
|
|
4
4
|
for (let index = 0; index < route.steps.length; index++) {
|
|
5
5
|
const step = route.steps[index]
|
|
6
6
|
if (step.execution) {
|
|
@@ -22,8 +22,6 @@ export const prepareRestart = (route: RouteExtended) => {
|
|
|
22
22
|
// If no tx hash exists, reset the actions array
|
|
23
23
|
step.execution.actions = []
|
|
24
24
|
}
|
|
25
|
-
// Reset the last action type
|
|
26
|
-
step.execution.lastActionType = undefined
|
|
27
25
|
}
|
|
28
26
|
step.transactionRequest = undefined
|
|
29
27
|
}
|
|
@@ -2,9 +2,25 @@ import { LiFiErrorCode } from '../../errors/constants.js'
|
|
|
2
2
|
import { TransactionError } from '../../errors/errors.js'
|
|
3
3
|
import type { StepExecutorContext, TaskResult } from '../../types/execution.js'
|
|
4
4
|
import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js'
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
type CheckBalanceOptions,
|
|
7
|
+
checkBalance,
|
|
8
|
+
} from './helpers/checkBalance.js'
|
|
6
9
|
|
|
7
10
|
export class CheckBalanceTask extends BaseStepExecutionTask {
|
|
11
|
+
/**
|
|
12
|
+
* Per-step options hook for chain-specific subclasses (e.g. skip the
|
|
13
|
+
* gas check for smart-contract wallets or relayed steps). Default `{}`
|
|
14
|
+
* keeps behavior unchanged for every provider that doesn't override.
|
|
15
|
+
* Resolved lazily inside `run()` — pipelines that resume past
|
|
16
|
+
* `CheckBalance` pay no cost.
|
|
17
|
+
*/
|
|
18
|
+
protected getCheckBalanceOptions(
|
|
19
|
+
_context: StepExecutorContext
|
|
20
|
+
): Promise<CheckBalanceOptions> {
|
|
21
|
+
return Promise.resolve({})
|
|
22
|
+
}
|
|
23
|
+
|
|
8
24
|
async run(context: StepExecutorContext): Promise<TaskResult> {
|
|
9
25
|
const { client, step, statusManager, isBridgeExecution } = context
|
|
10
26
|
|
|
@@ -23,7 +39,8 @@ export class CheckBalanceTask extends BaseStepExecutionTask {
|
|
|
23
39
|
)
|
|
24
40
|
}
|
|
25
41
|
|
|
26
|
-
await
|
|
42
|
+
const options = await this.getCheckBalanceOptions(context)
|
|
43
|
+
await checkBalance(client, walletAddress, step, options)
|
|
27
44
|
return { status: 'COMPLETED' }
|
|
28
45
|
}
|
|
29
46
|
}
|
|
@@ -1,51 +1,213 @@
|
|
|
1
|
-
import type { LiFiStep } from '@lifi/types'
|
|
2
|
-
import { getTokenBalance } from '../../../actions/getTokenBalance.js'
|
|
1
|
+
import type { LiFiStep, Token, TokenAmount } from '@lifi/types'
|
|
3
2
|
import { BalanceError } from '../../../errors/errors.js'
|
|
4
3
|
import type { SDKClient } from '../../../types/core.js'
|
|
5
4
|
import { formatUnits } from '../../../utils/formatUnits.js'
|
|
6
5
|
import { sleep } from '../../../utils/sleep.js'
|
|
6
|
+
import { withTimeout } from '../../../utils/withTimeout.js'
|
|
7
7
|
|
|
8
|
+
const MAX_ATTEMPTS = 6
|
|
9
|
+
// Exponential backoff: 150, 300, 600, 1200, 2400 → ≈4.65s of sleep total.
|
|
10
|
+
const BACKOFF_BASE_MS = 150
|
|
11
|
+
const OVERALL_TIMEOUT_MS = 10_000
|
|
12
|
+
const SLIPPAGE_PRECISION = 1_000_000_000n
|
|
13
|
+
|
|
14
|
+
type Bucket = 'source' | 'gas' | 'fee'
|
|
15
|
+
|
|
16
|
+
type Requirement = {
|
|
17
|
+
token: Token
|
|
18
|
+
sourcePart: bigint // step.action.fromAmount
|
|
19
|
+
gasPart: bigint // step.estimate.gasCosts in this token
|
|
20
|
+
feePart: bigint // non-included step.estimate.feeCosts in this token
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type CheckBalanceOptions = {
|
|
24
|
+
/**
|
|
25
|
+
* Set to `false` when outer-tx gas is paid by something other than
|
|
26
|
+
* `walletAddress` (SCA executor, 4337 bundler / paymaster, relayer):
|
|
27
|
+
* `gasPart` is excluded from the sufficiency check and slippage rescue.
|
|
28
|
+
* Source amount and non-included fees (e.g. LZ `msg.value`) are still
|
|
29
|
+
* verified. Defaults to `true` (strict, today's behavior).
|
|
30
|
+
*/
|
|
31
|
+
walletPaysGas?: boolean
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Verifies that the wallet holds enough of every token required to execute
|
|
36
|
+
* the step on its source chain — the source-token amount, any gas costs, and
|
|
37
|
+
* any non-included fee costs. Reads all balances in one batched provider
|
|
38
|
+
* call, retries within a bounded budget to absorb transient RPC failures and
|
|
39
|
+
* post-confirmation propagation lag, and applies slippage to the source-token
|
|
40
|
+
* portion only as a last resort (overhead is never trimmed).
|
|
41
|
+
*
|
|
42
|
+
* Throws BalanceError("The balance is too low.") on a genuine shortfall, or
|
|
43
|
+
* BalanceError("Could not read wallet balance.") if the balance can't be read
|
|
44
|
+
* after retries.
|
|
45
|
+
*/
|
|
8
46
|
export const checkBalance = async (
|
|
9
47
|
client: SDKClient,
|
|
10
48
|
walletAddress: string,
|
|
11
49
|
step: LiFiStep,
|
|
12
|
-
|
|
50
|
+
options: CheckBalanceOptions = {}
|
|
13
51
|
): Promise<void> => {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
52
|
+
const walletPaysGas = options.walletPaysGas ?? true
|
|
53
|
+
const fromChainId = step.action.fromChainId
|
|
54
|
+
const requirements = new Map<string, Requirement>()
|
|
55
|
+
const add = (token: Token, amount: bigint, bucket: Bucket): void => {
|
|
56
|
+
if (token.chainId !== fromChainId || amount === 0n) {
|
|
57
|
+
return
|
|
58
|
+
}
|
|
59
|
+
const key = token.address.toLowerCase()
|
|
60
|
+
const req = requirements.get(key) ?? {
|
|
61
|
+
token,
|
|
62
|
+
sourcePart: 0n,
|
|
63
|
+
gasPart: 0n,
|
|
64
|
+
feePart: 0n,
|
|
65
|
+
}
|
|
66
|
+
if (bucket === 'source') {
|
|
67
|
+
req.sourcePart += amount
|
|
68
|
+
} else if (bucket === 'gas') {
|
|
69
|
+
req.gasPart += amount
|
|
70
|
+
} else {
|
|
71
|
+
req.feePart += amount
|
|
72
|
+
}
|
|
73
|
+
requirements.set(key, req)
|
|
74
|
+
}
|
|
75
|
+
add(step.action.fromToken, BigInt(step.action.fromAmount), 'source')
|
|
76
|
+
for (const gas of step.estimate?.gasCosts ?? []) {
|
|
77
|
+
add(gas.token, BigInt(gas.amount), 'gas')
|
|
78
|
+
}
|
|
79
|
+
for (const fee of step.estimate?.feeCosts ?? []) {
|
|
80
|
+
// Included fees are already part of fromAmount — don't count twice.
|
|
81
|
+
if (!fee.included) {
|
|
82
|
+
add(fee.token, BigInt(fee.amount), 'fee')
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const reservedOverhead = (r: Requirement): bigint =>
|
|
87
|
+
r.feePart + (walletPaysGas ? r.gasPart : 0n)
|
|
88
|
+
const need = (r: Requirement): bigint => r.sourcePart + reservedOverhead(r)
|
|
89
|
+
|
|
90
|
+
// Drop pure-gas entries when `walletPaysGas` is false (e.g. native ETH
|
|
91
|
+
// on Safe Apps with only `gasPart`) — saves one balance read each.
|
|
92
|
+
for (const [key, req] of requirements) {
|
|
93
|
+
if (need(req) === 0n) {
|
|
94
|
+
requirements.delete(key)
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (requirements.size === 0) {
|
|
99
|
+
return
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// Provider is dispatched by wallet address; all requirements share the
|
|
103
|
+
// source chain, which matches this provider by virtue of the address.
|
|
104
|
+
const provider = client.providers.find((p) => p.isAddress(walletAddress))
|
|
105
|
+
if (!provider) {
|
|
106
|
+
throw new Error(`SDK Token Provider for ${walletAddress} is not found.`)
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
const reqs = Array.from(requirements.values())
|
|
110
|
+
const tokens = reqs.map((r) => r.token)
|
|
111
|
+
const slippage = step.action.slippage ?? 0
|
|
112
|
+
const slippageScaled = BigInt(
|
|
113
|
+
Math.floor((1 - slippage) * Number(SLIPPAGE_PRECISION))
|
|
18
114
|
)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const current = formatUnits(currentBalance, token.decimals)
|
|
38
|
-
let errorMessage = `Your ${token.symbol} balance is too low, you try to transfer ${needed} ${token.symbol}, but your wallet only holds ${current} ${token.symbol}. No funds have been sent.`
|
|
39
|
-
|
|
40
|
-
if (currentBalance !== 0n) {
|
|
41
|
-
errorMessage += `If the problem consists, please delete this transfer and start a new one with a maximum of ${current} ${token.symbol}.`
|
|
115
|
+
|
|
116
|
+
await withTimeout(
|
|
117
|
+
async () => {
|
|
118
|
+
for (let attempt = 0; attempt < MAX_ATTEMPTS; attempt++) {
|
|
119
|
+
const isFinal = attempt === MAX_ATTEMPTS - 1
|
|
120
|
+
|
|
121
|
+
let balances: TokenAmount[]
|
|
122
|
+
try {
|
|
123
|
+
balances = await provider.getBalance(client, walletAddress, tokens)
|
|
124
|
+
} catch (error) {
|
|
125
|
+
if (isFinal) {
|
|
126
|
+
throw new BalanceError(
|
|
127
|
+
'Could not read wallet balance.',
|
|
128
|
+
error as Error
|
|
129
|
+
)
|
|
130
|
+
}
|
|
131
|
+
await sleep(BACKOFF_BASE_MS * 2 ** attempt)
|
|
132
|
+
continue
|
|
42
133
|
}
|
|
43
134
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
new Error(errorMessage)
|
|
135
|
+
const balanceByAddress = new Map(
|
|
136
|
+
balances.map((b) => [b.address.toLowerCase(), b.amount] as const)
|
|
47
137
|
)
|
|
138
|
+
|
|
139
|
+
const unknown: Token[] = []
|
|
140
|
+
const insufficient: { req: Requirement; have: bigint }[] = []
|
|
141
|
+
for (const req of reqs) {
|
|
142
|
+
const have = balanceByAddress.get(req.token.address.toLowerCase())
|
|
143
|
+
if (have === undefined) {
|
|
144
|
+
unknown.push(req.token)
|
|
145
|
+
} else if (have < need(req)) {
|
|
146
|
+
insufficient.push({ req, have })
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (unknown.length === 0 && insufficient.length === 0) {
|
|
151
|
+
return
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// Final-attempt slippage rescue: only when the sole shortfall is
|
|
155
|
+
// the source-token portion. Trim source to (balance − reserved
|
|
156
|
+
// overhead) so the overhead reserve is preserved.
|
|
157
|
+
if (
|
|
158
|
+
isFinal &&
|
|
159
|
+
unknown.length === 0 &&
|
|
160
|
+
insufficient.length === 1 &&
|
|
161
|
+
insufficient[0].req.sourcePart > 0n
|
|
162
|
+
) {
|
|
163
|
+
const { req, have } = insufficient[0]
|
|
164
|
+
const reserved = reservedOverhead(req)
|
|
165
|
+
const minAcceptable =
|
|
166
|
+
(req.sourcePart * slippageScaled) / SLIPPAGE_PRECISION + reserved
|
|
167
|
+
if (have >= minAcceptable) {
|
|
168
|
+
const newFromAmount = (have - reserved).toString()
|
|
169
|
+
step.action.fromAmount = newFromAmount
|
|
170
|
+
if (step.includedSteps?.length) {
|
|
171
|
+
step.includedSteps[0].action.fromAmount = newFromAmount
|
|
172
|
+
}
|
|
173
|
+
return
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (isFinal) {
|
|
178
|
+
if (unknown.length > 0) {
|
|
179
|
+
throw new BalanceError(
|
|
180
|
+
'Could not read wallet balance.',
|
|
181
|
+
new Error(
|
|
182
|
+
`Could not read balance for: ${unknown
|
|
183
|
+
.map((t) => t.symbol || t.address)
|
|
184
|
+
.join(', ')}.`
|
|
185
|
+
)
|
|
186
|
+
)
|
|
187
|
+
}
|
|
188
|
+
const lines = insufficient.map(({ req, have }) => {
|
|
189
|
+
const needed = formatUnits(need(req), req.token.decimals)
|
|
190
|
+
const current = formatUnits(have, req.token.decimals)
|
|
191
|
+
const symbol = req.token.symbol
|
|
192
|
+
// The "fees" branch covers pure-overhead tokens; with
|
|
193
|
+
// walletPaysGas=false, gas is excluded from `need(req)` so it
|
|
194
|
+
// only fires for genuine fee shortfalls.
|
|
195
|
+
return req.sourcePart > 0n
|
|
196
|
+
? `Your ${symbol} balance is too low, you try to transfer ${needed} ${symbol}, but your wallet only holds ${current} ${symbol}.`
|
|
197
|
+
: `Insufficient ${symbol} for fees: need ${needed} ${symbol}, have ${current} ${symbol}.`
|
|
198
|
+
})
|
|
199
|
+
throw new BalanceError(
|
|
200
|
+
'The balance is too low.',
|
|
201
|
+
new Error(`${lines.join(' ')} No funds have been sent.`)
|
|
202
|
+
)
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
await sleep(BACKOFF_BASE_MS * 2 ** attempt)
|
|
48
206
|
}
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
timeout: OVERALL_TIMEOUT_MS,
|
|
210
|
+
errorInstance: new BalanceError('Could not read wallet balance.'),
|
|
49
211
|
}
|
|
50
|
-
|
|
212
|
+
)
|
|
51
213
|
}
|
|
@@ -23,6 +23,7 @@ export async function waitForTransactionStatus(
|
|
|
23
23
|
toChain: step.action.toChainId,
|
|
24
24
|
txHash,
|
|
25
25
|
...(step.tool !== 'custom' && { bridge: step.tool }),
|
|
26
|
+
...(step.transactionId && { transactionId: step.transactionId }),
|
|
26
27
|
})
|
|
27
28
|
.then((statusResponse) => {
|
|
28
29
|
switch (statusResponse.status) {
|
package/src/core/utils.ts
CHANGED
|
@@ -34,7 +34,7 @@ export function getRpcUrlsFromChains(
|
|
|
34
34
|
existingRpcUrls: RPCUrls,
|
|
35
35
|
chains: ExtendedChain[],
|
|
36
36
|
skipChains?: ChainId[]
|
|
37
|
-
) {
|
|
37
|
+
): RPCUrls {
|
|
38
38
|
const rpcUrlsFromChains = chains.reduce((rpcUrls, chain) => {
|
|
39
39
|
if (chain.metamask?.rpcUrls?.length) {
|
|
40
40
|
rpcUrls[chain.id as ChainId] = chain.metamask.rpcUrls
|
package/src/errors/httpError.ts
CHANGED
|
@@ -74,7 +74,7 @@ export class HTTPError extends BaseError {
|
|
|
74
74
|
this.fetchOptions = options
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
async buildAdditionalDetails() {
|
|
77
|
+
async buildAdditionalDetails(): Promise<void> {
|
|
78
78
|
if (this.type) {
|
|
79
79
|
this.message = `[${this.type}] ${this.message}`
|
|
80
80
|
}
|
|
@@ -82,13 +82,11 @@ export class HTTPError extends BaseError {
|
|
|
82
82
|
try {
|
|
83
83
|
this.responseBody = await this.response.json()
|
|
84
84
|
|
|
85
|
-
if (this.responseBody) {
|
|
85
|
+
if (this.responseBody?.message) {
|
|
86
86
|
this.message += this.message.endsWith('.')
|
|
87
|
-
? ` ${this.responseBody
|
|
88
|
-
: `. ${this.responseBody
|
|
87
|
+
? ` ${this.responseBody.message.toString()}`
|
|
88
|
+
: `. ${this.responseBody.message.toString()}`
|
|
89
89
|
}
|
|
90
90
|
} catch {}
|
|
91
|
-
|
|
92
|
-
return this
|
|
93
91
|
}
|
|
94
92
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseError } from '../baseError.js'
|
|
2
2
|
import { HTTPError } from '../httpError.js'
|
|
3
3
|
|
|
4
|
-
export const getRootCauseBaseError = (e: Error) => {
|
|
4
|
+
export const getRootCauseBaseError = (e: Error): BaseError => {
|
|
5
5
|
let rootCause = e
|
|
6
6
|
while (rootCause.cause && rootCause.cause instanceof BaseError) {
|
|
7
7
|
rootCause = rootCause.cause as BaseError
|
|
@@ -9,7 +9,7 @@ export const getRootCauseBaseError = (e: Error) => {
|
|
|
9
9
|
return rootCause as BaseError
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export const getRootCauseBaseErrorMessage = (e: Error) => {
|
|
12
|
+
export const getRootCauseBaseErrorMessage = (e: Error): string => {
|
|
13
13
|
const rootCause = getRootCauseBaseError(e)
|
|
14
14
|
|
|
15
15
|
return rootCause instanceof HTTPError
|
package/src/index.ts
CHANGED
|
@@ -44,7 +44,10 @@ export {
|
|
|
44
44
|
} from './core/storage.js'
|
|
45
45
|
export { TaskPipeline } from './core/TaskPipeline.js'
|
|
46
46
|
export { CheckBalanceTask } from './core/tasks/CheckBalanceTask.js'
|
|
47
|
-
export {
|
|
47
|
+
export {
|
|
48
|
+
type CheckBalanceOptions,
|
|
49
|
+
checkBalance,
|
|
50
|
+
} from './core/tasks/helpers/checkBalance.js'
|
|
48
51
|
export { getTransactionRequestData } from './core/tasks/helpers/getTransactionRequestData.js'
|
|
49
52
|
export { stepComparison } from './core/tasks/helpers/stepComparison.js'
|
|
50
53
|
export { PrepareTransactionTask } from './core/tasks/PrepareTransactionTask.js'
|
|
@@ -116,3 +119,4 @@ export { parseUnits } from './utils/parseUnits.js'
|
|
|
116
119
|
export { sleep } from './utils/sleep.js'
|
|
117
120
|
export { waitForResult } from './utils/waitForResult.js'
|
|
118
121
|
export { LruMap, withDedupe } from './utils/withDedupe.js'
|
|
122
|
+
export { withTimeout } from './utils/withTimeout.js'
|
package/src/types/core.ts
CHANGED
|
@@ -40,6 +40,7 @@ export interface SDKBaseConfig {
|
|
|
40
40
|
|
|
41
41
|
export interface SDKConfig extends Partial<Omit<SDKBaseConfig, 'integrator'>> {
|
|
42
42
|
integrator: string
|
|
43
|
+
providers?: SDKProvider[]
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
export type RPCUrls = Partial<Record<ChainId, string[]>>
|
|
@@ -204,10 +205,6 @@ export interface ExecutionOptions {
|
|
|
204
205
|
getContractCalls?: GetContractCallsHook
|
|
205
206
|
adjustZeroOutputFromPreviousStep?: boolean
|
|
206
207
|
executeInBackground?: boolean
|
|
207
|
-
/**
|
|
208
|
-
* @deprecated
|
|
209
|
-
*/
|
|
210
|
-
infiniteApproval?: boolean
|
|
211
208
|
}
|
|
212
209
|
|
|
213
210
|
export type ExecutionStatus = 'ACTION_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE'
|
|
@@ -253,7 +250,6 @@ export interface Execution {
|
|
|
253
250
|
signedAt?: number
|
|
254
251
|
status: ExecutionStatus
|
|
255
252
|
actions: Array<ExecutionAction>
|
|
256
|
-
lastActionType?: ExecutionActionType
|
|
257
253
|
fromAmount?: string
|
|
258
254
|
toAmount?: string
|
|
259
255
|
toToken?: Token
|