@lifi/sdk 2.3.1 → 3.0.0-alpha.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/LiFi.js +222 -250
- package/dist/cjs/LiFi.js.map +1 -0
- package/dist/cjs/allowance/getAllowance.js +82 -0
- package/dist/cjs/allowance/getAllowance.js.map +1 -0
- package/dist/cjs/allowance/index.js +5 -16
- package/dist/cjs/allowance/index.js.map +1 -0
- package/dist/cjs/allowance/setAllowance.js +71 -0
- package/dist/cjs/allowance/setAllowance.js.map +1 -0
- package/dist/cjs/{types/internal.types.js → allowance/types.js} +1 -0
- package/dist/cjs/allowance/types.js.map +1 -0
- package/dist/cjs/balance/getBalance.js +97 -0
- package/dist/cjs/balance/getBalance.js.map +1 -0
- package/dist/cjs/balance/getTokenBalance.js +7 -10
- package/dist/cjs/balance/getTokenBalance.js.map +1 -0
- package/dist/cjs/balance/index.js +4 -24
- package/dist/cjs/balance/index.js.map +1 -0
- package/dist/cjs/connectors.js +28 -48
- package/dist/cjs/connectors.js.map +1 -0
- package/dist/cjs/constants.js +7 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/execution/BaseStepExecutor.js +54 -0
- package/dist/cjs/execution/BaseStepExecutor.js.map +1 -0
- package/dist/cjs/execution/EVMStepExecutor.js +271 -0
- package/dist/cjs/execution/EVMStepExecutor.js.map +1 -0
- package/dist/cjs/execution/RouteExecutionManager.js +196 -197
- package/dist/cjs/execution/RouteExecutionManager.js.map +1 -0
- package/dist/cjs/execution/StatusManager.js +142 -136
- package/dist/cjs/execution/StatusManager.js.map +1 -0
- package/dist/cjs/execution/StepExecutionManager.js +220 -233
- package/dist/cjs/execution/StepExecutionManager.js.map +1 -0
- package/dist/cjs/execution/checkAllowance.js +76 -0
- package/dist/cjs/execution/checkAllowance.js.map +1 -0
- package/dist/cjs/execution/checkBalance.js +42 -0
- package/dist/cjs/execution/checkBalance.js.map +1 -0
- package/dist/cjs/execution/index.js +4 -15
- package/dist/cjs/execution/index.js.map +1 -0
- package/dist/cjs/execution/multisig.js +13 -17
- package/dist/cjs/execution/multisig.js.map +1 -0
- package/dist/cjs/execution/prepareRestart.js +23 -0
- package/dist/cjs/execution/prepareRestart.js.map +1 -0
- package/dist/cjs/execution/stepComparison.js +5 -17
- package/dist/cjs/execution/stepComparison.js.map +1 -0
- package/dist/cjs/execution/switchChain.js +10 -22
- package/dist/cjs/execution/switchChain.js.map +1 -0
- package/dist/cjs/execution/types.js +3 -0
- package/dist/cjs/execution/types.js.map +1 -0
- package/dist/cjs/execution/utils.js +12 -67
- package/dist/cjs/execution/utils.js.map +1 -0
- package/dist/cjs/execution/waitForReceivingTransaction.js +56 -0
- package/dist/cjs/execution/waitForReceivingTransaction.js.map +1 -0
- package/dist/cjs/helpers.js +12 -58
- package/dist/cjs/helpers.js.map +1 -0
- package/dist/cjs/index.js +16 -22
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/providers/EVM.js +35 -0
- package/dist/cjs/providers/EVM.js.map +1 -0
- package/dist/cjs/providers/Solana.js +38 -0
- package/dist/cjs/providers/Solana.js.map +1 -0
- package/dist/cjs/providers/index.js +5 -0
- package/dist/cjs/providers/index.js.map +1 -0
- package/dist/cjs/providers/types.js +9 -0
- package/dist/cjs/providers/types.js.map +1 -0
- package/dist/cjs/request.js +10 -13
- package/dist/cjs/request.js.map +1 -0
- package/dist/cjs/services/ApiService.js +70 -86
- package/dist/cjs/services/ApiService.js.map +1 -0
- package/dist/cjs/services/ChainsService.js +19 -9
- package/dist/cjs/services/ChainsService.js.map +1 -0
- package/dist/cjs/services/ConfigService.js +94 -67
- package/dist/cjs/services/ConfigService.js.map +1 -0
- package/dist/cjs/typeguards.js +1 -0
- package/dist/cjs/typeguards.js.map +1 -0
- package/dist/cjs/types/abi.js +46 -0
- package/dist/cjs/types/abi.js.map +1 -0
- package/dist/cjs/types/index.js +4 -20
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/internal.js +3 -0
- package/dist/cjs/types/internal.js.map +1 -0
- package/dist/cjs/utils/errors.js +63 -40
- package/dist/cjs/utils/errors.js.map +1 -0
- package/dist/cjs/utils/getMaxPriorityFeePerGas.js +23 -0
- package/dist/cjs/utils/getMaxPriorityFeePerGas.js.map +1 -0
- package/dist/cjs/utils/index.js +9 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/median.js +16 -0
- package/dist/cjs/utils/median.js.map +1 -0
- package/dist/cjs/utils/parseError.js +55 -92
- package/dist/cjs/utils/parseError.js.map +1 -0
- package/dist/cjs/utils/utils.js +10 -85
- package/dist/cjs/utils/utils.js.map +1 -0
- package/dist/cjs/version.js +2 -1
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/LiFi.js +375 -0
- package/dist/esm/LiFi.js.map +1 -0
- package/dist/esm/allowance/getAllowance.js +79 -0
- package/dist/esm/allowance/getAllowance.js.map +1 -0
- package/dist/esm/allowance/index.js +4 -0
- package/dist/esm/allowance/index.js.map +1 -0
- package/dist/esm/allowance/setAllowance.js +67 -0
- package/dist/esm/allowance/setAllowance.js.map +1 -0
- package/dist/esm/allowance/types.js +2 -0
- package/dist/esm/allowance/types.js.map +1 -0
- package/dist/esm/balance/getBalance.js +93 -0
- package/dist/esm/balance/getBalance.js.map +1 -0
- package/dist/{balance → esm/balance}/getTokenBalance.js +5 -4
- package/dist/esm/balance/getTokenBalance.js.map +1 -0
- package/dist/esm/balance/index.js +3 -0
- package/dist/esm/balance/index.js.map +1 -0
- package/dist/esm/connectors.js +42 -0
- package/dist/esm/connectors.js.map +1 -0
- package/dist/esm/constants.js +7 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/execution/BaseStepExecutor.js +51 -0
- package/dist/esm/execution/BaseStepExecutor.js.map +1 -0
- package/dist/esm/execution/EVMStepExecutor.js +299 -0
- package/dist/esm/execution/EVMStepExecutor.js.map +1 -0
- package/dist/esm/execution/RouteExecutionManager.js +268 -0
- package/dist/esm/execution/RouteExecutionManager.js.map +1 -0
- package/dist/esm/execution/StatusManager.js +216 -0
- package/dist/esm/execution/StatusManager.js.map +1 -0
- package/dist/esm/execution/StepExecutionManager.js +280 -0
- package/dist/esm/execution/StepExecutionManager.js.map +1 -0
- package/dist/esm/execution/checkAllowance.js +74 -0
- package/dist/esm/execution/checkAllowance.js.map +1 -0
- package/dist/esm/execution/checkBalance.js +39 -0
- package/dist/esm/execution/checkBalance.js.map +1 -0
- package/dist/esm/execution/index.js +3 -0
- package/dist/esm/execution/index.js.map +1 -0
- package/dist/esm/execution/multisig.js +26 -0
- package/dist/esm/execution/multisig.js.map +1 -0
- package/dist/esm/execution/prepareRestart.js +64 -0
- package/dist/esm/execution/prepareRestart.js.map +1 -0
- package/dist/{execution → esm/execution}/stepComparison.js +5 -4
- package/dist/esm/execution/stepComparison.js.map +1 -0
- package/dist/{execution → esm/execution}/switchChain.js +19 -12
- package/dist/esm/execution/switchChain.js.map +1 -0
- package/dist/esm/execution/types.js +2 -0
- package/dist/esm/execution/types.js.map +1 -0
- package/dist/esm/execution/utils.js +80 -0
- package/dist/esm/execution/utils.js.map +1 -0
- package/dist/esm/execution/waitForReceivingTransaction.js +52 -0
- package/dist/esm/execution/waitForReceivingTransaction.js.map +1 -0
- package/dist/{helpers.js → esm/helpers.js} +9 -37
- package/dist/esm/helpers.js.map +1 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/providers/EVM.js +30 -0
- package/dist/esm/providers/EVM.js.map +1 -0
- package/dist/esm/providers/Solana.js +34 -0
- package/dist/esm/providers/Solana.js.map +1 -0
- package/dist/esm/providers/index.js +2 -0
- package/dist/esm/providers/index.js.map +1 -0
- package/dist/esm/providers/types.js +6 -0
- package/dist/esm/providers/types.js.map +1 -0
- package/dist/{request.js → esm/request.js} +6 -5
- package/dist/esm/request.js.map +1 -0
- package/dist/{services → esm/services}/ApiService.js +29 -26
- package/dist/esm/services/ApiService.js.map +1 -0
- package/dist/{services → esm/services}/ChainsService.js +16 -4
- package/dist/esm/services/ChainsService.js.map +1 -0
- package/dist/esm/services/ConfigService.js +143 -0
- package/dist/esm/services/ConfigService.js.map +1 -0
- package/dist/{typeguards.js → esm/typeguards.js} +1 -0
- package/dist/esm/typeguards.js.map +1 -0
- package/dist/esm/types/abi.js +43 -0
- package/dist/esm/types/abi.js.map +1 -0
- package/dist/esm/types/index.js +3 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/internal.js +2 -0
- package/dist/esm/types/internal.js.map +1 -0
- package/dist/{utils → esm/utils}/errors.js +61 -35
- package/dist/esm/utils/errors.js.map +1 -0
- package/dist/esm/utils/getMaxPriorityFeePerGas.js +19 -0
- package/dist/esm/utils/getMaxPriorityFeePerGas.js.map +1 -0
- package/dist/esm/utils/index.js +6 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/median.js +12 -0
- package/dist/esm/utils/median.js.map +1 -0
- package/dist/{utils → esm/utils}/parseError.js +45 -41
- package/dist/esm/utils/parseError.js.map +1 -0
- package/dist/esm/utils/utils.js +38 -0
- package/dist/esm/utils/utils.js.map +1 -0
- package/dist/esm/version.js +3 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/types/LiFi.d.ts +179 -0
- package/dist/types/LiFi.d.ts.map +1 -0
- package/dist/types/allowance/getAllowance.d.ts +7 -0
- package/dist/types/allowance/getAllowance.d.ts.map +1 -0
- package/dist/types/allowance/index.d.ts +4 -0
- package/dist/types/allowance/index.d.ts.map +1 -0
- package/dist/types/allowance/setAllowance.d.ts +7 -0
- package/dist/types/allowance/setAllowance.d.ts.map +1 -0
- package/dist/types/allowance/types.d.ts +28 -0
- package/dist/types/allowance/types.d.ts.map +1 -0
- package/dist/types/balance/getBalance.d.ts +3 -0
- package/dist/types/balance/getBalance.d.ts.map +1 -0
- package/dist/{balance → types/balance}/getTokenBalance.d.ts +3 -2
- package/dist/types/balance/getTokenBalance.d.ts.map +1 -0
- package/dist/types/balance/index.d.ts +3 -0
- package/dist/types/balance/index.d.ts.map +1 -0
- package/dist/types/connectors.d.ts +9 -0
- package/dist/types/connectors.d.ts.map +1 -0
- package/dist/types/constants.d.ts +7 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/execution/BaseStepExecutor.d.ts +13 -0
- package/dist/types/execution/BaseStepExecutor.d.ts.map +1 -0
- package/dist/types/execution/EVMStepExecutor.d.ts +14 -0
- package/dist/types/execution/EVMStepExecutor.d.ts.map +1 -0
- package/dist/types/execution/RouteExecutionManager.d.ts +61 -0
- package/dist/types/execution/RouteExecutionManager.d.ts.map +1 -0
- package/dist/types/execution/StatusManager.d.ts +69 -0
- package/dist/types/execution/StatusManager.d.ts.map +1 -0
- package/dist/types/execution/StepExecutionManager.d.ts +8 -0
- package/dist/types/execution/StepExecutionManager.d.ts.map +1 -0
- package/dist/types/execution/checkAllowance.d.ts +6 -0
- package/dist/types/execution/checkAllowance.d.ts.map +1 -0
- package/dist/types/execution/checkBalance.d.ts +3 -0
- package/dist/types/execution/checkBalance.d.ts.map +1 -0
- package/dist/types/execution/index.d.ts +3 -0
- package/dist/types/execution/index.d.ts.map +1 -0
- package/dist/types/execution/multisig.d.ts +5 -0
- package/dist/types/execution/multisig.d.ts.map +1 -0
- package/dist/types/execution/prepareRestart.d.ts +3 -0
- package/dist/types/execution/prepareRestart.d.ts.map +1 -0
- package/dist/{execution → types/execution}/stepComparison.d.ts +6 -4
- package/dist/types/execution/stepComparison.d.ts.map +1 -0
- package/dist/types/execution/switchChain.d.ts +23 -0
- package/dist/types/execution/switchChain.d.ts.map +1 -0
- package/dist/types/execution/types.d.ts +83 -0
- package/dist/types/execution/types.d.ts.map +1 -0
- package/dist/types/execution/utils.d.ts +13 -0
- package/dist/types/execution/utils.d.ts.map +1 -0
- package/dist/types/execution/waitForReceivingTransaction.d.ts +4 -0
- package/dist/types/execution/waitForReceivingTransaction.d.ts.map +1 -0
- package/dist/types/helpers.d.ts +19 -0
- package/dist/types/helpers.d.ts.map +1 -0
- package/dist/types/index.d.ts +9 -3
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/providers/EVM.d.ts +11 -0
- package/dist/types/providers/EVM.d.ts.map +1 -0
- package/dist/types/providers/Solana.d.ts +10 -0
- package/dist/types/providers/Solana.d.ts.map +1 -0
- package/dist/types/providers/index.d.ts +2 -0
- package/dist/types/providers/index.d.ts.map +1 -0
- package/dist/types/providers/types.d.ts +13 -0
- package/dist/types/providers/types.d.ts.map +1 -0
- package/dist/{request.d.ts → types/request.d.ts} +1 -0
- package/dist/types/request.d.ts.map +1 -0
- package/dist/{cjs → types}/services/ApiService.d.ts +5 -5
- package/dist/types/services/ApiService.d.ts.map +1 -0
- package/dist/{services → types/services}/ChainsService.d.ts +3 -2
- package/dist/types/services/ChainsService.d.ts.map +1 -0
- package/dist/{services → types/services}/ConfigService.d.ts +10 -6
- package/dist/types/services/ConfigService.d.ts.map +1 -0
- package/dist/{cjs → types}/typeguards.d.ts +3 -2
- package/dist/types/typeguards.d.ts.map +1 -0
- package/dist/types/types/abi.d.ts +6 -0
- package/dist/types/types/abi.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +3 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/internal.d.ts +61 -0
- package/dist/types/types/internal.d.ts.map +1 -0
- package/dist/{cjs → types}/utils/errors.d.ts +16 -14
- package/dist/types/utils/errors.d.ts.map +1 -0
- package/dist/types/utils/getMaxPriorityFeePerGas.d.ts +3 -0
- package/dist/types/utils/getMaxPriorityFeePerGas.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +6 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/median.d.ts +2 -0
- package/dist/types/utils/median.d.ts.map +1 -0
- package/dist/{utils → types/utils}/parseError.d.ts +7 -6
- package/dist/types/utils/parseError.d.ts.map +1 -0
- package/dist/types/utils/utils.d.ts +11 -0
- package/dist/types/utils/utils.d.ts.map +1 -0
- package/dist/types/version.d.ts +3 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +37 -95
- package/dist/LiFi.d.ts +0 -164
- package/dist/LiFi.js +0 -235
- package/dist/allowance/checkAllowance.d.ts +0 -4
- package/dist/allowance/checkAllowance.js +0 -96
- package/dist/allowance/index.d.ts +0 -2
- package/dist/allowance/index.js +0 -2
- package/dist/allowance/tokenApproval.d.ts +0 -22
- package/dist/allowance/tokenApproval.js +0 -59
- package/dist/allowance/utils.d.ts +0 -14
- package/dist/allowance/utils.js +0 -72
- package/dist/balance/checkBalance.d.ts +0 -3
- package/dist/balance/checkBalance.js +0 -38
- package/dist/balance/index.d.ts +0 -13
- package/dist/balance/index.js +0 -10
- package/dist/balance/utils.d.ts +0 -6
- package/dist/balance/utils.js +0 -143
- package/dist/cjs/LiFi.d.ts +0 -164
- package/dist/cjs/allowance/checkAllowance.d.ts +0 -4
- package/dist/cjs/allowance/checkAllowance.js +0 -103
- package/dist/cjs/allowance/index.d.ts +0 -2
- package/dist/cjs/allowance/tokenApproval.d.ts +0 -22
- package/dist/cjs/allowance/tokenApproval.js +0 -69
- package/dist/cjs/allowance/utils.d.ts +0 -14
- package/dist/cjs/allowance/utils.js +0 -82
- package/dist/cjs/balance/checkBalance.d.ts +0 -3
- package/dist/cjs/balance/checkBalance.js +0 -45
- package/dist/cjs/balance/getTokenBalance.d.ts +0 -8
- package/dist/cjs/balance/index.d.ts +0 -13
- package/dist/cjs/balance/utils.d.ts +0 -6
- package/dist/cjs/balance/utils.js +0 -150
- package/dist/cjs/connectors.d.ts +0 -6
- package/dist/cjs/execution/RouteExecutionManager.d.ts +0 -65
- package/dist/cjs/execution/StatusManager.d.ts +0 -68
- package/dist/cjs/execution/StepExecutionManager.d.ts +0 -7
- package/dist/cjs/execution/StepExecutor.d.ts +0 -15
- package/dist/cjs/execution/StepExecutor.js +0 -62
- package/dist/cjs/execution/index.d.ts +0 -1
- package/dist/cjs/execution/multisig.d.ts +0 -3
- package/dist/cjs/execution/stepComparison.d.ts +0 -14
- package/dist/cjs/execution/switchChain.d.ts +0 -16
- package/dist/cjs/execution/utils.d.ts +0 -6
- package/dist/cjs/helpers.d.ts +0 -28
- package/dist/cjs/index.d.ts +0 -5
- package/dist/cjs/request.d.ts +0 -9
- package/dist/cjs/services/ChainsService.d.ts +0 -11
- package/dist/cjs/services/ConfigService.d.ts +0 -23
- package/dist/cjs/types/ERC20.d.ts +0 -22
- package/dist/cjs/types/ERC20.js +0 -53
- package/dist/cjs/types/index.d.ts +0 -4
- package/dist/cjs/types/internal.types.d.ts +0 -151
- package/dist/cjs/utils/getProvider.d.ts +0 -3
- package/dist/cjs/utils/getProvider.js +0 -11
- package/dist/cjs/utils/multicall.d.ts +0 -10
- package/dist/cjs/utils/multicall.js +0 -68
- package/dist/cjs/utils/multicallAbi.json +0 -313
- package/dist/cjs/utils/parseError.d.ts +0 -37
- package/dist/cjs/utils/preRestart.d.ts +0 -3
- package/dist/cjs/utils/preRestart.js +0 -56
- package/dist/cjs/utils/utils.d.ts +0 -25
- package/dist/cjs/version.d.ts +0 -2
- package/dist/connectors.d.ts +0 -6
- package/dist/connectors.js +0 -57
- package/dist/execution/RouteExecutionManager.d.ts +0 -65
- package/dist/execution/RouteExecutionManager.js +0 -213
- package/dist/execution/StatusManager.d.ts +0 -68
- package/dist/execution/StatusManager.js +0 -168
- package/dist/execution/StepExecutionManager.d.ts +0 -7
- package/dist/execution/StepExecutionManager.js +0 -267
- package/dist/execution/StepExecutor.d.ts +0 -15
- package/dist/execution/StepExecutor.js +0 -58
- package/dist/execution/index.d.ts +0 -1
- package/dist/execution/index.js +0 -1
- package/dist/execution/multisig.d.ts +0 -3
- package/dist/execution/multisig.js +0 -27
- package/dist/execution/switchChain.d.ts +0 -16
- package/dist/execution/utils.d.ts +0 -6
- package/dist/execution/utils.js +0 -122
- package/dist/helpers.d.ts +0 -28
- package/dist/index.d.ts +0 -5
- package/dist/index.js +0 -6
- package/dist/services/ApiService.d.ts +0 -17
- package/dist/services/ConfigService.js +0 -101
- package/dist/typeguards.d.ts +0 -4
- package/dist/types/ERC20.d.ts +0 -22
- package/dist/types/ERC20.js +0 -50
- package/dist/types/index.js +0 -4
- package/dist/types/internal.types.d.ts +0 -151
- package/dist/types/internal.types.js +0 -1
- package/dist/utils/errors.d.ts +0 -106
- package/dist/utils/getProvider.d.ts +0 -3
- package/dist/utils/getProvider.js +0 -7
- package/dist/utils/multicall.d.ts +0 -10
- package/dist/utils/multicall.js +0 -61
- package/dist/utils/multicallAbi.json +0 -313
- package/dist/utils/preRestart.d.ts +0 -3
- package/dist/utils/preRestart.js +0 -52
- package/dist/utils/utils.d.ts +0 -25
- package/dist/utils/utils.js +0 -99
- package/dist/version.d.ts +0 -2
- package/dist/version.js +0 -2
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.checkBalance = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const index_js_1 = require("../balance/index.js");
|
|
6
|
+
const errors_js_1 = require("../utils/errors.js");
|
|
7
|
+
const checkBalance = async (walletAddress, step, depth = 0) => {
|
|
8
|
+
const token = await (0, index_js_1.getTokenBalance)(walletAddress, step.action.fromToken);
|
|
9
|
+
if (token) {
|
|
10
|
+
const currentBalance = token.amount ?? 0n;
|
|
11
|
+
const neededBalance = BigInt(step.action.fromAmount);
|
|
12
|
+
if (currentBalance < neededBalance) {
|
|
13
|
+
if (depth <= 3) {
|
|
14
|
+
await new Promise((resolve) => {
|
|
15
|
+
setTimeout(resolve, 200);
|
|
16
|
+
});
|
|
17
|
+
await (0, exports.checkBalance)(walletAddress, step, depth + 1);
|
|
18
|
+
}
|
|
19
|
+
else if ((neededBalance * BigInt((1 - step.action.slippage) * 1000000000)) /
|
|
20
|
+
1000000000n <=
|
|
21
|
+
currentBalance) {
|
|
22
|
+
step.action.fromAmount = currentBalance.toString();
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
const neeeded = (0, viem_1.formatUnits)(neededBalance, token.decimals);
|
|
26
|
+
const current = (0, viem_1.formatUnits)(currentBalance, token.decimals);
|
|
27
|
+
let errorMessage = `Your ${token.symbol} balance is too low, ` +
|
|
28
|
+
`you try to transfer ${neeeded} ${token.symbol}, ` +
|
|
29
|
+
`but your wallet only holds ${current} ${token.symbol}. ` +
|
|
30
|
+
`No funds have been sent.`;
|
|
31
|
+
if (currentBalance !== 0n) {
|
|
32
|
+
errorMessage +=
|
|
33
|
+
`If the problem consists, please delete this transfer and ` +
|
|
34
|
+
`start a new one with a maximum of ${current} ${token.symbol}.`;
|
|
35
|
+
}
|
|
36
|
+
throw new errors_js_1.BalanceError('The balance is too low.', errorMessage);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
exports.checkBalance = checkBalance;
|
|
42
|
+
//# sourceMappingURL=checkBalance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../../src/execution/checkBalance.ts"],"names":[],"mappings":";;;AACA,+BAAkC;AAClC,kDAAqD;AACrD,kDAAiD;AAE1C,MAAM,YAAY,GAAG,KAAK,EAC/B,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,IAAA,0BAAe,EAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACzE,IAAI,KAAK,EAAE;QACT,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;YAClC,IAAI,KAAK,IAAI,CAAC,EAAE;gBACd,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC5B,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;gBAC1B,CAAC,CAAC,CAAA;gBACF,MAAM,IAAA,oBAAY,EAAC,aAAa,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;aACnD;iBAAM,IACL,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,UAAa,CAAC,CAAC;gBAClE,WAAc;gBAChB,cAAc,EACd;gBAEA,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;aACnD;iBAAM;gBACL,MAAM,OAAO,GAAG,IAAA,kBAAW,EAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC1D,MAAM,OAAO,GAAG,IAAA,kBAAW,EAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC3D,IAAI,YAAY,GACd,QAAQ,KAAK,CAAC,MAAM,uBAAuB;oBAC3C,uBAAuB,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI;oBAClD,8BAA8B,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI;oBACzD,0BAA0B,CAAA;gBAE5B,IAAI,cAAc,KAAK,EAAE,EAAE;oBACzB,YAAY;wBACV,2DAA2D;4BAC3D,qCAAqC,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAA;iBAClE;gBAED,MAAM,IAAI,wBAAY,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAA;aAChE;SACF;KACF;AACH,CAAC,CAAA;AA1CY,QAAA,YAAY,gBA0CxB"}
|
|
@@ -1,17 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./StatusManager.js"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./types.js"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/execution/index.ts"],"names":[],"mappings":";;;AAAA,6DAAkC;AAClC,qDAA0B"}
|
|
@@ -1,34 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.updateMultisigRouteProcess = void 0;
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const updateMultisigRouteProcess = async (internalTxHash, step, statusManager,
|
|
10
|
-
const config =
|
|
11
|
-
if (!config.
|
|
12
|
-
throw new Error('
|
|
4
|
+
const ConfigService_js_1 = require("../services/ConfigService.js");
|
|
5
|
+
const errors_js_1 = require("../utils/errors.js");
|
|
6
|
+
const updateMultisigRouteProcess = async (internalTxHash, step, statusManager, processType, fromChain) => {
|
|
7
|
+
const config = ConfigService_js_1.ConfigService.getInstance().getConfig();
|
|
8
|
+
if (!config.multisig?.getMultisigTransactionDetails) {
|
|
9
|
+
throw new Error('getMultisigTransactionDetails is missing in multisig config.');
|
|
13
10
|
}
|
|
14
11
|
const updateIntermediateMultisigStatus = () => {
|
|
15
|
-
|
|
12
|
+
statusManager.updateProcess(step, processType, 'PENDING');
|
|
16
13
|
};
|
|
17
|
-
const multisigStatusResponse = await config.
|
|
14
|
+
const multisigStatusResponse = await config.multisig?.getMultisigTransactionDetails(internalTxHash, fromChain.id, updateIntermediateMultisigStatus);
|
|
18
15
|
if (multisigStatusResponse.status === 'DONE') {
|
|
19
|
-
|
|
16
|
+
statusManager.updateProcess(step, processType, 'PENDING', {
|
|
20
17
|
txHash: multisigStatusResponse.txHash,
|
|
21
18
|
multisigTxHash: undefined,
|
|
22
|
-
txLink: fromChain.metamask.blockExplorerUrls[0]
|
|
23
|
-
'tx/' +
|
|
24
|
-
multisigStatusResponse.txHash,
|
|
19
|
+
txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${multisigStatusResponse.txHash}`,
|
|
25
20
|
});
|
|
26
21
|
}
|
|
27
22
|
if (multisigStatusResponse.status === 'FAILED') {
|
|
28
|
-
throw new
|
|
23
|
+
throw new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.TransactionFailed, 'Multisig transaction failed.');
|
|
29
24
|
}
|
|
30
25
|
if (multisigStatusResponse.status === 'CANCELLED') {
|
|
31
|
-
throw new
|
|
26
|
+
throw new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.SignatureRejected, 'Transaction was rejected by user.');
|
|
32
27
|
}
|
|
33
28
|
};
|
|
34
29
|
exports.updateMultisigRouteProcess = updateMultisigRouteProcess;
|
|
30
|
+
//# sourceMappingURL=multisig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multisig.js","sourceRoot":"","sources":["../../../src/execution/multisig.ts"],"names":[],"mappings":";;;AAEA,mEAA4D;AAC5D,kDAAoE;AAI7D,MAAM,0BAA0B,GAAG,KAAK,EAC7C,cAAoB,EACpB,IAAc,EACd,aAA4B,EAC5B,WAAwB,EACxB,SAAwB,EACxB,EAAE;IACF,MAAM,MAAM,GAAG,gCAAa,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAA;IAEtD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,6BAA6B,EAAE;QACnD,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAA;KACF;IAED,MAAM,gCAAgC,GAAG,GAAG,EAAE;QAC5C,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAA;IAC3D,CAAC,CAAA;IAED,MAAM,sBAAsB,GAC1B,MAAM,MAAM,CAAC,QAAQ,EAAE,6BAA6B,CAClD,cAAc,EACd,SAAS,CAAC,EAAE,EACZ,gCAAgC,CACjC,CAAA;IAEH,IAAI,sBAAsB,CAAC,MAAM,KAAK,MAAM,EAAE;QAC5C,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;YACxD,MAAM,EAAE,sBAAsB,CAAC,MAAM;YACrC,cAAc,EAAE,SAAS;YACzB,MAAM,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,sBAAsB,CAAC,MAAM,EAAE;SACxF,CAAC,CAAA;KACH;IAED,IAAI,sBAAsB,CAAC,MAAM,KAAK,QAAQ,EAAE;QAC9C,MAAM,IAAI,4BAAgB,CACxB,yBAAa,CAAC,iBAAiB,EAC/B,8BAA8B,CAC/B,CAAA;KACF;IAED,IAAI,sBAAsB,CAAC,MAAM,KAAK,WAAW,EAAE;QACjD,MAAM,IAAI,4BAAgB,CACxB,yBAAa,CAAC,iBAAiB,EAC/B,mCAAmC,CACpC,CAAA;KACF;AACH,CAAC,CAAA;AA/CY,QAAA,0BAA0B,8BA+CtC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.prepareRestart = void 0;
|
|
4
|
+
const prepareRestart = async (route) => {
|
|
5
|
+
for (let index = 0; index < route.steps.length; index++) {
|
|
6
|
+
const step = route.steps[index];
|
|
7
|
+
const stepHasFailed = step.execution?.status === 'FAILED';
|
|
8
|
+
if (stepHasFailed) {
|
|
9
|
+
deleteFailedProcesses(step);
|
|
10
|
+
deleteTransactionData(step);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
exports.prepareRestart = prepareRestart;
|
|
15
|
+
const deleteFailedProcesses = (step) => {
|
|
16
|
+
if (step.execution) {
|
|
17
|
+
step.execution.process = step.execution.process.filter((process) => process.status === 'DONE');
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
const deleteTransactionData = (step) => {
|
|
21
|
+
step.transactionRequest = undefined;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=prepareRestart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareRestart.js","sourceRoot":"","sources":["../../../src/execution/prepareRestart.ts"],"names":[],"mappings":";;;AAEO,MAAM,cAAc,GAAG,KAAK,EAAE,KAAY,EAAE,EAAE;IACnD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,QAAQ,CAAA;QAEzD,IAAI,aAAa,EAAE;YAEjB,qBAAqB,CAAC,IAAI,CAAC,CAAA;YAC3B,qBAAqB,CAAC,IAAI,CAAC,CAAA;SAC5B;KACF;AACH,CAAC,CAAA;AAXY,QAAA,cAAc,kBAW1B;AAyDD,MAAM,qBAAqB,GAAG,CAAC,IAAc,EAAE,EAAE;IAC/C,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CACpD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CACvC,CAAA;KACF;AACH,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,IAAc,EAAE,EAAE;IAC/C,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;AACrC,CAAC,CAAA"}
|
|
@@ -1,22 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.stepComparison = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
/**
|
|
7
|
-
* This method checks whether the new and updated Step meets the required exchange rate conditions.
|
|
8
|
-
* If yes it returns the updated Step.
|
|
9
|
-
* If no and if user interaction is allowed it triggers the acceptExchangeRateUpdateHook. If no user interaction is allowed it aborts.
|
|
10
|
-
*
|
|
11
|
-
* @param statusManager
|
|
12
|
-
* @param oldStep
|
|
13
|
-
* @param newStep
|
|
14
|
-
* @param settings
|
|
15
|
-
* @param allowUserInteraction
|
|
16
|
-
*/
|
|
4
|
+
const errors_js_1 = require("../utils/errors.js");
|
|
5
|
+
const utils_js_1 = require("./utils.js");
|
|
17
6
|
const stepComparison = async (statusManager, oldStep, newStep, settings, allowUserInteraction) => {
|
|
18
|
-
|
|
19
|
-
if ((0, utils_1.checkStepSlippageThreshold)(oldStep, newStep)) {
|
|
7
|
+
if ((0, utils_js_1.checkStepSlippageThreshold)(oldStep, newStep)) {
|
|
20
8
|
return statusManager.updateStepInRoute(newStep);
|
|
21
9
|
}
|
|
22
10
|
let allowStepUpdate;
|
|
@@ -28,10 +16,10 @@ const stepComparison = async (statusManager, oldStep, newStep, settings, allowUs
|
|
|
28
16
|
});
|
|
29
17
|
}
|
|
30
18
|
if (!allowStepUpdate) {
|
|
31
|
-
|
|
32
|
-
throw new errors_1.TransactionError(errors_1.LifiErrorCode.TransactionCanceled, 'Exchange rate has changed!', `Transaction was not sent, your funds are still in your wallet.
|
|
19
|
+
throw new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.ExchangeRateUpdateCanceled, 'Exchange rate has changed!', `Transaction was not sent, your funds are still in your wallet.
|
|
33
20
|
The exchange rate has changed and the previous estimation can not be fulfilled due to value loss.`);
|
|
34
21
|
}
|
|
35
22
|
return statusManager.updateStepInRoute(newStep);
|
|
36
23
|
};
|
|
37
24
|
exports.stepComparison = stepComparison;
|
|
25
|
+
//# sourceMappingURL=stepComparison.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepComparison.js","sourceRoot":"","sources":["../../../src/execution/stepComparison.ts"],"names":[],"mappings":";;;AACA,kDAAoE;AAGpE,yCAAuD;AAahD,MAAM,cAAc,GAAG,KAAK,EACjC,aAA4B,EAC5B,OAAiB,EACjB,OAAiB,EACjB,QAAmC,EACnC,oBAA6B,EACV,EAAE;IAErB,IAAI,IAAA,qCAA0B,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QAChD,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;KAChD;IAED,IAAI,eAAoC,CAAA;IACxC,IAAI,oBAAoB,EAAE;QACxB,eAAe,GAAG,MAAM,QAAQ,CAAC,4BAA4B,CAAC;YAC5D,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;KACH;IAED,IAAI,CAAC,eAAe,EAAE;QAEpB,MAAM,IAAI,4BAAgB,CACxB,yBAAa,CAAC,0BAA0B,EACxC,4BAA4B,EAC5B;wGACkG,CACnG,CAAA;KACF;IAED,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA;AAhCY,QAAA,cAAc,kBAgC1B"}
|
|
@@ -1,24 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.switchChain = void 0;
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* If no and if user interaction is allowed it triggers the switchChainHook. If no user interaction is allowed it aborts.
|
|
9
|
-
*
|
|
10
|
-
* @param signer
|
|
11
|
-
* @param statusManager
|
|
12
|
-
* @param step
|
|
13
|
-
* @param switchChainHook
|
|
14
|
-
* @param allowUserInteraction
|
|
15
|
-
*/
|
|
16
|
-
const switchChain = async (signer, statusManager, step, switchChainHook, allowUserInteraction) => {
|
|
17
|
-
// if we are already on the correct chain we can proceed directly
|
|
18
|
-
if ((await signer.getChainId()) === step.action.fromChainId) {
|
|
19
|
-
return signer;
|
|
4
|
+
const errors_js_1 = require("../utils/errors.js");
|
|
5
|
+
const switchChain = async (walletClient, statusManager, step, switchChainHook, allowUserInteraction) => {
|
|
6
|
+
if ((await walletClient.getChainId()) === step.action.fromChainId) {
|
|
7
|
+
return walletClient;
|
|
20
8
|
}
|
|
21
|
-
// -> set status message
|
|
22
9
|
step.execution = statusManager.initExecutionObject(step);
|
|
23
10
|
statusManager.updateExecution(step, 'ACTION_REQUIRED');
|
|
24
11
|
let switchProcess = statusManager.findOrCreateProcess(step, 'SWITCH_CHAIN', 'ACTION_REQUIRED');
|
|
@@ -26,20 +13,20 @@ const switchChain = async (signer, statusManager, step, switchChainHook, allowUs
|
|
|
26
13
|
return;
|
|
27
14
|
}
|
|
28
15
|
try {
|
|
29
|
-
const
|
|
30
|
-
const updatedChainId = await
|
|
16
|
+
const updatedWalletClient = await switchChainHook(step.action.fromChainId);
|
|
17
|
+
const updatedChainId = await updatedWalletClient?.getChainId();
|
|
31
18
|
if (updatedChainId !== step.action.fromChainId) {
|
|
32
|
-
throw new
|
|
19
|
+
throw new errors_js_1.ProviderError(errors_js_1.LiFiErrorCode.ChainSwitchError, 'Chain switch required.');
|
|
33
20
|
}
|
|
34
21
|
switchProcess = statusManager.updateProcess(step, switchProcess.type, 'DONE');
|
|
35
22
|
statusManager.updateExecution(step, 'PENDING');
|
|
36
|
-
return
|
|
23
|
+
return updatedWalletClient;
|
|
37
24
|
}
|
|
38
25
|
catch (error) {
|
|
39
26
|
statusManager.updateProcess(step, switchProcess.type, 'FAILED', {
|
|
40
27
|
error: {
|
|
41
28
|
message: error.message,
|
|
42
|
-
code:
|
|
29
|
+
code: errors_js_1.LiFiErrorCode.ChainSwitchError,
|
|
43
30
|
},
|
|
44
31
|
});
|
|
45
32
|
statusManager.updateExecution(step, 'FAILED');
|
|
@@ -47,3 +34,4 @@ const switchChain = async (signer, statusManager, step, switchChainHook, allowUs
|
|
|
47
34
|
}
|
|
48
35
|
};
|
|
49
36
|
exports.switchChain = switchChain;
|
|
37
|
+
//# sourceMappingURL=switchChain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switchChain.js","sourceRoot":"","sources":["../../../src/execution/switchChain.ts"],"names":[],"mappings":";;;AAEA,kDAAiE;AAqB1D,MAAM,WAAW,GAAG,KAAK,EAC9B,YAA0B,EAC1B,aAA4B,EAC5B,IAAc,EACd,eAAgC,EAChC,oBAA6B,EACM,EAAE;IAErC,IAAI,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QACjE,OAAO,YAAY,CAAA;KACpB;IAGD,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;IACxD,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;IAEtD,IAAI,aAAa,GAAG,aAAa,CAAC,mBAAmB,CACnD,IAAI,EACJ,cAAc,EACd,iBAAiB,CAClB,CAAA;IAED,IAAI,CAAC,oBAAoB,EAAE;QACzB,OAAM;KACP;IAED,IAAI;QACF,MAAM,mBAAmB,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC1E,MAAM,cAAc,GAAG,MAAM,mBAAmB,EAAE,UAAU,EAAE,CAAA;QAC9D,IAAI,cAAc,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC9C,MAAM,IAAI,yBAAa,CACrB,yBAAa,CAAC,gBAAgB,EAC9B,wBAAwB,CACzB,CAAA;SACF;QAED,aAAa,GAAG,aAAa,CAAC,aAAa,CACzC,IAAI,EACJ,aAAa,CAAC,IAAI,EAClB,MAAM,CACP,CAAA;QACD,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;QAC9C,OAAO,mBAAmB,CAAA;KAC3B;IAAC,OAAO,KAAU,EAAE;QACnB,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE;YAC9D,KAAK,EAAE;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,yBAAa,CAAC,gBAAgB;aACrC;SACF,CAAC,CAAA;QACF,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC7C,MAAM,KAAK,CAAA;KACZ;AACH,CAAC,CAAA;AArDY,QAAA,WAAW,eAqDvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/execution/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,61 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.checkStepSlippageThreshold = exports.getSubstatusMessage = exports.getProcessMessage =
|
|
7
|
-
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
8
|
-
const ApiService_1 = __importDefault(require("../services/ApiService"));
|
|
9
|
-
const errors_1 = require("../utils/errors");
|
|
10
|
-
const utils_1 = require("../utils/utils");
|
|
11
|
-
const TRANSACTION_HASH_OBSERVERS = {};
|
|
12
|
-
async function waitForReceivingTransaction(txHash, statusManager, processType, step) {
|
|
13
|
-
const getStatus = () => new Promise(async (resolve, reject) => {
|
|
14
|
-
let statusResponse;
|
|
15
|
-
try {
|
|
16
|
-
statusResponse = await ApiService_1.default.getStatus({
|
|
17
|
-
bridge: step.tool,
|
|
18
|
-
fromChain: step.action.fromChainId,
|
|
19
|
-
toChain: step.action.toChainId,
|
|
20
|
-
txHash,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
catch (e) {
|
|
24
|
-
console.debug('Fetching status from backend failed.', e);
|
|
25
|
-
return resolve(undefined);
|
|
26
|
-
}
|
|
27
|
-
switch (statusResponse.status) {
|
|
28
|
-
case 'DONE':
|
|
29
|
-
return resolve(statusResponse);
|
|
30
|
-
case 'PENDING':
|
|
31
|
-
statusManager?.updateProcess(step, processType, 'PENDING', {
|
|
32
|
-
substatus: statusResponse.substatus,
|
|
33
|
-
substatusMessage: statusResponse.substatusMessage ||
|
|
34
|
-
getSubstatusMessage(statusResponse.status, statusResponse.substatus),
|
|
35
|
-
txLink: statusResponse.bridgeExplorerLink,
|
|
36
|
-
});
|
|
37
|
-
return resolve(undefined);
|
|
38
|
-
case 'NOT_FOUND':
|
|
39
|
-
return resolve(undefined);
|
|
40
|
-
case 'FAILED':
|
|
41
|
-
default:
|
|
42
|
-
return reject();
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
let status;
|
|
46
|
-
if (txHash in TRANSACTION_HASH_OBSERVERS) {
|
|
47
|
-
status = await TRANSACTION_HASH_OBSERVERS[txHash];
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
TRANSACTION_HASH_OBSERVERS[txHash] = (0, utils_1.repeatUntilDone)(getStatus, 5000);
|
|
51
|
-
status = await TRANSACTION_HASH_OBSERVERS[txHash];
|
|
52
|
-
}
|
|
53
|
-
if (!status.receiving) {
|
|
54
|
-
throw new errors_1.ServerError("Status doesn't contain receiving information.");
|
|
55
|
-
}
|
|
56
|
-
return status;
|
|
57
|
-
}
|
|
58
|
-
exports.waitForReceivingTransaction = waitForReceivingTransaction;
|
|
3
|
+
exports.checkStepSlippageThreshold = exports.getSubstatusMessage = exports.getProcessMessage = void 0;
|
|
59
4
|
const processMessages = {
|
|
60
5
|
TOKEN_ALLOWANCE: {
|
|
61
6
|
STARTED: 'Setting token allowance.',
|
|
@@ -115,18 +60,18 @@ function getSubstatusMessage(status, substatus) {
|
|
|
115
60
|
return message;
|
|
116
61
|
}
|
|
117
62
|
exports.getSubstatusMessage = getSubstatusMessage;
|
|
118
|
-
// Used to check if changed exchange rate is in the range of slippage threshold
|
|
119
63
|
function checkStepSlippageThreshold(oldStep, newStep) {
|
|
120
|
-
const setSlippage =
|
|
121
|
-
const oldEstimatedToAmount =
|
|
122
|
-
const newEstimatedToAmount =
|
|
123
|
-
const amountDifference = oldEstimatedToAmount
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
64
|
+
const setSlippage = oldStep.action.slippage;
|
|
65
|
+
const oldEstimatedToAmount = BigInt(oldStep.estimate.toAmountMin);
|
|
66
|
+
const newEstimatedToAmount = BigInt(newStep.estimate.toAmountMin);
|
|
67
|
+
const amountDifference = oldEstimatedToAmount - newEstimatedToAmount;
|
|
68
|
+
let actualSlippage = 0;
|
|
69
|
+
if (oldEstimatedToAmount > 0) {
|
|
70
|
+
actualSlippage =
|
|
71
|
+
Number((amountDifference * 1000000000n) / oldEstimatedToAmount) /
|
|
72
|
+
1000000000;
|
|
128
73
|
}
|
|
129
|
-
return
|
|
130
|
-
actualSlippage.lte(setSlippage));
|
|
74
|
+
return actualSlippage <= setSlippage;
|
|
131
75
|
}
|
|
132
76
|
exports.checkStepSlippageThreshold = checkStepSlippageThreshold;
|
|
77
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/execution/utils.ts"],"names":[],"mappings":";;;AAQA,MAAM,eAAe,GAAyD;IAC5E,eAAe,EAAE;QACf,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,sBAAsB;KAC7B;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE,8BAA8B;KACrC;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,6BAA6B;QACtC,eAAe,EAAE,8BAA8B;QAC/C,OAAO,EAAE,+BAA+B;QACxC,IAAI,EAAE,iBAAiB;KACxB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,+BAA+B;QACxC,eAAe,EAAE,8BAA8B;QAC/C,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,+BAA+B;KACtC;IACD,eAAe,EAAE;QACf,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,mBAAmB;KAC1B;IACD,WAAW,EAAE,EAAE;CAChB,CAAA;AACD,MAAM,iBAAiB,GAGnB;IACF,OAAO,EAAE;QACP,oBAAoB,EAAE,kDAAkD;QACxE,mBAAmB,EAAE,+CAA+C;QACpE,6BAA6B,EAC3B,gFAAgF;QAClF,aAAa,EACX,mFAAmF;QACrF,yBAAyB,EACvB,kHAAkH;QACpH,4BAA4B,EAC1B,4GAA4G;KAC/G;IACD,IAAI,EAAE;QACJ,OAAO,EACL,uEAAuE;QACzE,QAAQ,EAAE,iDAAiD;QAC3D,SAAS,EAAE,2BAA2B;KACvC;IACD,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;CACd,CAAA;AAED,SAAgB,iBAAiB,CAC/B,IAAiB,EACjB,MAAc;IAEd,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IACpD,OAAO,cAAc,CAAA;AACvB,CAAC;AAND,8CAMC;AAED,SAAgB,mBAAmB,CACjC,MAAqB,EACrB,SAAqB;IAErB,IAAI,CAAC,SAAS,EAAE;QACd,OAAM;KACP;IACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAA;IACpD,OAAO,OAAO,CAAA;AAChB,CAAC;AATD,kDASC;AAUD,SAAgB,0BAA0B,CACxC,OAAiB,EACjB,OAAiB;IAEjB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAA;IAC3C,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;IAEpE,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,oBAAoB,GAAG,CAAC,EAAE;QAC5B,cAAc;YACZ,MAAM,CAAC,CAAC,gBAAgB,GAAG,WAAc,CAAC,GAAG,oBAAoB,CAAC;gBAClE,UAAa,CAAA;KAChB;IACD,OAAO,cAAc,IAAI,WAAW,CAAA;AACtC,CAAC;AAhBD,gEAgBC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.waitForReceivingTransaction = void 0;
|
|
4
|
+
const ApiService_js_1 = require("../services/ApiService.js");
|
|
5
|
+
const errors_js_1 = require("../utils/errors.js");
|
|
6
|
+
const utils_js_1 = require("../utils/utils.js");
|
|
7
|
+
const utils_js_2 = require("./utils.js");
|
|
8
|
+
const TRANSACTION_HASH_OBSERVERS = {};
|
|
9
|
+
async function waitForReceivingTransaction(txHash, statusManager, processType, step) {
|
|
10
|
+
const getStatus = () => new Promise(async (resolve, reject) => {
|
|
11
|
+
let statusResponse;
|
|
12
|
+
try {
|
|
13
|
+
statusResponse = await ApiService_js_1.default.getStatus({
|
|
14
|
+
bridge: step.tool,
|
|
15
|
+
fromChain: step.action.fromChainId,
|
|
16
|
+
toChain: step.action.toChainId,
|
|
17
|
+
txHash,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
catch (e) {
|
|
21
|
+
console.debug('Fetching status from backend failed.', e);
|
|
22
|
+
return resolve(undefined);
|
|
23
|
+
}
|
|
24
|
+
switch (statusResponse.status) {
|
|
25
|
+
case 'DONE':
|
|
26
|
+
return resolve(statusResponse);
|
|
27
|
+
case 'PENDING':
|
|
28
|
+
statusManager?.updateProcess(step, processType, 'PENDING', {
|
|
29
|
+
substatus: statusResponse.substatus,
|
|
30
|
+
substatusMessage: statusResponse.substatusMessage ||
|
|
31
|
+
(0, utils_js_2.getSubstatusMessage)(statusResponse.status, statusResponse.substatus),
|
|
32
|
+
txLink: statusResponse.bridgeExplorerLink,
|
|
33
|
+
});
|
|
34
|
+
return resolve(undefined);
|
|
35
|
+
case 'NOT_FOUND':
|
|
36
|
+
return resolve(undefined);
|
|
37
|
+
case 'FAILED':
|
|
38
|
+
default:
|
|
39
|
+
return reject();
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
let status;
|
|
43
|
+
if (txHash in TRANSACTION_HASH_OBSERVERS) {
|
|
44
|
+
status = await TRANSACTION_HASH_OBSERVERS[txHash];
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
TRANSACTION_HASH_OBSERVERS[txHash] = (0, utils_js_1.repeatUntilDone)(getStatus, 5000);
|
|
48
|
+
status = await TRANSACTION_HASH_OBSERVERS[txHash];
|
|
49
|
+
}
|
|
50
|
+
if (!status.receiving) {
|
|
51
|
+
throw new errors_js_1.ServerError("Status doesn't contain receiving information.");
|
|
52
|
+
}
|
|
53
|
+
return status;
|
|
54
|
+
}
|
|
55
|
+
exports.waitForReceivingTransaction = waitForReceivingTransaction;
|
|
56
|
+
//# sourceMappingURL=waitForReceivingTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waitForReceivingTransaction.js","sourceRoot":"","sources":["../../../src/execution/waitForReceivingTransaction.ts"],"names":[],"mappings":";;;AAMA,6DAAkD;AAClD,kDAAgD;AAChD,gDAAmD;AAEnD,yCAAgD;AAEhD,MAAM,0BAA0B,GAA4C,EAAE,CAAA;AAEvE,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,aAA4B,EAC5B,WAAwB,EACxB,IAAc;IAEd,MAAM,SAAS,GAAG,GAAwC,EAAE,CAC1D,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI,cAA8B,CAAA;QAClC,IAAI;YACF,cAAc,GAAG,MAAM,uBAAU,CAAC,SAAS,CAAC;gBAC1C,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC9B,MAAM;aACP,CAAC,CAAA;SACH;QAAC,OAAO,CAAM,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YACxD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;SAC1B;QAED,QAAQ,cAAc,CAAC,MAAM,EAAE;YAC7B,KAAK,MAAM;gBACT,OAAO,OAAO,CAAC,cAAc,CAAC,CAAA;YAChC,KAAK,SAAS;gBACZ,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;oBACzD,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,gBAAgB,EACd,cAAc,CAAC,gBAAgB;wBAC/B,IAAA,8BAAmB,EACjB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,SAAS,CACzB;oBACH,MAAM,EAAG,cAAiC,CAAC,kBAAkB;iBAC9D,CAAC,CAAA;gBACF,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,WAAW;gBACd,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,QAAQ,CAAC;YACd;gBACE,OAAO,MAAM,EAAE,CAAA;SAClB;IACH,CAAC,CAAC,CAAA;IAEJ,IAAI,MAAM,CAAA;IAEV,IAAI,MAAM,IAAI,0BAA0B,EAAE;QACxC,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;KAClD;SAAM;QACL,0BAA0B,CAAC,MAAM,CAAC,GAAG,IAAA,0BAAe,EAAC,SAAS,EAAE,IAAK,CAAC,CAAA;QACtE,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;KAClD;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;QACrB,MAAM,IAAI,uBAAW,CAAC,+CAA+C,CAAC,CAAA;KACvE;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AA1DD,kEA0DC"}
|
package/dist/cjs/helpers.js
CHANGED
|
@@ -1,51 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchTxErrorDetails = exports.convertQuoteToRoute = exports.checkPackageUpdates = exports.
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const ethereumRequest = async (method, params) => {
|
|
8
|
-
// If ethereum.request() exists, the provider is probably EIP-1193 compliant.
|
|
9
|
-
if (!ethereum?.request) {
|
|
10
|
-
throw new Error('Provider not available.');
|
|
11
|
-
}
|
|
12
|
-
return ethereum.request({
|
|
13
|
-
method,
|
|
14
|
-
params,
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* Predefined hook that decrypts calldata using EIP-1193 compliant wallet functions.
|
|
19
|
-
* @param {string} walletAddress - The wallet address of the user that should decrypt the calldata.
|
|
20
|
-
* @return {(encryptedData: string) => Promise<any>} A function that decrypts data using EIP-1193 compliant wallet functions.
|
|
21
|
-
*/
|
|
22
|
-
const getEthereumDecryptionHook = (walletAddress) => {
|
|
23
|
-
return (encryptedData) => {
|
|
24
|
-
return ethereumRequest('eth_decrypt', [encryptedData, walletAddress]);
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
exports.getEthereumDecryptionHook = getEthereumDecryptionHook;
|
|
28
|
-
/**
|
|
29
|
-
* Predefined hook that get the public encryption key of a user using EIP-1193 compliant wallet functions.
|
|
30
|
-
* @param {string} walletAddress - The wallet address of the user.
|
|
31
|
-
* @return {(walletAddress: string) => () => Promise<any>} A function that return the public encryption key using EIP-1193 compliant wallet functions.
|
|
32
|
-
*/
|
|
33
|
-
const getEthereumPublicKeyHook = (walletAddress) => {
|
|
34
|
-
return () => {
|
|
35
|
-
return ethereumRequest('eth_getEncryptionPublicKey', [walletAddress]);
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
exports.getEthereumPublicKeyHook = getEthereumPublicKeyHook;
|
|
39
|
-
/**
|
|
40
|
-
* Returns a random number between min (inclusive) and max (inclusive)
|
|
41
|
-
*/
|
|
3
|
+
exports.fetchTxErrorDetails = exports.convertQuoteToRoute = exports.checkPackageUpdates = exports.getRandomNumber = void 0;
|
|
4
|
+
const request_js_1 = require("./request.js");
|
|
5
|
+
const errors_js_1 = require("./utils/errors.js");
|
|
6
|
+
const version_js_1 = require("./version.js");
|
|
42
7
|
const getRandomNumber = (min, max) => {
|
|
43
8
|
return Math.floor(Math.random() * (max - min + 1) + min);
|
|
44
9
|
};
|
|
45
10
|
exports.getRandomNumber = getRandomNumber;
|
|
46
|
-
const isSameToken = (tokenA, tokenB) => tokenA.chainId === tokenB.chainId &&
|
|
47
|
-
tokenA.address.toLowerCase() === tokenB.address.toLowerCase();
|
|
48
|
-
exports.isSameToken = isSameToken;
|
|
49
11
|
function semverCompare(a, b) {
|
|
50
12
|
if (a.startsWith(b + '-')) {
|
|
51
13
|
return -1;
|
|
@@ -64,33 +26,24 @@ const checkPackageUpdates = async (packageName, packageVersion, disableCheck) =>
|
|
|
64
26
|
return;
|
|
65
27
|
}
|
|
66
28
|
try {
|
|
67
|
-
const pkgName = packageName ??
|
|
68
|
-
const response = await (0,
|
|
29
|
+
const pkgName = packageName ?? version_js_1.name;
|
|
30
|
+
const response = await (0, request_js_1.request)(`https://registry.npmjs.org/${pkgName}/latest`, { skipTrackingHeaders: true });
|
|
69
31
|
const latestVersion = response.version;
|
|
70
|
-
const currentVersion = packageVersion ??
|
|
32
|
+
const currentVersion = packageVersion ?? version_js_1.version;
|
|
71
33
|
if (semverCompare(latestVersion, currentVersion)) {
|
|
72
|
-
console.warn(
|
|
73
|
-
// eslint-disable-next-line max-len
|
|
74
|
-
`${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`);
|
|
34
|
+
console.warn(`${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`);
|
|
75
35
|
}
|
|
76
36
|
}
|
|
77
37
|
catch (error) {
|
|
78
|
-
// Cannot verify version, might be network error etc. We don't bother showing anything in that case
|
|
79
38
|
}
|
|
80
39
|
};
|
|
81
40
|
exports.checkPackageUpdates = checkPackageUpdates;
|
|
82
|
-
/**
|
|
83
|
-
* Converts a quote to Route
|
|
84
|
-
* @param {LifiStep} step - Step returned from the quote endpoint.
|
|
85
|
-
* @return {Route} - The route to be executed.
|
|
86
|
-
* @throws {ValidationError} Throws a ValidationError if the step has missing values.
|
|
87
|
-
*/
|
|
88
41
|
const convertQuoteToRoute = (step) => {
|
|
89
42
|
if (!step.estimate.fromAmountUSD) {
|
|
90
|
-
throw new
|
|
43
|
+
throw new errors_js_1.ValidationError("Missing 'fromAmountUSD' in step estimate.");
|
|
91
44
|
}
|
|
92
45
|
if (!step.estimate.toAmountUSD) {
|
|
93
|
-
throw new
|
|
46
|
+
throw new errors_js_1.ValidationError("Missing 'toAmountUSD' in step estimate.");
|
|
94
47
|
}
|
|
95
48
|
const route = {
|
|
96
49
|
fromToken: step.action.fromToken,
|
|
@@ -110,7 +63,8 @@ const convertQuoteToRoute = (step) => {
|
|
|
110
63
|
};
|
|
111
64
|
exports.convertQuoteToRoute = convertQuoteToRoute;
|
|
112
65
|
const fetchTxErrorDetails = async (txHash, chainId) => {
|
|
113
|
-
const response = await (0,
|
|
66
|
+
const response = await (0, request_js_1.request)(`https://api.tenderly.co/api/v1/public-contract/${chainId}/tx/${txHash}`);
|
|
114
67
|
return response;
|
|
115
68
|
};
|
|
116
69
|
exports.fetchTxErrorDetails = fetchTxErrorDetails;
|
|
70
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;AACA,6CAAsC;AAEtC,iDAAmD;AACnD,6CAA4C;AAQrC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,GAAW,EAAU,EAAE;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;AAC1D,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAED,SAAS,aAAa,CAAC,CAAS,EAAE,CAAS;IACzC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE;QACzB,OAAO,CAAC,CAAC,CAAA;KACV;IACD,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE;QACzB,OAAO,CAAC,CAAA;KACT;IACD,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE;QACnC,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,MAAM;QACnB,SAAS,EAAE,OAAO;KACnB,CAAC,CAAA;AACJ,CAAC;AAEM,MAAM,mBAAmB,GAAG,KAAK,EACtC,WAAoB,EACpB,cAAuB,EACvB,YAAsB,EACtB,EAAE;IACF,IAAI,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;QAC1D,OAAM;KACP;IACD,IAAI;QACF,MAAM,OAAO,GAAG,WAAW,IAAI,iBAAI,CAAA;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAO,EAC5B,8BAA8B,OAAO,SAAS,EAC9C,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAC9B,CAAA;QACD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAA;QACtC,MAAM,cAAc,GAAG,cAAc,IAAI,oBAAO,CAAA;QAChD,IAAI,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE;YAChD,OAAO,CAAC,IAAI,CAEV,GAAG,OAAO,wHAAwH,cAAc,qBAAqB,aAAa,GAAG,CACtL,CAAA;SACF;KACF;IAAC,OAAO,KAAK,EAAE;KAEf;AACH,CAAC,CAAA;AAzBY,QAAA,mBAAmB,uBAyB/B;AAQM,MAAM,mBAAmB,GAAG,CAAC,IAAc,EAAS,EAAE;IAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;QAChC,MAAM,IAAI,2BAAe,CAAC,2CAA2C,CAAC,CAAA;KACvE;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;QAC9B,MAAM,IAAI,2BAAe,CAAC,yCAAyC,CAAC,CAAA;KACrE;IAED,MAAM,KAAK,GAAU;QACnB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;QAChC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;QAC5B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;QAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAChC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO;QAC1C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;QACtC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;QAC1C,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;QACtC,KAAK,EAAE,CAAC,IAAI,CAAC;QACb,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;QACtC,SAAS,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,EAAE;KACzD,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAzBY,QAAA,mBAAmB,uBAyB/B;AAEM,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE;IAC3E,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAO,EAC5B,kDAAkD,OAAO,OAAO,MAAM,EAAE,CACzE,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AANY,QAAA,mBAAmB,uBAM/B"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,24 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.LiFi = void 0;
|
|
18
|
-
|
|
19
|
-
__exportStar(require("
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
__exportStar(require("./
|
|
24
|
-
|
|
3
|
+
exports.LiFiError = exports.Solana = exports.EVM = exports.LiFi = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
tslib_1.__exportStar(require("@lifi/types"), exports);
|
|
6
|
+
var LiFi_js_1 = require("./LiFi.js");
|
|
7
|
+
Object.defineProperty(exports, "LiFi", { enumerable: true, get: function () { return LiFi_js_1.LiFi; } });
|
|
8
|
+
tslib_1.__exportStar(require("./execution/index.js"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./helpers.js"), exports);
|
|
10
|
+
var EVM_js_1 = require("./providers/EVM.js");
|
|
11
|
+
Object.defineProperty(exports, "EVM", { enumerable: true, get: function () { return EVM_js_1.EVM; } });
|
|
12
|
+
var Solana_js_1 = require("./providers/Solana.js");
|
|
13
|
+
Object.defineProperty(exports, "Solana", { enumerable: true, get: function () { return Solana_js_1.Solana; } });
|
|
14
|
+
tslib_1.__exportStar(require("./types/index.js"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("./utils/errors.js"), exports);
|
|
16
|
+
var errors_js_1 = require("./utils/errors.js");
|
|
17
|
+
Object.defineProperty(exports, "LiFiError", { enumerable: true, get: function () { return errors_js_1.LiFiError; } });
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,sDAA2B;AAC3B,qCAAgC;AAAvB,+FAAA,IAAI,OAAA;AACb,+DAAoC;AACpC,uDAA4B;AAC5B,6CAAiE;AAAxD,6FAAA,GAAG,OAAA;AACZ,mDAA0E;AAAjE,mGAAA,MAAM,OAAA;AACf,2DAAgC;AAChC,4DAAiC;AACjC,+CAA6D;AAApD,sGAAA,SAAS,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isEVM = exports.EVM = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const EVMStepExecutor_js_1 = require("../execution/EVMStepExecutor.js");
|
|
6
|
+
const types_js_1 = require("./types.js");
|
|
7
|
+
function EVM(options) {
|
|
8
|
+
let getWalletClient = options?.getWalletClient;
|
|
9
|
+
return {
|
|
10
|
+
get type() {
|
|
11
|
+
return types_js_1.ProviderType.EVM;
|
|
12
|
+
},
|
|
13
|
+
isProviderStep(step) {
|
|
14
|
+
const isProviderStep = (0, viem_1.isAddress)(step.action.fromAddress);
|
|
15
|
+
return isProviderStep;
|
|
16
|
+
},
|
|
17
|
+
async getStepExecutor(options) {
|
|
18
|
+
if (!getWalletClient) {
|
|
19
|
+
throw new Error(`getWalletClient is not provided.`);
|
|
20
|
+
}
|
|
21
|
+
const walletClient = await getWalletClient();
|
|
22
|
+
const executor = new EVMStepExecutor_js_1.EVMStepExecutor({ walletClient, ...options });
|
|
23
|
+
return executor;
|
|
24
|
+
},
|
|
25
|
+
setOptions(options) {
|
|
26
|
+
getWalletClient = options.getWalletClient;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.EVM = EVM;
|
|
31
|
+
function isEVM(provider) {
|
|
32
|
+
return provider.type === types_js_1.ProviderType.EVM;
|
|
33
|
+
}
|
|
34
|
+
exports.isEVM = isEVM;
|
|
35
|
+
//# sourceMappingURL=EVM.js.map
|