@lifi/sdk 4.0.1-alpha.0 → 4.0.1
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 +1219 -0
- package/README.md +88 -5
- 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 -45
- 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 -44
- 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 -24
- 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 +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 +23 -11
- package/dist/cjs/core/BaseStepExecutor.js +67 -26
- package/dist/cjs/core/BaseStepExecutor.js.map +1 -1
- package/dist/cjs/core/StatusManager.d.ts +81 -20
- package/dist/cjs/core/StatusManager.js +158 -137
- package/dist/cjs/core/StatusManager.js.map +1 -1
- 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 -4
- package/dist/cjs/core/actionMessages.js +72 -58
- 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 -121
- 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 +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 -86
- 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 -47
- package/dist/cjs/errors/constants.js +60 -55
- package/dist/cjs/errors/constants.js.map +1 -1
- package/dist/cjs/errors/errors.d.ts +31 -16
- package/dist/cjs/errors/errors.js +57 -43
- 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 -46
- package/dist/cjs/index.js +130 -119
- 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 -164
- package/dist/cjs/types/core.js +0 -3
- package/dist/cjs/types/execution.d.ts +28 -0
- package/dist/cjs/types/execution.js +0 -0
- 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 -26
- package/dist/cjs/utils/waitForResult.js.map +1 -1
- package/dist/cjs/utils/withDedupe.d.ts +21 -4
- package/dist/cjs/utils/withDedupe.js +31 -27
- 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 -44
- 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 -50
- 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 -31
- 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 +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 +23 -11
- package/dist/esm/core/BaseStepExecutor.d.ts.map +1 -0
- package/dist/esm/core/BaseStepExecutor.js +67 -24
- package/dist/esm/core/BaseStepExecutor.js.map +1 -1
- package/dist/esm/core/StatusManager.d.ts +80 -64
- package/dist/esm/core/StatusManager.d.ts.map +1 -0
- package/dist/esm/core/StatusManager.js +157 -181
- package/dist/esm/core/StatusManager.js.map +1 -1
- 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 -4
- package/dist/esm/core/actionMessages.d.ts.map +1 -0
- package/dist/esm/core/actionMessages.js +72 -56
- 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 -162
- 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 -20
- package/dist/esm/core/prepareRestart.js.map +1 -1
- 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 +16 -93
- 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 -47
- package/dist/esm/errors/constants.d.ts.map +1 -0
- package/dist/esm/errors/constants.js +57 -52
- package/dist/esm/errors/constants.js.map +1 -1
- package/dist/esm/errors/errors.d.ts +31 -16
- package/dist/esm/errors/errors.d.ts.map +1 -0
- package/dist/esm/errors/errors.js +53 -37
- 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 -46
- package/dist/esm/index.js +53 -47
- 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 +181 -167
- 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 +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 +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 -31
- package/dist/esm/utils/waitForResult.js.map +1 -1
- package/dist/esm/utils/withDedupe.d.ts +20 -4
- package/dist/esm/utils/withDedupe.d.ts.map +1 -0
- package/dist/esm/utils/withDedupe.js +26 -28
- 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 +6 -5
- package/src/actions/getChains.ts +2 -1
- package/src/actions/getQuote.ts +4 -1
- package/src/actions/getRelayedTransactionStatus.ts +1 -1
- package/src/actions/getRelayerQuote.ts +4 -1
- package/src/actions/getStepTransaction.ts +13 -5
- 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/BaseStepExecutionTask.ts +9 -0
- package/src/core/BaseStepExecutor.ts +90 -2
- package/src/core/StatusManager.ts +62 -61
- package/src/core/TaskPipeline.ts +28 -0
- package/src/core/actionMessages.ts +20 -3
- package/src/core/execution.ts +17 -3
- package/src/core/prepareRestart.ts +3 -4
- 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/{stepComparison.ts → tasks/helpers/stepComparison.ts} +5 -5
- package/src/core/{waitForTransactionStatus.ts → tasks/helpers/waitForTransactionStatus.ts} +10 -7
- package/src/core/utils.ts +1 -1
- package/src/errors/constants.ts +1 -0
- package/src/errors/errors.ts +24 -0
- 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 +28 -4
- package/src/types/core.ts +23 -17
- package/src/types/execution.ts +32 -0
- 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/waitForResult.ts +9 -4
- package/src/utils/withDedupe.ts +2 -2
- package/src/utils/withTimeout.ts +50 -0
- package/src/version.ts +1 -1
- package/dist/cjs/core/checkBalance.d.ts +0 -3
- package/dist/cjs/core/checkBalance.js +0 -37
- package/dist/cjs/core/checkBalance.js.map +0 -1
- package/dist/cjs/core/stepComparison.d.ts +0 -4
- package/dist/cjs/core/stepComparison.js +0 -25
- package/dist/cjs/core/stepComparison.js.map +0 -1
- package/dist/cjs/core/waitForDestinationChainTransaction.d.ts +0 -4
- package/dist/cjs/core/waitForDestinationChainTransaction.js +0 -71
- package/dist/cjs/core/waitForDestinationChainTransaction.js.map +0 -1
- package/dist/cjs/core/waitForTransactionStatus.d.ts +0 -4
- package/dist/cjs/core/waitForTransactionStatus.js +0 -54
- package/dist/cjs/core/waitForTransactionStatus.js.map +0 -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/request.js.map +0 -1
- package/dist/esm/core/checkBalance.d.ts +0 -3
- package/dist/esm/core/checkBalance.js +0 -34
- package/dist/esm/core/checkBalance.js.map +0 -1
- package/dist/esm/core/stepComparison.d.ts +0 -16
- package/dist/esm/core/stepComparison.js +0 -35
- package/dist/esm/core/stepComparison.js.map +0 -1
- package/dist/esm/core/waitForDestinationChainTransaction.d.ts +0 -4
- package/dist/esm/core/waitForDestinationChainTransaction.js +0 -74
- package/dist/esm/core/waitForDestinationChainTransaction.js.map +0 -1
- package/dist/esm/core/waitForTransactionStatus.d.ts +0 -4
- package/dist/esm/core/waitForTransactionStatus.js +0 -51
- package/dist/esm/core/waitForTransactionStatus.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/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/BaseStepExecutor.d.ts +0 -13
- package/dist/types/core/BaseStepExecutor.d.ts.map +0 -1
- package/dist/types/core/StatusManager.d.ts +0 -68
- package/dist/types/core/StatusManager.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/checkBalance.d.ts +0 -4
- package/dist/types/core/checkBalance.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/stepComparison.d.ts +0 -17
- package/dist/types/core/stepComparison.d.ts.map +0 -1
- package/dist/types/core/utils.d.ts +0 -95
- package/dist/types/core/utils.d.ts.map +0 -1
- package/dist/types/core/waitForDestinationChainTransaction.d.ts +0 -5
- package/dist/types/core/waitForDestinationChainTransaction.d.ts.map +0 -1
- package/dist/types/core/waitForTransactionStatus.d.ts +0 -5
- package/dist/types/core/waitForTransactionStatus.d.ts.map +0 -1
- package/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 -51
- package/dist/types/errors/constants.d.ts.map +0 -1
- package/dist/types/errors/errors.d.ts +0 -24
- 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 -47
- 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 -171
- package/dist/types/types/core.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 -8
- 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
- package/src/core/checkBalance.ts +0 -51
- package/src/core/waitForDestinationChainTransaction.ts +0 -112
package/src/utils/formatUnits.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Divides a number by a given exponent of base 10 (10exponent), and formats it into a string representation of the number.
|
|
3
3
|
*/
|
|
4
|
-
export function formatUnits(value: bigint, decimals: number) {
|
|
4
|
+
export function formatUnits(value: bigint, decimals: number): string {
|
|
5
5
|
let display = value.toString()
|
|
6
6
|
|
|
7
7
|
const negative = display.startsWith('-')
|
package/src/utils/parseUnits.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Multiplies a string representation of a number by a given exponent of base 10 (10exponent).
|
|
3
3
|
*/
|
|
4
|
-
export function parseUnits(value: string, decimals: number) {
|
|
4
|
+
export function parseUnits(value: string, decimals: number): bigint {
|
|
5
5
|
if (!/^(-?)([0-9]*)\.?([0-9]*)$/.test(value)) {
|
|
6
6
|
throw new Error(`Number \`${value}\` is not a valid decimal number.`)
|
|
7
7
|
}
|
|
@@ -3,7 +3,7 @@ import { sleep } from './sleep.js'
|
|
|
3
3
|
/**
|
|
4
4
|
* Repeatedly calls a given asynchronous function until it resolves with a value
|
|
5
5
|
* @param fn The function that should be repeated
|
|
6
|
-
* @param interval The timeout in milliseconds between retries,
|
|
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
7
|
* @param maxRetries Maximum number of retries before throwing an error, defaults to 3
|
|
8
8
|
* @param shouldRetry Optional predicate to determine if an error should trigger a retry
|
|
9
9
|
* @returns The result of the fn function
|
|
@@ -11,18 +11,22 @@ import { sleep } from './sleep.js'
|
|
|
11
11
|
*/
|
|
12
12
|
export const waitForResult = async <T>(
|
|
13
13
|
fn: () => Promise<T | undefined>,
|
|
14
|
-
interval = 5000,
|
|
14
|
+
interval: number | ((poll: number) => number) = 5000,
|
|
15
15
|
maxRetries = 3,
|
|
16
16
|
shouldRetry: (count: number, error: unknown) => boolean = () => true
|
|
17
17
|
): Promise<T> => {
|
|
18
18
|
let result: T | undefined
|
|
19
19
|
let attempts = 0
|
|
20
|
+
let polls = 0
|
|
21
|
+
|
|
22
|
+
const getInterval = typeof interval === 'function' ? interval : () => interval
|
|
20
23
|
|
|
21
24
|
while (!result) {
|
|
22
25
|
try {
|
|
23
26
|
result = await fn()
|
|
24
27
|
if (!result) {
|
|
25
|
-
await sleep(
|
|
28
|
+
await sleep(getInterval(polls))
|
|
29
|
+
polls++
|
|
26
30
|
}
|
|
27
31
|
} catch (error) {
|
|
28
32
|
if (!shouldRetry(attempts, error)) {
|
|
@@ -32,7 +36,8 @@ export const waitForResult = async <T>(
|
|
|
32
36
|
if (attempts === maxRetries) {
|
|
33
37
|
throw error
|
|
34
38
|
}
|
|
35
|
-
await sleep(
|
|
39
|
+
await sleep(getInterval(polls))
|
|
40
|
+
polls++
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
43
|
|
package/src/utils/withDedupe.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* https://en.wikipedia.org/wiki/Cache_replacement_policies#LRU
|
|
5
5
|
*/
|
|
6
|
-
class LruMap<value = unknown> extends Map<string, value> {
|
|
6
|
+
export class LruMap<value = unknown> extends Map<string, value> {
|
|
7
7
|
maxSize: number
|
|
8
8
|
|
|
9
9
|
constructor(size: number) {
|
|
@@ -11,7 +11,7 @@ class LruMap<value = unknown> extends Map<string, value> {
|
|
|
11
11
|
this.maxSize = size
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
override set(key: string, value: value) {
|
|
14
|
+
override set(key: string, value: value): this {
|
|
15
15
|
super.set(key, value)
|
|
16
16
|
if (this.maxSize && this.size > this.maxSize) {
|
|
17
17
|
this.delete(this.keys().next().value!)
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wraps a function in a timeout.
|
|
3
|
+
* Based on viem's withTimeout implementation.
|
|
4
|
+
* @param fn - The function to wrap.
|
|
5
|
+
* @param timeout - The timeout in milliseconds.
|
|
6
|
+
* @param errorInstance - The error instance to throw when the timeout is reached.
|
|
7
|
+
* @param signal - Whether or not the timeout should use an abort signal.
|
|
8
|
+
* @returns The result of the function.
|
|
9
|
+
*/
|
|
10
|
+
export function withTimeout<T>(
|
|
11
|
+
fn: ({ signal }: { signal: AbortController['signal'] | null }) => Promise<T>,
|
|
12
|
+
{
|
|
13
|
+
errorInstance = new Error('Timed out after waiting for too long.'),
|
|
14
|
+
timeout,
|
|
15
|
+
signal,
|
|
16
|
+
}: {
|
|
17
|
+
// The error instance to throw when the timeout is reached.
|
|
18
|
+
errorInstance?: Error | undefined
|
|
19
|
+
// The timeout (in ms).
|
|
20
|
+
timeout: number
|
|
21
|
+
// Whether or not the timeout should use an abort signal.
|
|
22
|
+
signal?: boolean | undefined
|
|
23
|
+
}
|
|
24
|
+
): Promise<T> {
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
;(async () => {
|
|
27
|
+
let timeoutId!: NodeJS.Timeout
|
|
28
|
+
try {
|
|
29
|
+
const controller = new AbortController()
|
|
30
|
+
if (timeout > 0) {
|
|
31
|
+
timeoutId = setTimeout(() => {
|
|
32
|
+
if (signal) {
|
|
33
|
+
controller.abort()
|
|
34
|
+
} else {
|
|
35
|
+
reject(errorInstance)
|
|
36
|
+
}
|
|
37
|
+
}, timeout) as NodeJS.Timeout // need to cast because bun globals.d.ts overrides @types/node
|
|
38
|
+
}
|
|
39
|
+
resolve(await fn({ signal: controller?.signal || null }))
|
|
40
|
+
} catch (err) {
|
|
41
|
+
if ((err as Error)?.name === 'AbortError') {
|
|
42
|
+
reject(errorInstance)
|
|
43
|
+
}
|
|
44
|
+
reject(err)
|
|
45
|
+
} finally {
|
|
46
|
+
clearTimeout(timeoutId)
|
|
47
|
+
}
|
|
48
|
+
})()
|
|
49
|
+
})
|
|
50
|
+
}
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/sdk'
|
|
2
|
-
export const version = '4.0.1
|
|
2
|
+
export const version = '4.0.1'
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.checkBalance = void 0;
|
|
4
|
-
const getTokenBalance_js_1 = require("../actions/getTokenBalance.js");
|
|
5
|
-
const errors_js_1 = require("../errors/errors.js");
|
|
6
|
-
const formatUnits_js_1 = require("../utils/formatUnits.js");
|
|
7
|
-
const sleep_js_1 = require("../utils/sleep.js");
|
|
8
|
-
const checkBalance = async (client, walletAddress, step, depth = 0) => {
|
|
9
|
-
const token = await (0, getTokenBalance_js_1.getTokenBalance)(client, walletAddress, step.action.fromToken);
|
|
10
|
-
if (token) {
|
|
11
|
-
const currentBalance = token.amount ?? 0n;
|
|
12
|
-
const neededBalance = BigInt(step.action.fromAmount);
|
|
13
|
-
if (currentBalance < neededBalance) {
|
|
14
|
-
if (depth <= 3) {
|
|
15
|
-
await (0, sleep_js_1.sleep)(200);
|
|
16
|
-
await (0, exports.checkBalance)(client, walletAddress, step, depth + 1);
|
|
17
|
-
}
|
|
18
|
-
else if ((neededBalance *
|
|
19
|
-
BigInt((1 - (step.action.slippage ?? 0)) * 1_000_000_000)) /
|
|
20
|
-
1000000000n <=
|
|
21
|
-
currentBalance) {
|
|
22
|
-
step.action.fromAmount = currentBalance.toString();
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
const needed = (0, formatUnits_js_1.formatUnits)(neededBalance, token.decimals);
|
|
26
|
-
const current = (0, formatUnits_js_1.formatUnits)(currentBalance, token.decimals);
|
|
27
|
-
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.`;
|
|
28
|
-
if (currentBalance !== 0n) {
|
|
29
|
-
errorMessage += `If the problem consists, please delete this transfer and start a new one with a maximum of ${current} ${token.symbol}.`;
|
|
30
|
-
}
|
|
31
|
-
throw new errors_js_1.BalanceError('The balance is too low.', new Error(errorMessage));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
exports.checkBalance = checkBalance;
|
|
37
|
-
//# sourceMappingURL=checkBalance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../../src/core/checkBalance.ts"],"names":[],"mappings":";;;AACA,sEAA+D;AAC/D,mDAAkD;AAElD,4DAAqD;AACrD,gDAAyC;AAElC,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAiB,EACjB,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,IAAA,oCAAe,EACjC,MAAM,EACN,aAAa,EACb,IAAI,CAAC,MAAM,CAAC,SAAS,CACtB,CAAA;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,IAAA,gBAAK,EAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,IAAA,oBAAY,EAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YAC5D,CAAC;iBAAM,IACL,CAAC,aAAa;gBACZ,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;gBAC1D,WAAc;gBAChB,cAAc,EACd,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,IAAA,4BAAW,EAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACzD,MAAM,OAAO,GAAG,IAAA,4BAAW,EAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,YAAY,GAAG,QAAQ,KAAK,CAAC,MAAM,4CAA4C,MAAM,IAAI,KAAK,CAAC,MAAM,gCAAgC,OAAO,IAAI,KAAK,CAAC,MAAM,4BAA4B,CAAA;gBAE5L,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;oBAC1B,YAAY,IAAI,8FAA8F,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;gBAC1I,CAAC;gBAED,MAAM,IAAI,wBAAY,CACpB,yBAAyB,EACzB,IAAI,KAAK,CAAC,YAAY,CAAC,CACxB,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AA3CY,QAAA,YAAY,gBA2CxB"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { LiFiStep } from '@lifi/types';
|
|
2
|
-
import type { ExecutionOptions } from '../types/core.js';
|
|
3
|
-
import type { StatusManager } from './StatusManager.js';
|
|
4
|
-
export declare const stepComparison: (statusManager: StatusManager, oldStep: LiFiStep, newStep: LiFiStep, allowUserInteraction: boolean, executionOptions?: ExecutionOptions) => Promise<LiFiStep>;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.stepComparison = void 0;
|
|
4
|
-
const constants_js_1 = require("../errors/constants.js");
|
|
5
|
-
const errors_js_1 = require("../errors/errors.js");
|
|
6
|
-
const utils_js_1 = require("./utils.js");
|
|
7
|
-
const stepComparison = async (statusManager, oldStep, newStep, allowUserInteraction, executionOptions) => {
|
|
8
|
-
if ((0, utils_js_1.checkStepSlippageThreshold)(oldStep, newStep)) {
|
|
9
|
-
return statusManager.updateStepInRoute(newStep);
|
|
10
|
-
}
|
|
11
|
-
let allowStepUpdate;
|
|
12
|
-
if (allowUserInteraction) {
|
|
13
|
-
allowStepUpdate = await executionOptions?.acceptExchangeRateUpdateHook?.({
|
|
14
|
-
oldToAmount: oldStep.estimate.toAmount,
|
|
15
|
-
newToAmount: newStep.estimate.toAmount,
|
|
16
|
-
toToken: newStep.action.toToken,
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
if (!allowStepUpdate) {
|
|
20
|
-
throw new errors_js_1.TransactionError(constants_js_1.LiFiErrorCode.ExchangeRateUpdateCanceled, 'Exchange rate has changed!\nTransaction was not sent, your funds are still in your wallet.\nThe exchange rate has changed and the previous estimation can not be fulfilled due to value loss.');
|
|
21
|
-
}
|
|
22
|
-
return statusManager.updateStepInRoute(newStep);
|
|
23
|
-
};
|
|
24
|
-
exports.stepComparison = stepComparison;
|
|
25
|
-
//# sourceMappingURL=stepComparison.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stepComparison.js","sourceRoot":"","sources":["../../../src/core/stepComparison.ts"],"names":[],"mappings":";;;AACA,yDAAsD;AACtD,mDAAsD;AAGtD,yCAAuD;AAchD,MAAM,cAAc,GAAG,KAAK,EACjC,aAA4B,EAC5B,OAAiB,EACjB,OAAiB,EACjB,oBAA6B,EAC7B,gBAAmC,EAChB,EAAE;IAErB,IAAI,IAAA,qCAA0B,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,eAAoC,CAAA;IACxC,IAAI,oBAAoB,EAAE,CAAC;QACzB,eAAe,GAAG,MAAM,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;YACvE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QAErB,MAAM,IAAI,4BAAgB,CACxB,4BAAa,CAAC,0BAA0B,EACxC,+LAA+L,CAChM,CAAA;IACH,CAAC;IAED,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA;AA9BY,QAAA,cAAc,kBA8B1B"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { ExtendedChain } from '@lifi/types';
|
|
2
|
-
import type { ExecutionAction, LiFiStepExtended, SDKClient } from '../types/core.js';
|
|
3
|
-
import type { StatusManager } from './StatusManager.js';
|
|
4
|
-
export declare function waitForDestinationChainTransaction(client: SDKClient, step: LiFiStepExtended, action: ExecutionAction, fromChain: ExtendedChain, toChain: ExtendedChain, statusManager: StatusManager, pollingInterval?: number): Promise<LiFiStepExtended>;
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.waitForDestinationChainTransaction = waitForDestinationChainTransaction;
|
|
4
|
-
const constants_js_1 = require("../errors/constants.js");
|
|
5
|
-
const getTransactionMessage_js_1 = require("../utils/getTransactionMessage.js");
|
|
6
|
-
const waitForTransactionStatus_js_1 = require("./waitForTransactionStatus.js");
|
|
7
|
-
async function waitForDestinationChainTransaction(client, step, action, fromChain, toChain, statusManager, pollingInterval) {
|
|
8
|
-
const transactionHash = action.txHash || action.taskId;
|
|
9
|
-
let actionType = action.type;
|
|
10
|
-
try {
|
|
11
|
-
if (!transactionHash) {
|
|
12
|
-
throw new Error('Transaction hash is undefined.');
|
|
13
|
-
}
|
|
14
|
-
const isBridgeExecution = fromChain.id !== toChain.id;
|
|
15
|
-
if (isBridgeExecution) {
|
|
16
|
-
const receivingChainAction = statusManager.findOrCreateAction({
|
|
17
|
-
step,
|
|
18
|
-
type: 'RECEIVING_CHAIN',
|
|
19
|
-
status: 'PENDING',
|
|
20
|
-
chainId: toChain.id,
|
|
21
|
-
});
|
|
22
|
-
actionType = receivingChainAction.type;
|
|
23
|
-
}
|
|
24
|
-
step = statusManager.updateExecution(step, 'PENDING', {
|
|
25
|
-
signedAt: Date.now(),
|
|
26
|
-
});
|
|
27
|
-
const statusResponse = (await (0, waitForTransactionStatus_js_1.waitForTransactionStatus)(client, statusManager, transactionHash, step, actionType, pollingInterval));
|
|
28
|
-
const statusReceiving = statusResponse.receiving;
|
|
29
|
-
statusManager.updateAction(step, actionType, 'DONE', {
|
|
30
|
-
chainId: statusReceiving?.chainId || toChain.id,
|
|
31
|
-
substatus: statusResponse.substatus,
|
|
32
|
-
substatusMessage: statusResponse.substatusMessage,
|
|
33
|
-
txHash: statusReceiving?.txHash,
|
|
34
|
-
txLink: statusReceiving?.txLink ||
|
|
35
|
-
`${toChain.metamask.blockExplorerUrls[0]}tx/${statusReceiving?.txHash}`,
|
|
36
|
-
});
|
|
37
|
-
statusManager.updateExecution(step, 'DONE', {
|
|
38
|
-
...(statusResponse.sending.amount && {
|
|
39
|
-
fromAmount: statusResponse.sending.amount,
|
|
40
|
-
}),
|
|
41
|
-
...(statusReceiving?.amount && { toAmount: statusReceiving.amount }),
|
|
42
|
-
...(statusReceiving?.token && { toToken: statusReceiving.token }),
|
|
43
|
-
internalTxLink: statusResponse?.lifiExplorerLink,
|
|
44
|
-
externalTxLink: statusResponse?.bridgeExplorerLink,
|
|
45
|
-
gasCosts: [
|
|
46
|
-
{
|
|
47
|
-
amount: statusResponse.sending.gasAmount,
|
|
48
|
-
amountUSD: statusResponse.sending.gasAmountUSD,
|
|
49
|
-
token: statusResponse.sending.gasToken,
|
|
50
|
-
estimate: statusResponse.sending.gasUsed,
|
|
51
|
-
limit: statusResponse.sending.gasUsed,
|
|
52
|
-
price: statusResponse.sending.gasPrice,
|
|
53
|
-
type: 'SEND',
|
|
54
|
-
},
|
|
55
|
-
],
|
|
56
|
-
});
|
|
57
|
-
return step;
|
|
58
|
-
}
|
|
59
|
-
catch (e) {
|
|
60
|
-
const htmlMessage = await (0, getTransactionMessage_js_1.getTransactionFailedMessage)(client, step, `${toChain.metamask.blockExplorerUrls[0]}tx/${transactionHash}`);
|
|
61
|
-
statusManager.updateAction(step, actionType, 'FAILED', {
|
|
62
|
-
error: {
|
|
63
|
-
code: constants_js_1.LiFiErrorCode.TransactionFailed,
|
|
64
|
-
message: 'Failed while waiting for status of destination chain transaction.',
|
|
65
|
-
htmlMessage,
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
throw e;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=waitForDestinationChainTransaction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"waitForDestinationChainTransaction.js","sourceRoot":"","sources":["../../../src/core/waitForDestinationChainTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { LiFiStep, StatusResponse } from '@lifi/types';
|
|
2
|
-
import type { ExecutionActionType, SDKClient } from '../types/core.js';
|
|
3
|
-
import type { StatusManager } from './StatusManager.js';
|
|
4
|
-
export declare function waitForTransactionStatus(client: SDKClient, statusManager: StatusManager, txHash: string, step: LiFiStep, actionType: ExecutionActionType, interval?: number): Promise<StatusResponse>;
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.waitForTransactionStatus = waitForTransactionStatus;
|
|
4
|
-
const getStatus_js_1 = require("../actions/getStatus.js");
|
|
5
|
-
const errors_js_1 = require("../errors/errors.js");
|
|
6
|
-
const waitForResult_js_1 = require("../utils/waitForResult.js");
|
|
7
|
-
const actionMessages_js_1 = require("./actionMessages.js");
|
|
8
|
-
const TRANSACTION_HASH_OBSERVERS = {};
|
|
9
|
-
async function waitForTransactionStatus(client, statusManager, txHash, step, actionType, interval = 5_000) {
|
|
10
|
-
const _getStatus = () => {
|
|
11
|
-
return (0, getStatus_js_1.getStatus)(client, {
|
|
12
|
-
fromChain: step.action.fromChainId,
|
|
13
|
-
fromAddress: step.action.fromAddress,
|
|
14
|
-
toChain: step.action.toChainId,
|
|
15
|
-
txHash,
|
|
16
|
-
...(step.tool !== 'custom' && { bridge: step.tool }),
|
|
17
|
-
})
|
|
18
|
-
.then((statusResponse) => {
|
|
19
|
-
switch (statusResponse.status) {
|
|
20
|
-
case 'DONE':
|
|
21
|
-
return statusResponse;
|
|
22
|
-
case 'PENDING':
|
|
23
|
-
statusManager?.updateAction(step, actionType, 'PENDING', {
|
|
24
|
-
substatus: statusResponse.substatus,
|
|
25
|
-
substatusMessage: statusResponse.substatusMessage ||
|
|
26
|
-
(0, actionMessages_js_1.getSubstatusMessage)(statusResponse.status, statusResponse.substatus),
|
|
27
|
-
txLink: statusResponse.bridgeExplorerLink,
|
|
28
|
-
});
|
|
29
|
-
return undefined;
|
|
30
|
-
case 'NOT_FOUND':
|
|
31
|
-
return undefined;
|
|
32
|
-
default:
|
|
33
|
-
return Promise.reject();
|
|
34
|
-
}
|
|
35
|
-
})
|
|
36
|
-
.catch((e) => {
|
|
37
|
-
if (process.env.NODE_ENV === 'development') {
|
|
38
|
-
console.debug('Fetching status from backend failed.', e);
|
|
39
|
-
}
|
|
40
|
-
return undefined;
|
|
41
|
-
});
|
|
42
|
-
};
|
|
43
|
-
let status = TRANSACTION_HASH_OBSERVERS[txHash];
|
|
44
|
-
if (!status) {
|
|
45
|
-
status = (0, waitForResult_js_1.waitForResult)(_getStatus, interval);
|
|
46
|
-
TRANSACTION_HASH_OBSERVERS[txHash] = status;
|
|
47
|
-
}
|
|
48
|
-
const resolvedStatus = await status;
|
|
49
|
-
if (!('receiving' in resolvedStatus)) {
|
|
50
|
-
throw new errors_js_1.ServerError("Status doesn't contain destination chain information.");
|
|
51
|
-
}
|
|
52
|
-
return resolvedStatus;
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=waitForTransactionStatus.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"waitForTransactionStatus.js","sourceRoot":"","sources":["../../../src/core/waitForTransactionStatus.ts"],"names":[],"mappings":";;AAUA,4DA8DC;AAvED,0DAAmD;AACnD,mDAAiD;AAEjD,gEAAyD;AACzD,2DAAyD;AAGzD,MAAM,0BAA0B,GAA4C,EAAE,CAAA;AAEvE,KAAK,UAAU,wBAAwB,CAC5C,MAAiB,EACjB,aAA4B,EAC5B,MAAc,EACd,IAAc,EACd,UAA+B,EAC/B,QAAQ,GAAG,KAAK;IAEhB,MAAM,UAAU,GAAG,GAAwC,EAAE;QAC3D,OAAO,IAAA,wBAAS,EAAC,MAAM,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAClC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAC9B,MAAM;YACN,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SACrD,CAAC;aACC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;YACvB,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC9B,KAAK,MAAM;oBACT,OAAO,cAAc,CAAA;gBACvB,KAAK,SAAS;oBACZ,aAAa,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE;wBACvD,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,gBAAgB,EACd,cAAc,CAAC,gBAAgB;4BAC/B,IAAA,uCAAmB,EACjB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,SAAS,CACzB;wBACH,MAAM,EAAG,cAAiC,CAAC,kBAAkB;qBAC9D,CAAC,CAAA;oBACF,OAAO,SAAS,CAAA;gBAClB,KAAK,WAAW;oBACd,OAAO,SAAS,CAAA;gBAClB;oBACE,OAAO,OAAO,CAAC,MAAM,EAAE,CAAA;YAC3B,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC3C,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YAC1D,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;IAED,IAAI,MAAM,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAA;IAE/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,IAAA,gCAAa,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC5C,0BAA0B,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;IAC7C,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAA;IAEnC,IAAI,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,uBAAW,CACnB,uDAAuD,CACxD,CAAA;IACH,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC"}
|
package/dist/cjs/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA,8CAA2B;AAC3B,uDAAkD;AAAzC,yGAAA,SAAS,OAAA;AAClB,iEAA4D;AAAnD,mHAAA,cAAc,OAAA;AACvB,+EAA0E;AAAjE,iIAAA,qBAAqB,OAAA;AAC9B,6EAAwE;AAA/D,+HAAA,oBAAoB,OAAA;AAC7B,+EAA0E;AAAjE,iIAAA,qBAAqB,OAAA;AAC9B,qDAAgD;AAAvC,uGAAA,QAAQ,OAAA;AACjB,2FAAsF;AAA7E,6IAAA,2BAA2B,OAAA;AACpC,mEAA8D;AAArD,qHAAA,eAAe,OAAA;AACxB,uDAAkD;AAAzC,yGAAA,SAAS,OAAA;AAClB,uDAAkD;AAAzC,yGAAA,SAAS,OAAA;AAClB,yEAAoE;AAA3D,2HAAA,kBAAkB,OAAA;AAC3B,qDAAgD;AAAvC,uGAAA,QAAQ,OAAA;AACjB,mEAA8D;AAArD,qHAAA,eAAe,OAAA;AACxB,qEAAgE;AAAvD,uHAAA,gBAAgB,OAAA;AACzB,mFAA8E;AAArE,qIAAA,uBAAuB,OAAA;AAChC,uDAAkD;AAAzC,yGAAA,SAAS,OAAA;AAClB,qDAAgD;AAAvC,uGAAA,QAAQ,OAAA;AACjB,+EAA0E;AAAjE,iIAAA,qBAAqB,OAAA;AAC9B,uEAAkE;AAAzD,yHAAA,iBAAiB,OAAA;AAC1B,+CAA4C;AAAnC,mGAAA,OAAO,OAAA;AAChB,yEAAoE;AAA3D,2HAAA,kBAAkB,OAAA;AAC3B,qEAAgE;AAAvD,uHAAA,gBAAgB,OAAA;AACzB,4DAAuD;AAA9C,+GAAA,YAAY,OAAA;AACrB,kEAA6D;AAApD,uHAAA,gBAAgB,OAAA;AACzB,0DAAqD;AAA5C,+GAAA,YAAY,OAAA;AACrB,oDAO4B;AAN1B,4GAAA,YAAY,OAAA;AACZ,8GAAA,cAAc,OAAA;AACd,+GAAA,eAAe,OAAA;AACf,2GAAA,WAAW,OAAA;AACX,kHAAA,kBAAkB,OAAA;AAClB,oHAAA,oBAAoB,OAAA;AAEtB,4DAAuD;AAA9C,iHAAA,aAAa,OAAA;AACtB,8DAAyD;AAAhD,mHAAA,cAAc,OAAA;AACvB,sGAAiG;AAAxF,2JAAA,kCAAkC,OAAA;AAC3C,sDAAiD;AAAxC,yGAAA,SAAS,OAAA;AAElB,sDAA8E;AAArE,4GAAA,YAAY,OAAA;AAAE,yGAAA,SAAS,OAAA;AAAE,6GAAA,aAAa,OAAA;AAC/C,gDAQ2B;AAPzB,yGAAA,YAAY,OAAA;AACZ,0GAAA,aAAa,OAAA;AACb,qGAAA,QAAQ,OAAA;AACR,wGAAA,WAAW,OAAA;AACX,6GAAA,gBAAgB,OAAA;AAChB,yGAAA,YAAY,OAAA;AACZ,4GAAA,eAAe,OAAA;AAEjB,sDAAiD;AAAxC,yGAAA,SAAS,OAAA;AAClB,oDAA+C;AAAtC,uGAAA,QAAQ,OAAA;AAqCjB,yEAAoE;AAA3D,6HAAA,mBAAmB,OAAA;AAC5B,yEAAoE;AAA3D,6HAAA,mBAAmB,OAAA;AAC5B,yEAAoE;AAA3D,6HAAA,mBAAmB,OAAA;AAC5B,yDAAoD;AAA3C,6GAAA,WAAW,OAAA;AACpB,6CAAwC;AAA/B,iGAAA,KAAK,OAAA;AACd,uDAAkD;AAAzC,2GAAA,UAAU,OAAA;AACnB,6CAAwC;AAA/B,iGAAA,KAAK,OAAA;AACd,6DAAwD;AAA/C,iHAAA,aAAa,OAAA;AACtB,uDAAkD;AAAzC,2GAAA,UAAU,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/types/actions.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/types/core.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/types/request.ts"],"names":[],"mappings":""}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { getTokenBalance } from '../actions/getTokenBalance.js';
|
|
2
|
-
import { BalanceError } from '../errors/errors.js';
|
|
3
|
-
import { formatUnits } from '../utils/formatUnits.js';
|
|
4
|
-
import { sleep } from '../utils/sleep.js';
|
|
5
|
-
export const checkBalance = async (client, walletAddress, step, depth = 0) => {
|
|
6
|
-
const token = await getTokenBalance(client, walletAddress, step.action.fromToken);
|
|
7
|
-
if (token) {
|
|
8
|
-
const currentBalance = token.amount ?? 0n;
|
|
9
|
-
const neededBalance = BigInt(step.action.fromAmount);
|
|
10
|
-
if (currentBalance < neededBalance) {
|
|
11
|
-
if (depth <= 3) {
|
|
12
|
-
await sleep(200);
|
|
13
|
-
await checkBalance(client, walletAddress, step, depth + 1);
|
|
14
|
-
}
|
|
15
|
-
else if ((neededBalance *
|
|
16
|
-
BigInt((1 - (step.action.slippage ?? 0)) * 1_000_000_000)) /
|
|
17
|
-
1000000000n <=
|
|
18
|
-
currentBalance) {
|
|
19
|
-
// adjust amount in slippage limits
|
|
20
|
-
step.action.fromAmount = currentBalance.toString();
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
const needed = formatUnits(neededBalance, token.decimals);
|
|
24
|
-
const current = formatUnits(currentBalance, token.decimals);
|
|
25
|
-
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.`;
|
|
26
|
-
if (currentBalance !== 0n) {
|
|
27
|
-
errorMessage += `If the problem consists, please delete this transfer and start a new one with a maximum of ${current} ${token.symbol}.`;
|
|
28
|
-
}
|
|
29
|
-
throw new BalanceError('The balance is too low.', new Error(errorMessage));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=checkBalance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../../src/core/checkBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,MAAiB,EACjB,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CACjC,MAAM,EACN,aAAa,EACb,IAAI,CAAC,MAAM,CAAC,SAAS,CACtB,CAAA;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAA;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;QAEpD,IAAI,cAAc,GAAG,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;gBAChB,MAAM,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;YAC5D,CAAC;iBAAM,IACL,CAAC,aAAa;gBACZ,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;gBAC1D,WAAc;gBAChB,cAAc,EACd,CAAC;gBACD,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBACzD,MAAM,OAAO,GAAG,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,YAAY,GAAG,QAAQ,KAAK,CAAC,MAAM,4CAA4C,MAAM,IAAI,KAAK,CAAC,MAAM,gCAAgC,OAAO,IAAI,KAAK,CAAC,MAAM,4BAA4B,CAAA;gBAE5L,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;oBAC1B,YAAY,IAAI,8FAA8F,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;gBAC1I,CAAC;gBAED,MAAM,IAAI,YAAY,CACpB,yBAAyB,EACzB,IAAI,KAAK,CAAC,YAAY,CAAC,CACxB,CAAA;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { LiFiStep } from '@lifi/types';
|
|
2
|
-
import type { ExecutionOptions } from '../types/core.js';
|
|
3
|
-
import type { StatusManager } from './StatusManager.js';
|
|
4
|
-
/**
|
|
5
|
-
* This method checks whether the new and updated Step meets the required exchange rate conditions.
|
|
6
|
-
* If yes it returns the updated Step.
|
|
7
|
-
* If no and if user interaction is allowed it triggers the acceptExchangeRateUpdateHook. If no user interaction is allowed it aborts.
|
|
8
|
-
* @param statusManager
|
|
9
|
-
* @param oldStep
|
|
10
|
-
* @param newStep
|
|
11
|
-
* @param settings
|
|
12
|
-
* @param allowUserInteraction
|
|
13
|
-
* @param executionOptions
|
|
14
|
-
* @returns Return LiFiStep
|
|
15
|
-
*/
|
|
16
|
-
export declare const stepComparison: (statusManager: StatusManager, oldStep: LiFiStep, newStep: LiFiStep, allowUserInteraction: boolean, executionOptions?: ExecutionOptions) => Promise<LiFiStep>;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { LiFiErrorCode } from '../errors/constants.js';
|
|
2
|
-
import { TransactionError } from '../errors/errors.js';
|
|
3
|
-
import { checkStepSlippageThreshold } from './utils.js';
|
|
4
|
-
/**
|
|
5
|
-
* This method checks whether the new and updated Step meets the required exchange rate conditions.
|
|
6
|
-
* If yes it returns the updated Step.
|
|
7
|
-
* If no and if user interaction is allowed it triggers the acceptExchangeRateUpdateHook. If no user interaction is allowed it aborts.
|
|
8
|
-
* @param statusManager
|
|
9
|
-
* @param oldStep
|
|
10
|
-
* @param newStep
|
|
11
|
-
* @param settings
|
|
12
|
-
* @param allowUserInteraction
|
|
13
|
-
* @param executionOptions
|
|
14
|
-
* @returns Return LiFiStep
|
|
15
|
-
*/
|
|
16
|
-
export const stepComparison = async (statusManager, oldStep, newStep, allowUserInteraction, executionOptions) => {
|
|
17
|
-
// Check if changed exchange rate is in the range of slippage threshold
|
|
18
|
-
if (checkStepSlippageThreshold(oldStep, newStep)) {
|
|
19
|
-
return statusManager.updateStepInRoute(newStep);
|
|
20
|
-
}
|
|
21
|
-
let allowStepUpdate;
|
|
22
|
-
if (allowUserInteraction) {
|
|
23
|
-
allowStepUpdate = await executionOptions?.acceptExchangeRateUpdateHook?.({
|
|
24
|
-
oldToAmount: oldStep.estimate.toAmount,
|
|
25
|
-
newToAmount: newStep.estimate.toAmount,
|
|
26
|
-
toToken: newStep.action.toToken,
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
if (!allowStepUpdate) {
|
|
30
|
-
// The user declined the new exchange rate, so we are not going to proceed
|
|
31
|
-
throw new TransactionError(LiFiErrorCode.ExchangeRateUpdateCanceled, 'Exchange rate has changed!\nTransaction was not sent, your funds are still in your wallet.\nThe exchange rate has changed and the previous estimation can not be fulfilled due to value loss.');
|
|
32
|
-
}
|
|
33
|
-
return statusManager.updateStepInRoute(newStep);
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=stepComparison.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stepComparison.js","sourceRoot":"","sources":["../../../src/core/stepComparison.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAEvD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,aAA4B,EAC5B,OAAiB,EACjB,OAAiB,EACjB,oBAA6B,EAC7B,gBAAmC,EAChB,EAAE;IACrB,uEAAuE;IACvE,IAAI,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,eAAoC,CAAA;IACxC,IAAI,oBAAoB,EAAE,CAAC;QACzB,eAAe,GAAG,MAAM,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;YACvE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,0EAA0E;QAC1E,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,0BAA0B,EACxC,+LAA+L,CAChM,CAAA;IACH,CAAC;IAED,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { ExtendedChain } from '@lifi/types';
|
|
2
|
-
import type { ExecutionAction, LiFiStepExtended, SDKClient } from '../types/core.js';
|
|
3
|
-
import type { StatusManager } from './StatusManager.js';
|
|
4
|
-
export declare function waitForDestinationChainTransaction(client: SDKClient, step: LiFiStepExtended, action: ExecutionAction, fromChain: ExtendedChain, toChain: ExtendedChain, statusManager: StatusManager, pollingInterval?: number): Promise<LiFiStepExtended>;
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { LiFiErrorCode } from '../errors/constants.js';
|
|
2
|
-
import { getTransactionFailedMessage } from '../utils/getTransactionMessage.js';
|
|
3
|
-
import { waitForTransactionStatus } from './waitForTransactionStatus.js';
|
|
4
|
-
export async function waitForDestinationChainTransaction(client, step, action, fromChain, toChain, statusManager, pollingInterval) {
|
|
5
|
-
// At this point, we should have a txHash or taskId
|
|
6
|
-
// taskId is used for custom integrations that don't use the standard transaction hash
|
|
7
|
-
const transactionHash = action.txHash || action.taskId;
|
|
8
|
-
let actionType = action.type;
|
|
9
|
-
try {
|
|
10
|
-
// Wait for the transaction status on the destination chain
|
|
11
|
-
if (!transactionHash) {
|
|
12
|
-
throw new Error('Transaction hash is undefined.');
|
|
13
|
-
}
|
|
14
|
-
const isBridgeExecution = fromChain.id !== toChain.id;
|
|
15
|
-
if (isBridgeExecution) {
|
|
16
|
-
const receivingChainAction = statusManager.findOrCreateAction({
|
|
17
|
-
step,
|
|
18
|
-
type: 'RECEIVING_CHAIN',
|
|
19
|
-
status: 'PENDING',
|
|
20
|
-
chainId: toChain.id,
|
|
21
|
-
});
|
|
22
|
-
actionType = receivingChainAction.type;
|
|
23
|
-
}
|
|
24
|
-
// Record the time when the user has signed the transaction
|
|
25
|
-
step = statusManager.updateExecution(step, 'PENDING', {
|
|
26
|
-
signedAt: Date.now(),
|
|
27
|
-
});
|
|
28
|
-
const statusResponse = (await waitForTransactionStatus(client, statusManager, transactionHash, step, actionType, pollingInterval));
|
|
29
|
-
const statusReceiving = statusResponse.receiving;
|
|
30
|
-
// Update action status
|
|
31
|
-
statusManager.updateAction(step, actionType, 'DONE', {
|
|
32
|
-
chainId: statusReceiving?.chainId || toChain.id,
|
|
33
|
-
substatus: statusResponse.substatus,
|
|
34
|
-
substatusMessage: statusResponse.substatusMessage,
|
|
35
|
-
txHash: statusReceiving?.txHash,
|
|
36
|
-
txLink: statusReceiving?.txLink ||
|
|
37
|
-
`${toChain.metamask.blockExplorerUrls[0]}tx/${statusReceiving?.txHash}`,
|
|
38
|
-
});
|
|
39
|
-
// Update execution status
|
|
40
|
-
statusManager.updateExecution(step, 'DONE', {
|
|
41
|
-
...(statusResponse.sending.amount && {
|
|
42
|
-
fromAmount: statusResponse.sending.amount,
|
|
43
|
-
}),
|
|
44
|
-
...(statusReceiving?.amount && { toAmount: statusReceiving.amount }),
|
|
45
|
-
...(statusReceiving?.token && { toToken: statusReceiving.token }),
|
|
46
|
-
internalTxLink: statusResponse?.lifiExplorerLink,
|
|
47
|
-
externalTxLink: statusResponse?.bridgeExplorerLink,
|
|
48
|
-
gasCosts: [
|
|
49
|
-
{
|
|
50
|
-
amount: statusResponse.sending.gasAmount,
|
|
51
|
-
amountUSD: statusResponse.sending.gasAmountUSD,
|
|
52
|
-
token: statusResponse.sending.gasToken,
|
|
53
|
-
estimate: statusResponse.sending.gasUsed,
|
|
54
|
-
limit: statusResponse.sending.gasUsed,
|
|
55
|
-
price: statusResponse.sending.gasPrice,
|
|
56
|
-
type: 'SEND',
|
|
57
|
-
},
|
|
58
|
-
],
|
|
59
|
-
});
|
|
60
|
-
return step;
|
|
61
|
-
}
|
|
62
|
-
catch (e) {
|
|
63
|
-
const htmlMessage = await getTransactionFailedMessage(client, step, `${toChain.metamask.blockExplorerUrls[0]}tx/${transactionHash}`);
|
|
64
|
-
statusManager.updateAction(step, actionType, 'FAILED', {
|
|
65
|
-
error: {
|
|
66
|
-
code: LiFiErrorCode.TransactionFailed,
|
|
67
|
-
message: 'Failed while waiting for status of destination chain transaction.',
|
|
68
|
-
htmlMessage,
|
|
69
|
-
},
|
|
70
|
-
});
|
|
71
|
-
throw e;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=waitForDestinationChainTransaction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"waitForDestinationChainTransaction.js","sourceRoot":"","sources":["../../../src/core/waitForDestinationChainTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { LiFiStep, StatusResponse } from '@lifi/types';
|
|
2
|
-
import type { ExecutionActionType, SDKClient } from '../types/core.js';
|
|
3
|
-
import type { StatusManager } from './StatusManager.js';
|
|
4
|
-
export declare function waitForTransactionStatus(client: SDKClient, statusManager: StatusManager, txHash: string, step: LiFiStep, actionType: ExecutionActionType, interval?: number): Promise<StatusResponse>;
|