@lifi/sdk 3.0.0-alpha.12 → 3.0.0-alpha.14
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/config.js +48 -0
- package/dist/cjs/config.js.map +1 -0
- package/dist/cjs/{execution → core}/BaseStepExecutor.js +4 -3
- package/dist/cjs/core/BaseStepExecutor.js.map +1 -0
- package/dist/cjs/core/EVM/EVM.js +43 -0
- package/dist/cjs/core/EVM/EVM.js.map +1 -0
- package/dist/cjs/{execution → core/EVM}/EVMStepExecutor.js +34 -30
- package/dist/cjs/core/EVM/EVMStepExecutor.js.map +1 -0
- package/dist/cjs/core/EVM/abi.js.map +1 -0
- package/dist/cjs/{execution → core/EVM}/checkAllowance.js +10 -9
- package/dist/cjs/core/EVM/checkAllowance.js.map +1 -0
- package/dist/cjs/{allowance → core/EVM}/getAllowance.js +10 -9
- package/dist/cjs/core/EVM/getAllowance.js.map +1 -0
- package/dist/cjs/{balance/getBalance.js → core/EVM/getEVMBalance.js} +19 -19
- package/dist/cjs/core/EVM/getEVMBalance.js.map +1 -0
- package/dist/cjs/{execution → core/EVM}/multisig.js +4 -6
- package/dist/cjs/core/EVM/multisig.js.map +1 -0
- package/dist/cjs/core/EVM/publicClient.js +35 -0
- package/dist/cjs/core/EVM/publicClient.js.map +1 -0
- package/dist/cjs/{allowance → core/EVM}/setAllowance.js +5 -5
- package/dist/cjs/core/EVM/setAllowance.js.map +1 -0
- package/dist/cjs/{execution → core/EVM}/switchChain.js +3 -3
- package/dist/cjs/core/EVM/switchChain.js.map +1 -0
- package/dist/cjs/core/EVM/types.js +9 -0
- package/dist/cjs/core/EVM/types.js.map +1 -0
- package/dist/cjs/{utils/getMaxPriorityFeePerGas.js → core/EVM/utils.js} +10 -3
- package/dist/cjs/core/EVM/utils.js.map +1 -0
- package/dist/cjs/core/Solana/Solana.js +35 -0
- package/dist/cjs/core/Solana/Solana.js.map +1 -0
- package/dist/cjs/core/Solana/connection.js +18 -0
- package/dist/cjs/core/Solana/connection.js.map +1 -0
- package/dist/cjs/core/Solana/getSolanaBalance.js +52 -0
- package/dist/cjs/core/Solana/getSolanaBalance.js.map +1 -0
- package/dist/cjs/core/Solana/types.js +9 -0
- package/dist/cjs/core/Solana/types.js.map +1 -0
- package/dist/cjs/{execution → core}/StatusManager.js +16 -27
- package/dist/cjs/core/StatusManager.js.map +1 -0
- package/dist/cjs/{execution → core}/checkBalance.js +3 -3
- package/dist/cjs/core/checkBalance.js.map +1 -0
- package/dist/cjs/core/execution.js +134 -0
- package/dist/cjs/core/execution.js.map +1 -0
- package/dist/cjs/core/executionState.js +23 -0
- package/dist/cjs/core/executionState.js.map +1 -0
- package/dist/cjs/{execution → core}/index.js +1 -0
- package/dist/cjs/core/index.js.map +1 -0
- package/dist/cjs/core/prepareRestart.js.map +1 -0
- package/dist/cjs/core/provider.js +15 -0
- package/dist/cjs/core/provider.js.map +1 -0
- package/dist/cjs/{execution → core}/stepComparison.js +3 -3
- package/dist/cjs/core/stepComparison.js.map +1 -0
- package/dist/cjs/{allowance → core}/types.js.map +1 -1
- package/dist/cjs/{execution → core}/utils.js +15 -1
- package/dist/cjs/core/utils.js.map +1 -0
- package/dist/cjs/{execution → core}/waitForReceivingTransaction.js +6 -6
- package/dist/cjs/core/waitForReceivingTransaction.js.map +1 -0
- package/dist/cjs/createConfig.js +48 -0
- package/dist/cjs/createConfig.js.map +1 -0
- package/dist/cjs/index.js +7 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/request.js +5 -2
- package/dist/cjs/request.js.map +1 -1
- package/dist/cjs/services/api.js +284 -0
- package/dist/cjs/services/api.js.map +1 -0
- package/dist/cjs/services/balance.js +49 -0
- package/dist/cjs/services/balance.js.map +1 -0
- package/dist/cjs/types/index.js +0 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/utils/getTransactionMessage.js +31 -0
- package/dist/cjs/utils/getTransactionMessage.js.map +1 -0
- package/dist/cjs/utils/index.js +1 -1
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/parseBackendError.js +27 -0
- package/dist/cjs/utils/parseBackendError.js.map +1 -0
- package/dist/cjs/utils/parseError.js +10 -60
- package/dist/cjs/utils/parseError.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/config.js +45 -0
- package/dist/esm/config.js.map +1 -0
- package/dist/esm/{execution → core}/BaseStepExecutor.js +4 -3
- package/dist/esm/core/BaseStepExecutor.js.map +1 -0
- package/dist/esm/core/EVM/EVM.js +39 -0
- package/dist/esm/core/EVM/EVM.js.map +1 -0
- package/dist/esm/{execution → core/EVM}/EVMStepExecutor.js +33 -29
- package/dist/esm/core/EVM/EVMStepExecutor.js.map +1 -0
- package/dist/esm/core/EVM/abi.js.map +1 -0
- package/dist/esm/{execution → core/EVM}/checkAllowance.js +6 -5
- package/dist/esm/core/EVM/checkAllowance.js.map +1 -0
- package/dist/esm/{allowance → core/EVM}/getAllowance.js +18 -4
- package/dist/esm/core/EVM/getAllowance.js.map +1 -0
- package/dist/esm/{balance/getBalance.js → core/EVM/getEVMBalance.js} +11 -11
- package/dist/esm/core/EVM/getEVMBalance.js.map +1 -0
- package/dist/esm/{execution → core/EVM}/multisig.js +4 -6
- package/dist/esm/core/EVM/multisig.js.map +1 -0
- package/dist/esm/core/EVM/publicClient.js +37 -0
- package/dist/esm/core/EVM/publicClient.js.map +1 -0
- package/dist/esm/{allowance → core/EVM}/setAllowance.js +21 -3
- package/dist/esm/core/EVM/setAllowance.js.map +1 -0
- package/dist/esm/{execution → core/EVM}/switchChain.js +3 -3
- package/dist/esm/core/EVM/switchChain.js.map +1 -0
- package/dist/esm/core/EVM/types.js +6 -0
- package/dist/esm/core/EVM/types.js.map +1 -0
- package/dist/esm/{utils/getMaxPriorityFeePerGas.js → core/EVM/utils.js} +9 -2
- package/dist/esm/core/EVM/utils.js.map +1 -0
- package/dist/esm/core/Solana/Solana.js +33 -0
- package/dist/esm/core/Solana/Solana.js.map +1 -0
- package/dist/esm/core/Solana/connection.js +19 -0
- package/dist/esm/core/Solana/connection.js.map +1 -0
- package/dist/esm/core/Solana/getSolanaBalance.js +48 -0
- package/dist/esm/core/Solana/getSolanaBalance.js.map +1 -0
- package/dist/esm/core/Solana/types.js +6 -0
- package/dist/esm/core/Solana/types.js.map +1 -0
- package/dist/esm/{execution → core}/StatusManager.js +18 -31
- package/dist/esm/core/StatusManager.js.map +1 -0
- package/dist/esm/{execution → core}/checkBalance.js +2 -2
- package/dist/esm/core/checkBalance.js.map +1 -0
- package/dist/esm/core/execution.js +173 -0
- package/dist/esm/core/execution.js.map +1 -0
- package/dist/esm/core/executionState.js +20 -0
- package/dist/esm/core/executionState.js.map +1 -0
- package/dist/esm/core/index.js +4 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/prepareRestart.js.map +1 -0
- package/dist/esm/core/provider.js +11 -0
- package/dist/esm/core/provider.js.map +1 -0
- package/dist/esm/{execution → core}/stepComparison.js +4 -3
- package/dist/esm/core/stepComparison.js.map +1 -0
- package/dist/{cjs/execution → esm/core}/types.js.map +1 -1
- package/dist/esm/{execution → core}/utils.js +13 -0
- package/dist/esm/core/utils.js.map +1 -0
- package/dist/esm/{execution → core}/waitForReceivingTransaction.js +6 -6
- package/dist/esm/core/waitForReceivingTransaction.js.map +1 -0
- package/dist/esm/createConfig.js +45 -0
- package/dist/esm/createConfig.js.map +1 -0
- package/dist/esm/index.js +4 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/request.js +5 -2
- package/dist/esm/request.js.map +1 -1
- package/dist/esm/services/api.js +353 -0
- package/dist/esm/services/api.js.map +1 -0
- package/dist/esm/services/balance.js +65 -0
- package/dist/esm/services/balance.js.map +1 -0
- package/dist/esm/types/index.js +0 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/utils/getTransactionMessage.js +28 -0
- package/dist/esm/utils/getTransactionMessage.js.map +1 -0
- package/dist/esm/utils/index.js +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/parseBackendError.js +24 -0
- package/dist/esm/utils/parseBackendError.js.map +1 -0
- package/dist/esm/utils/parseError.js +2 -52
- package/dist/esm/utils/parseError.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/config.d.ts +11 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/core/BaseStepExecutor.d.ts +13 -0
- package/dist/types/core/BaseStepExecutor.d.ts.map +1 -0
- package/dist/types/core/EVM/EVM.d.ts +3 -0
- package/dist/types/core/EVM/EVM.d.ts.map +1 -0
- package/dist/types/{execution → core/EVM}/EVMStepExecutor.d.ts +6 -3
- package/dist/types/core/EVM/EVMStepExecutor.d.ts.map +1 -0
- package/dist/types/core/EVM/abi.d.ts.map +1 -0
- package/dist/types/core/EVM/checkAllowance.d.ts +6 -0
- package/dist/types/core/EVM/checkAllowance.d.ts.map +1 -0
- package/dist/types/{allowance → core/EVM}/getAllowance.d.ts +13 -0
- package/dist/types/core/EVM/getAllowance.d.ts.map +1 -0
- package/dist/types/core/EVM/getEVMBalance.d.ts +3 -0
- package/dist/types/core/EVM/getEVMBalance.d.ts.map +1 -0
- package/dist/types/core/EVM/multisig.d.ts +6 -0
- package/dist/types/core/EVM/multisig.d.ts.map +1 -0
- package/dist/types/core/EVM/publicClient.d.ts +8 -0
- package/dist/types/core/EVM/publicClient.d.ts.map +1 -0
- package/dist/types/core/EVM/setAllowance.d.ts +25 -0
- package/dist/types/core/EVM/setAllowance.d.ts.map +1 -0
- package/dist/types/{execution → core/EVM}/switchChain.d.ts +3 -3
- package/dist/types/core/EVM/switchChain.d.ts.map +1 -0
- package/dist/types/core/EVM/types.d.ts +56 -0
- package/dist/types/core/EVM/types.d.ts.map +1 -0
- package/dist/types/core/EVM/utils.d.ts +5 -0
- package/dist/types/core/EVM/utils.d.ts.map +1 -0
- package/dist/types/core/Solana/Solana.d.ts +3 -0
- package/dist/types/core/Solana/Solana.d.ts.map +1 -0
- package/dist/types/core/Solana/connection.d.ts +8 -0
- package/dist/types/core/Solana/connection.d.ts.map +1 -0
- package/dist/types/core/Solana/getSolanaBalance.d.ts +3 -0
- package/dist/types/core/Solana/getSolanaBalance.d.ts.map +1 -0
- package/dist/types/core/Solana/types.d.ts +11 -0
- package/dist/types/core/Solana/types.d.ts.map +1 -0
- package/dist/types/{execution → core}/StatusManager.d.ts +5 -11
- package/dist/types/core/StatusManager.d.ts.map +1 -0
- package/dist/types/core/checkBalance.d.ts.map +1 -0
- package/dist/types/core/execution.d.ts +42 -0
- package/dist/types/core/execution.d.ts.map +1 -0
- package/dist/types/core/executionState.d.ts +16 -0
- package/dist/types/core/executionState.d.ts.map +1 -0
- package/dist/types/core/index.d.ts +4 -0
- package/dist/types/core/index.d.ts.map +1 -0
- package/dist/types/core/prepareRestart.d.ts.map +1 -0
- package/dist/types/core/provider.d.ts +3 -0
- package/dist/types/core/provider.d.ts.map +1 -0
- package/dist/types/{execution → core}/stepComparison.d.ts +3 -2
- package/dist/types/core/stepComparison.d.ts.map +1 -0
- package/dist/types/core/types.d.ts +71 -0
- package/dist/types/core/types.d.ts.map +1 -0
- package/dist/types/{execution → core}/utils.d.ts +3 -1
- package/dist/types/core/utils.d.ts.map +1 -0
- package/dist/types/core/waitForReceivingTransaction.d.ts.map +1 -0
- package/dist/types/createConfig.d.ts +7 -0
- package/dist/types/createConfig.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/request.d.ts.map +1 -1
- package/dist/types/services/api.d.ts +87 -0
- package/dist/types/services/api.d.ts.map +1 -0
- package/dist/types/services/balance.d.ts +30 -0
- package/dist/types/services/balance.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +0 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/internal.d.ts +6 -11
- package/dist/types/types/internal.d.ts.map +1 -1
- package/dist/types/utils/getTransactionMessage.d.ts +4 -0
- package/dist/types/utils/getTransactionMessage.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +1 -1
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/parseBackendError.d.ts +3 -0
- package/dist/types/utils/parseBackendError.d.ts.map +1 -0
- package/dist/types/utils/parseError.d.ts +0 -3
- package/dist/types/utils/parseError.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +4 -4
- package/dist/cjs/LiFi.js +0 -237
- package/dist/cjs/LiFi.js.map +0 -1
- package/dist/cjs/allowance/getAllowance.js.map +0 -1
- package/dist/cjs/allowance/index.js +0 -7
- package/dist/cjs/allowance/index.js.map +0 -1
- package/dist/cjs/allowance/setAllowance.js.map +0 -1
- package/dist/cjs/balance/getBalance.js.map +0 -1
- package/dist/cjs/balance/getTokenBalance.js +0 -33
- package/dist/cjs/balance/getTokenBalance.js.map +0 -1
- package/dist/cjs/balance/index.js +0 -6
- package/dist/cjs/balance/index.js.map +0 -1
- package/dist/cjs/connectors.js +0 -47
- package/dist/cjs/connectors.js.map +0 -1
- package/dist/cjs/execution/BaseStepExecutor.js.map +0 -1
- package/dist/cjs/execution/EVMStepExecutor.js.map +0 -1
- package/dist/cjs/execution/RouteExecutionManager.js +0 -219
- package/dist/cjs/execution/RouteExecutionManager.js.map +0 -1
- package/dist/cjs/execution/StatusManager.js.map +0 -1
- package/dist/cjs/execution/StepExecutionManager.js +0 -261
- package/dist/cjs/execution/StepExecutionManager.js.map +0 -1
- package/dist/cjs/execution/checkAllowance.js.map +0 -1
- package/dist/cjs/execution/checkBalance.js.map +0 -1
- package/dist/cjs/execution/index.js.map +0 -1
- package/dist/cjs/execution/multisig.js.map +0 -1
- package/dist/cjs/execution/prepareRestart.js.map +0 -1
- package/dist/cjs/execution/stepComparison.js.map +0 -1
- package/dist/cjs/execution/switchChain.js.map +0 -1
- package/dist/cjs/execution/types.js +0 -3
- package/dist/cjs/execution/utils.js.map +0 -1
- package/dist/cjs/execution/waitForReceivingTransaction.js.map +0 -1
- package/dist/cjs/providers/EVM.js +0 -35
- package/dist/cjs/providers/EVM.js.map +0 -1
- package/dist/cjs/providers/Solana.js +0 -38
- package/dist/cjs/providers/Solana.js.map +0 -1
- package/dist/cjs/providers/index.js +0 -5
- package/dist/cjs/providers/index.js.map +0 -1
- package/dist/cjs/providers/types.js +0 -9
- package/dist/cjs/providers/types.js.map +0 -1
- package/dist/cjs/services/ApiService.js +0 -308
- package/dist/cjs/services/ApiService.js.map +0 -1
- package/dist/cjs/services/ChainsService.js +0 -49
- package/dist/cjs/services/ChainsService.js.map +0 -1
- package/dist/cjs/services/ConfigService.js +0 -130
- package/dist/cjs/services/ConfigService.js.map +0 -1
- package/dist/cjs/types/abi.js.map +0 -1
- package/dist/cjs/utils/getMaxPriorityFeePerGas.js.map +0 -1
- package/dist/esm/LiFi.js +0 -375
- package/dist/esm/LiFi.js.map +0 -1
- package/dist/esm/allowance/getAllowance.js.map +0 -1
- package/dist/esm/allowance/index.js +0 -4
- package/dist/esm/allowance/index.js.map +0 -1
- package/dist/esm/allowance/setAllowance.js.map +0 -1
- package/dist/esm/allowance/types.js.map +0 -1
- package/dist/esm/balance/getBalance.js.map +0 -1
- package/dist/esm/balance/getTokenBalance.js +0 -28
- package/dist/esm/balance/getTokenBalance.js.map +0 -1
- package/dist/esm/balance/index.js +0 -3
- package/dist/esm/balance/index.js.map +0 -1
- package/dist/esm/connectors.js +0 -42
- package/dist/esm/connectors.js.map +0 -1
- package/dist/esm/execution/BaseStepExecutor.js.map +0 -1
- package/dist/esm/execution/EVMStepExecutor.js.map +0 -1
- package/dist/esm/execution/RouteExecutionManager.js +0 -268
- package/dist/esm/execution/RouteExecutionManager.js.map +0 -1
- package/dist/esm/execution/StatusManager.js.map +0 -1
- package/dist/esm/execution/StepExecutionManager.js +0 -280
- package/dist/esm/execution/StepExecutionManager.js.map +0 -1
- package/dist/esm/execution/checkAllowance.js.map +0 -1
- package/dist/esm/execution/checkBalance.js.map +0 -1
- package/dist/esm/execution/index.js +0 -3
- package/dist/esm/execution/index.js.map +0 -1
- package/dist/esm/execution/multisig.js.map +0 -1
- package/dist/esm/execution/prepareRestart.js.map +0 -1
- package/dist/esm/execution/stepComparison.js.map +0 -1
- package/dist/esm/execution/switchChain.js.map +0 -1
- package/dist/esm/execution/types.js +0 -2
- package/dist/esm/execution/types.js.map +0 -1
- package/dist/esm/execution/utils.js.map +0 -1
- package/dist/esm/execution/waitForReceivingTransaction.js.map +0 -1
- package/dist/esm/providers/EVM.js +0 -30
- package/dist/esm/providers/EVM.js.map +0 -1
- package/dist/esm/providers/Solana.js +0 -34
- package/dist/esm/providers/Solana.js.map +0 -1
- package/dist/esm/providers/index.js +0 -2
- package/dist/esm/providers/index.js.map +0 -1
- package/dist/esm/providers/types.js +0 -6
- package/dist/esm/providers/types.js.map +0 -1
- package/dist/esm/services/ApiService.js +0 -322
- package/dist/esm/services/ApiService.js.map +0 -1
- package/dist/esm/services/ChainsService.js +0 -45
- package/dist/esm/services/ChainsService.js.map +0 -1
- package/dist/esm/services/ConfigService.js +0 -143
- package/dist/esm/services/ConfigService.js.map +0 -1
- package/dist/esm/types/abi.js.map +0 -1
- package/dist/esm/utils/getMaxPriorityFeePerGas.js.map +0 -1
- package/dist/types/LiFi.d.ts +0 -179
- package/dist/types/LiFi.d.ts.map +0 -1
- package/dist/types/allowance/getAllowance.d.ts.map +0 -1
- package/dist/types/allowance/index.d.ts +0 -4
- package/dist/types/allowance/index.d.ts.map +0 -1
- package/dist/types/allowance/setAllowance.d.ts +0 -7
- package/dist/types/allowance/setAllowance.d.ts.map +0 -1
- package/dist/types/allowance/types.d.ts +0 -28
- package/dist/types/allowance/types.d.ts.map +0 -1
- package/dist/types/balance/getBalance.d.ts +0 -3
- package/dist/types/balance/getBalance.d.ts.map +0 -1
- package/dist/types/balance/getTokenBalance.d.ts +0 -9
- package/dist/types/balance/getTokenBalance.d.ts.map +0 -1
- package/dist/types/balance/index.d.ts +0 -3
- package/dist/types/balance/index.d.ts.map +0 -1
- package/dist/types/connectors.d.ts +0 -9
- package/dist/types/connectors.d.ts.map +0 -1
- package/dist/types/execution/BaseStepExecutor.d.ts +0 -13
- package/dist/types/execution/BaseStepExecutor.d.ts.map +0 -1
- package/dist/types/execution/EVMStepExecutor.d.ts.map +0 -1
- package/dist/types/execution/RouteExecutionManager.d.ts +0 -61
- package/dist/types/execution/RouteExecutionManager.d.ts.map +0 -1
- package/dist/types/execution/StatusManager.d.ts.map +0 -1
- package/dist/types/execution/StepExecutionManager.d.ts +0 -8
- package/dist/types/execution/StepExecutionManager.d.ts.map +0 -1
- package/dist/types/execution/checkAllowance.d.ts +0 -6
- package/dist/types/execution/checkAllowance.d.ts.map +0 -1
- package/dist/types/execution/checkBalance.d.ts.map +0 -1
- package/dist/types/execution/index.d.ts +0 -3
- package/dist/types/execution/index.d.ts.map +0 -1
- package/dist/types/execution/multisig.d.ts +0 -5
- package/dist/types/execution/multisig.d.ts.map +0 -1
- package/dist/types/execution/prepareRestart.d.ts.map +0 -1
- package/dist/types/execution/stepComparison.d.ts.map +0 -1
- package/dist/types/execution/switchChain.d.ts.map +0 -1
- package/dist/types/execution/types.d.ts +0 -83
- package/dist/types/execution/types.d.ts.map +0 -1
- package/dist/types/execution/utils.d.ts.map +0 -1
- package/dist/types/execution/waitForReceivingTransaction.d.ts.map +0 -1
- package/dist/types/providers/EVM.d.ts +0 -11
- package/dist/types/providers/EVM.d.ts.map +0 -1
- package/dist/types/providers/Solana.d.ts +0 -10
- package/dist/types/providers/Solana.d.ts.map +0 -1
- package/dist/types/providers/index.d.ts +0 -2
- package/dist/types/providers/index.d.ts.map +0 -1
- package/dist/types/providers/types.d.ts +0 -13
- package/dist/types/providers/types.d.ts.map +0 -1
- package/dist/types/services/ApiService.d.ts +0 -17
- package/dist/types/services/ApiService.d.ts.map +0 -1
- package/dist/types/services/ChainsService.d.ts +0 -12
- package/dist/types/services/ChainsService.d.ts.map +0 -1
- package/dist/types/services/ConfigService.d.ts +0 -27
- package/dist/types/services/ConfigService.d.ts.map +0 -1
- package/dist/types/types/abi.d.ts.map +0 -1
- package/dist/types/utils/getMaxPriorityFeePerGas.d.ts +0 -3
- package/dist/types/utils/getMaxPriorityFeePerGas.d.ts.map +0 -1
- /package/dist/cjs/{types → core/EVM}/abi.js +0 -0
- /package/dist/cjs/{execution → core}/prepareRestart.js +0 -0
- /package/dist/cjs/{allowance → core}/types.js +0 -0
- /package/dist/esm/{types → core/EVM}/abi.js +0 -0
- /package/dist/esm/{execution → core}/prepareRestart.js +0 -0
- /package/dist/esm/{allowance → core}/types.js +0 -0
- /package/dist/types/{types → core/EVM}/abi.d.ts +0 -0
- /package/dist/types/{execution → core}/checkBalance.d.ts +0 -0
- /package/dist/types/{execution → core}/prepareRestart.d.ts +0 -0
- /package/dist/types/{execution → core}/waitForReceivingTransaction.d.ts +0 -0
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const config = ConfigService.getInstance().getConfig();
|
|
5
|
-
if (!config.multisig?.getMultisigTransactionDetails) {
|
|
1
|
+
import { LiFiErrorCode, TransactionError } from 'utils/errors.js';
|
|
2
|
+
export const updateMultisigRouteProcess = async (internalTxHash, step, processType, fromChain, statusManager, multisig) => {
|
|
3
|
+
if (!multisig?.getMultisigTransactionDetails) {
|
|
6
4
|
throw new Error('getMultisigTransactionDetails is missing in multisig config.');
|
|
7
5
|
}
|
|
8
6
|
const updateIntermediateMultisigStatus = () => {
|
|
9
7
|
statusManager.updateProcess(step, processType, 'PENDING');
|
|
10
8
|
};
|
|
11
|
-
const multisigStatusResponse = await
|
|
9
|
+
const multisigStatusResponse = await multisig?.getMultisigTransactionDetails(internalTxHash, fromChain.id, updateIntermediateMultisigStatus);
|
|
12
10
|
if (multisigStatusResponse.status === 'DONE') {
|
|
13
11
|
statusManager.updateProcess(step, processType, 'PENDING', {
|
|
14
12
|
txHash: multisigStatusResponse.txHash,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multisig.js","sourceRoot":"","sources":["../../../../src/core/EVM/multisig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAKjE,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,EAC7C,cAAoB,EACpB,IAAc,EACd,WAAwB,EACxB,SAAwB,EACxB,aAA4B,EAC5B,QAAyB,EACzB,EAAE;IACF,IAAI,CAAC,QAAQ,EAAE,6BAA6B,EAAE;QAC5C,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,QAAQ,EAAE,6BAA6B,CAC3C,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,gBAAgB,CACxB,aAAa,CAAC,iBAAiB,EAC/B,8BAA8B,CAC/B,CAAA;KACF;IAED,IAAI,sBAAsB,CAAC,MAAM,KAAK,WAAW,EAAE;QACjD,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,iBAAiB,EAC/B,mCAAmC,CACpC,CAAA;KACF;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { config } from 'config.js';
|
|
2
|
+
import { createPublicClient, fallback, http } from 'viem';
|
|
3
|
+
import { getRpcUrls } from '../utils.js';
|
|
4
|
+
// cached providers
|
|
5
|
+
const publicClients = {};
|
|
6
|
+
/**
|
|
7
|
+
* Get an instance of a provider for a specific chain
|
|
8
|
+
* @param chainId - Id of the chain the provider is for
|
|
9
|
+
* @returns The public client for the given chain
|
|
10
|
+
*/
|
|
11
|
+
export const getPublicClient = async (chainId) => {
|
|
12
|
+
if (!publicClients[chainId]) {
|
|
13
|
+
const urls = await getRpcUrls(chainId);
|
|
14
|
+
const fallbackTransports = urls.map((url) => http(url, {
|
|
15
|
+
batch: true,
|
|
16
|
+
}));
|
|
17
|
+
const _chain = await config.getChainById(chainId);
|
|
18
|
+
const chain = {
|
|
19
|
+
..._chain,
|
|
20
|
+
..._chain.metamask,
|
|
21
|
+
network: _chain.metamask.chainName,
|
|
22
|
+
rpcUrls: {
|
|
23
|
+
default: { http: _chain.metamask.rpcUrls },
|
|
24
|
+
public: { http: _chain.metamask.rpcUrls },
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
publicClients[chainId] = createPublicClient({
|
|
28
|
+
chain: chain,
|
|
29
|
+
transport: fallback(fallbackTransports),
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
if (!publicClients[chainId]) {
|
|
33
|
+
throw new Error(`Unable to configure provider for chain ${chainId}`);
|
|
34
|
+
}
|
|
35
|
+
return publicClients[chainId];
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=publicClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publicClient.js","sourceRoot":"","sources":["../../../../src/core/EVM/publicClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,mBAAmB;AACnB,MAAM,aAAa,GAAiC,EAAE,CAAA;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,OAAe,EACQ,EAAE;IACzB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1C,IAAI,CAAC,GAAG,EAAE;YACR,KAAK,EAAE,IAAI;SACZ,CAAC,CACH,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACjD,MAAM,KAAK,GAAU;YACnB,GAAG,MAAM;YACT,GAAG,MAAM,CAAC,QAAQ;YAClB,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;YAClC,OAAO,EAAE;gBACP,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;aAC1C;SACF,CAAA;QACD,aAAa,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC;YAC1C,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,QAAQ,CAAC,kBAAkB,CAAC;SACxC,CAAC,CAAA;KACH;IAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAA;KACrE;IAED,OAAO,aAAa,CAAC,OAAO,CAAC,CAAA;AAC/B,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { isNativeTokenAddress } from 'utils/utils.js';
|
|
1
2
|
import { encodeFunctionData, maxUint256, publicActions } from 'viem';
|
|
2
|
-
import { approveAbi } from '
|
|
3
|
-
import { getMaxPriorityFeePerGas } from '../utils/index.js';
|
|
4
|
-
import { isNativeTokenAddress } from '../utils/utils.js';
|
|
3
|
+
import { approveAbi } from './abi.js';
|
|
5
4
|
import { getAllowance } from './getAllowance.js';
|
|
5
|
+
import { getMaxPriorityFeePerGas } from './utils.js';
|
|
6
6
|
export const setAllowance = async (walletClient, tokenAddress, contractAddress, amount, settings, returnPopulatedTransaction) => {
|
|
7
7
|
const data = encodeFunctionData({
|
|
8
8
|
abi: approveAbi,
|
|
@@ -41,6 +41,16 @@ export const setAllowance = async (walletClient, tokenAddress, contractAddress,
|
|
|
41
41
|
chain: null,
|
|
42
42
|
});
|
|
43
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Set approval for a certain token and amount.
|
|
46
|
+
* @param request - The approval request
|
|
47
|
+
* @param request.walletClient
|
|
48
|
+
* @param request.token
|
|
49
|
+
* @param request.spenderAddress
|
|
50
|
+
* @param request.amount
|
|
51
|
+
* @param request.infiniteApproval
|
|
52
|
+
* @returns Returns Hash or nothing
|
|
53
|
+
*/
|
|
44
54
|
export const setTokenAllowance = async ({ walletClient, token, spenderAddress, amount, infiniteApproval = false, }) => {
|
|
45
55
|
// native token don't need approval
|
|
46
56
|
if (isNativeTokenAddress(token.address)) {
|
|
@@ -53,6 +63,14 @@ export const setTokenAllowance = async ({ walletClient, token, spenderAddress, a
|
|
|
53
63
|
return approveTx;
|
|
54
64
|
}
|
|
55
65
|
};
|
|
66
|
+
/**
|
|
67
|
+
* Revoke approval for a certain token.
|
|
68
|
+
* @param request - The revoke request
|
|
69
|
+
* @param request.walletClient
|
|
70
|
+
* @param request.token
|
|
71
|
+
* @param request.spenderAddress
|
|
72
|
+
* @returns Returns Hash or nothing
|
|
73
|
+
*/
|
|
56
74
|
export const revokeTokenApproval = async ({ walletClient, token, spenderAddress, }) => {
|
|
57
75
|
// native token don't need approval
|
|
58
76
|
if (isNativeTokenAddress(token.address)) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setAllowance.js","sourceRoot":"","sources":["../../../../src/core/EVM/setAllowance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LiFiErrorCode, ProviderError } from '
|
|
1
|
+
import { LiFiErrorCode, ProviderError } from 'utils/errors.js';
|
|
2
2
|
/**
|
|
3
3
|
* This method checks whether the wallet client is configured for the correct chain.
|
|
4
4
|
* If yes it returns the wallet clien.
|
|
@@ -16,7 +16,7 @@ import { LiFiErrorCode, ProviderError } from '../utils/errors.js';
|
|
|
16
16
|
* @param allowUserInteraction
|
|
17
17
|
* @returns New WalletClient
|
|
18
18
|
*/
|
|
19
|
-
export const switchChain = async (walletClient, statusManager, step,
|
|
19
|
+
export const switchChain = async (walletClient, statusManager, step, allowUserInteraction, switchChainHook) => {
|
|
20
20
|
// if we are already on the correct chain we can proceed directly
|
|
21
21
|
if ((await walletClient.getChainId()) === step.action.fromChainId) {
|
|
22
22
|
return walletClient;
|
|
@@ -29,7 +29,7 @@ export const switchChain = async (walletClient, statusManager, step, switchChain
|
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
31
|
try {
|
|
32
|
-
const updatedWalletClient = await switchChainHook(step.action.fromChainId);
|
|
32
|
+
const updatedWalletClient = await switchChainHook?.(step.action.fromChainId);
|
|
33
33
|
const updatedChainId = await updatedWalletClient?.getChainId();
|
|
34
34
|
if (updatedChainId !== step.action.fromChainId) {
|
|
35
35
|
throw new ProviderError(LiFiErrorCode.ChainSwitchError, 'Chain switch required.');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switchChain.js","sourceRoot":"","sources":["../../../../src/core/EVM/switchChain.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAK9D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAC9B,YAA0B,EAC1B,aAA4B,EAC5B,IAAc,EACd,oBAA6B,EAC7B,eAAiC,EACE,EAAE;IACrC,iEAAiE;IACjE,IAAI,CAAC,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QACjE,OAAO,YAAY,CAAA;KACpB;IAED,wBAAwB;IACxB,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,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC5E,MAAM,cAAc,GAAG,MAAM,mBAAmB,EAAE,UAAU,EAAE,CAAA;QAC9D,IAAI,cAAc,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC9C,MAAM,IAAI,aAAa,CACrB,aAAa,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,aAAa,CAAC,gBAAgB;aACrC;SACF,CAAC,CAAA;QACF,aAAa,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAC7C,MAAM,KAAK,CAAA;KACZ;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/EVM/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA4B,MAAM,aAAa,CAAA;AACjE,OAAO,EAAoB,MAAM,eAAe,CAAA;AAgBhD,MAAM,UAAU,KAAK,CAAC,QAAqB;IACzC,OAAO,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,CAAA;AACxC,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChainType } from '@lifi/types';
|
|
2
|
+
import { getProvider } from 'core/provider.js';
|
|
3
|
+
import { median } from 'utils/median.js';
|
|
2
4
|
export const getMaxPriorityFeePerGas = async (client) => {
|
|
3
5
|
const block = await client.getBlock({
|
|
4
6
|
includeTransactions: true,
|
|
@@ -16,4 +18,9 @@ export const getMaxPriorityFeePerGas = async (client) => {
|
|
|
16
18
|
? maxPriorityFeePerGasAvg
|
|
17
19
|
: maxPriorityFeePerGasMedian;
|
|
18
20
|
};
|
|
19
|
-
|
|
21
|
+
// Multicall
|
|
22
|
+
export const getMulticallAddress = async (chainId) => {
|
|
23
|
+
const provider = getProvider(ChainType.EVM);
|
|
24
|
+
return provider.multicall?.[chainId];
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/EVM/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAIxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAC1C,MAAoB,EACS,EAAE;IAC/B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;QAClC,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAA;IAEF,MAAM,wBAAwB,GAAI,KAAK,CAAC,YAA8B;SACnE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,oBAAoB,CAAC;SACvC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,oBAAoB,CAAa,CAAA;IAEnD,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE;QACpC,OAAM;KACP;IAED,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,MAAM,CAC7D,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAC9B,EAAE,CACH,CAAA;IAED,MAAM,0BAA0B,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,CAAA;IAEzE,MAAM,uBAAuB,GAC3B,uBAAuB,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAEnE,OAAO,0BAA0B,GAAG,uBAAuB;QACzD,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,0BAA0B,CAAA;AAChC,CAAC,CAAA;AAED,YAAY;AACZ,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,OAAgB,EACa,EAAE;IAC/B,MAAM,QAAQ,GAAG,WAAW,CAAc,SAAS,CAAC,GAAG,CAAC,CAAA;IACxD,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAA;AACtC,CAAC,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ChainType } from '@lifi/types';
|
|
2
|
+
import { PublicKey } from '@solana/web3.js';
|
|
3
|
+
import { getSolanaBalance } from './getSolanaBalance.js';
|
|
4
|
+
export function Solana(options) {
|
|
5
|
+
const _options = options ?? {};
|
|
6
|
+
return {
|
|
7
|
+
get type() {
|
|
8
|
+
return ChainType.SVM;
|
|
9
|
+
},
|
|
10
|
+
isAddress(address) {
|
|
11
|
+
try {
|
|
12
|
+
new PublicKey(address);
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
getBalance: getSolanaBalance,
|
|
20
|
+
// options: StepExecutorOptions
|
|
21
|
+
async getStepExecutor() {
|
|
22
|
+
if (!_options.getWalletClient) {
|
|
23
|
+
throw new Error(`getWalletClient is not provided.`);
|
|
24
|
+
}
|
|
25
|
+
// const walletClient = await getWalletClient()
|
|
26
|
+
return null;
|
|
27
|
+
},
|
|
28
|
+
setOptions(options) {
|
|
29
|
+
Object.assign(_options, options);
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=Solana.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Solana.js","sourceRoot":"","sources":["../../../../src/core/Solana/Solana.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,MAAM,UAAU,MAAM,CAAC,OAA+B;IACpD,MAAM,QAAQ,GAA0B,OAAO,IAAI,EAAE,CAAA;IACrD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,SAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,SAAS,CAAC,OAAe;YACvB,IAAI;gBACF,IAAI,SAAS,CAAC,OAAO,CAAC,CAAA;gBACtB,OAAO,IAAI,CAAA;aACZ;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,KAAK,CAAA;aACb;QACH,CAAC;QACD,UAAU,EAAE,gBAAgB;QAC5B,+BAA+B;QAC/B,KAAK,CAAC,eAAe;YACnB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;gBAC7B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;aACpD;YAED,+CAA+C;YAE/C,OAAO,IAAK,CAAA;QACd,CAAC;QACD,UAAU,CAAC,OAA8B;YACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChainId } from '@lifi/types';
|
|
2
|
+
import { Connection } from '@solana/web3.js';
|
|
3
|
+
import { getRpcUrl } from 'core/utils.js';
|
|
4
|
+
const solanaChainProvider = undefined;
|
|
5
|
+
/**
|
|
6
|
+
* getSolanaConnection is just a thin wrapper around getting the
|
|
7
|
+
* connection (rpc provider) for Solana
|
|
8
|
+
* @returns - Solana rpc connection
|
|
9
|
+
*/
|
|
10
|
+
export const getSolanaConnection = async () => {
|
|
11
|
+
if (!solanaChainProvider) {
|
|
12
|
+
const rpcUrl = await getRpcUrl(ChainId.SOL);
|
|
13
|
+
return new Connection(rpcUrl);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return solanaChainProvider;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../src/core/Solana/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzC,MAAM,mBAAmB,GAA2B,SAAS,CAAA;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,IAAyB,EAAE;IACjE,IAAI,CAAC,mBAAmB,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC3C,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;KAC9B;SAAM;QACL,OAAO,mBAAmB,CAAA;KAC3B;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { PublicKey } from '@solana/web3.js';
|
|
2
|
+
import { getSolanaConnection } from './connection.js';
|
|
3
|
+
export const getSolanaBalance = async (walletAddress, tokens) => {
|
|
4
|
+
if (tokens.length === 0) {
|
|
5
|
+
return [];
|
|
6
|
+
}
|
|
7
|
+
const { chainId } = tokens[0];
|
|
8
|
+
tokens.forEach((token) => {
|
|
9
|
+
if (token.chainId !== chainId) {
|
|
10
|
+
console.warn(`Requested tokens have to be on the same chain.`);
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
return getSolanaBalanceDefault(chainId, tokens, walletAddress);
|
|
14
|
+
};
|
|
15
|
+
const getSolanaBalanceDefault = async (_chainId, tokens, walletAddress) => {
|
|
16
|
+
const connection = await getSolanaConnection();
|
|
17
|
+
const blockNumber = await connection.getSlot();
|
|
18
|
+
const queue = tokens.map(async (token) => {
|
|
19
|
+
try {
|
|
20
|
+
const accountPublicKey = new PublicKey(walletAddress);
|
|
21
|
+
const tokenPublicKey = new PublicKey(token.address);
|
|
22
|
+
const response = await connection.getParsedTokenAccountsByOwner(accountPublicKey, {
|
|
23
|
+
mint: tokenPublicKey,
|
|
24
|
+
});
|
|
25
|
+
return BigInt(response.value[0].account.data.parsed?.info?.tokenAmount?.amount || 0);
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
const results = await Promise.allSettled(queue);
|
|
32
|
+
const tokenAmounts = tokens.map((token, index) => {
|
|
33
|
+
const result = results[index];
|
|
34
|
+
if (result.status === 'rejected') {
|
|
35
|
+
return {
|
|
36
|
+
...token,
|
|
37
|
+
blockNumber: BigInt(blockNumber),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
...token,
|
|
42
|
+
amount: result.value,
|
|
43
|
+
blockNumber: BigInt(blockNumber),
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
return tokenAmounts;
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=getSolanaBalance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSolanaBalance.js","sourceRoot":"","sources":["../../../../src/core/Solana/getSolanaBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAErD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,aAAqB,EACrB,MAAe,EACS,EAAE;IAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,EAAE,CAAA;KACV;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;YAC7B,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAA;SAC/D;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAA;AAChE,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,KAAK,EACnC,QAAiB,EACjB,MAAe,EACf,aAAqB,EACG,EAAE;IAC1B,MAAM,UAAU,GAAG,MAAM,mBAAmB,EAAE,CAAA;IAC9C,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAA;IAC9C,MAAM,KAAK,GAAsB,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1D,IAAI;YACF,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,CAAA;YACrD,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACnD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,6BAA6B,CAC7D,gBAAgB,EAChB;gBACE,IAAI,EAAE,cAAc;aACrB,CACF,CAAA;YACD,OAAO,MAAM,CACX,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC,CACtE,CAAA;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAA;SACZ;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAE/C,MAAM,YAAY,GAAkB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE;YAChC,OAAO;gBACL,GAAG,KAAK;gBACR,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;aACjC,CAAA;SACF;QACD,OAAO;YACL,GAAG,KAAK;YACR,MAAM,EAAE,MAAM,CAAC,KAAK;YACpB,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;SACjC,CAAA;IACH,CAAC,CAAC,CAAA;IACF,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/Solana/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,aAAa,CAAA;AACrD,OAAO,EAAoB,MAAM,eAAe,CAAA;AAWhD,MAAM,UAAU,QAAQ,CAAC,QAAqB;IAC5C,OAAO,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,CAAA;AACxC,CAAC"}
|
|
@@ -1,27 +1,14 @@
|
|
|
1
1
|
import { emptyExecution } from '@lifi/types';
|
|
2
|
+
import { executionState } from './executionState.js';
|
|
2
3
|
import { getProcessMessage } from './utils.js';
|
|
3
4
|
/**
|
|
4
5
|
* Manages status updates of a route and provides various functions for tracking processes
|
|
5
|
-
* @param {
|
|
6
|
-
* @param {InternalExecutionSettings} settings The ExecutionSettings for this route.
|
|
7
|
-
* @param {InternalUpdateRouteCallback} internalUpdateRouteCallback Internal callback to propage route changes.
|
|
6
|
+
* @param {string} routeId The route dd this StatusManger belongs to.
|
|
8
7
|
* @returns {StatusManager} An instance of StatusManager.
|
|
9
8
|
*/
|
|
10
9
|
export class StatusManager {
|
|
11
|
-
constructor(
|
|
12
|
-
Object.defineProperty(this, "
|
|
13
|
-
enumerable: true,
|
|
14
|
-
configurable: true,
|
|
15
|
-
writable: true,
|
|
16
|
-
value: void 0
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(this, "settings", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
configurable: true,
|
|
21
|
-
writable: true,
|
|
22
|
-
value: void 0
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(this, "internalUpdateRouteCallback", {
|
|
10
|
+
constructor(routeId) {
|
|
11
|
+
Object.defineProperty(this, "routeId", {
|
|
25
12
|
enumerable: true,
|
|
26
13
|
configurable: true,
|
|
27
14
|
writable: true,
|
|
@@ -43,18 +30,17 @@ export class StatusManager {
|
|
|
43
30
|
configurable: true,
|
|
44
31
|
writable: true,
|
|
45
32
|
value: (step) => {
|
|
46
|
-
const currentExecution = step.execution || structuredClone(emptyExecution);
|
|
47
33
|
if (!step.execution) {
|
|
48
|
-
step.execution =
|
|
34
|
+
step.execution = structuredClone(emptyExecution);
|
|
49
35
|
step.execution.status = 'PENDING';
|
|
50
36
|
this.updateStepInRoute(step);
|
|
51
37
|
}
|
|
52
38
|
// Change status to PENDING after resuming from FAILED
|
|
53
|
-
if (
|
|
54
|
-
|
|
39
|
+
if (step.execution.status === 'FAILED') {
|
|
40
|
+
step.execution.status = 'PENDING';
|
|
55
41
|
this.updateStepInRoute(step);
|
|
56
42
|
}
|
|
57
|
-
return
|
|
43
|
+
return step.execution;
|
|
58
44
|
}
|
|
59
45
|
});
|
|
60
46
|
/**
|
|
@@ -174,26 +160,27 @@ export class StatusManager {
|
|
|
174
160
|
if (!this.shouldUpdate) {
|
|
175
161
|
return step;
|
|
176
162
|
}
|
|
177
|
-
const
|
|
163
|
+
const data = executionState.get(this.routeId);
|
|
164
|
+
if (!data) {
|
|
165
|
+
throw new Error('Execution data not found.');
|
|
166
|
+
}
|
|
167
|
+
const stepIndex = data.route.steps.findIndex((routeStep) => routeStep.id === step.id);
|
|
178
168
|
if (stepIndex === -1) {
|
|
179
169
|
throw new Error("Couldn't find a step to update.");
|
|
180
170
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
return this.route.steps[stepIndex];
|
|
171
|
+
data.route.steps[stepIndex] = { ...data.route.steps[stepIndex], ...step };
|
|
172
|
+
data.executionOptions?.updateRouteHook?.(data.route);
|
|
173
|
+
return data.route.steps[stepIndex];
|
|
185
174
|
}
|
|
186
175
|
});
|
|
187
|
-
this.
|
|
188
|
-
this.settings = settings;
|
|
189
|
-
this.internalUpdateRouteCallback = internalUpdateRouteCallback;
|
|
176
|
+
this.routeId = routeId;
|
|
190
177
|
}
|
|
191
178
|
/**
|
|
192
179
|
* Updates the execution object of a Step.
|
|
193
180
|
* @param step The current step in execution
|
|
194
181
|
* @param status The status for the execution
|
|
195
182
|
* @param receipt Optional. Information about received tokens
|
|
196
|
-
* @returns
|
|
183
|
+
* @returns The step with the updated execution object
|
|
197
184
|
*/
|
|
198
185
|
updateExecution(step, status, receipt) {
|
|
199
186
|
if (!step.execution) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusManager.js","sourceRoot":"","sources":["../../../src/core/StatusManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { BalanceError } from 'utils/errors.js';
|
|
1
2
|
import { formatUnits } from 'viem';
|
|
2
|
-
import { getTokenBalance } from '../balance
|
|
3
|
-
import { BalanceError } from '../utils/errors.js';
|
|
3
|
+
import { getTokenBalance } from '../services/balance.js';
|
|
4
4
|
export const checkBalance = async (walletAddress, step, depth = 0) => {
|
|
5
5
|
const token = await getTokenBalance(walletAddress, step.action.fromToken);
|
|
6
6
|
if (token) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkBalance.js","sourceRoot":"","sources":["../../../src/core/checkBalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAExD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,aAAqB,EACrB,IAAc,EACd,KAAK,GAAG,CAAC,EACM,EAAE;IACjB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,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,YAAY,CAAC,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;gBACA,mCAAmC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAA;aACnD;iBAAM;gBACL,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;gBAC1D,MAAM,OAAO,GAAG,WAAW,CAAC,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,YAAY,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAA;aAChE;SACF;KACF;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { config } from 'config.js';
|
|
2
|
+
import { executionState } from './executionState.js';
|
|
3
|
+
import { prepareRestart } from './prepareRestart.js';
|
|
4
|
+
/**
|
|
5
|
+
* Execute a route.
|
|
6
|
+
* @param route - The route that should be executed. Cannot be an active route.
|
|
7
|
+
* @param executionOptions - An object containing settings and callbacks.
|
|
8
|
+
* @returns The executed route.
|
|
9
|
+
* @throws {LiFiError} Throws a LiFiError if the execution fails.
|
|
10
|
+
*/
|
|
11
|
+
export const executeRoute = async (route, executionOptions) => {
|
|
12
|
+
// Deep clone to prevent side effects
|
|
13
|
+
const clonedRoute = structuredClone(route);
|
|
14
|
+
let executionPromise = executionState.get(clonedRoute.id)?.promise;
|
|
15
|
+
// Check if route is already running
|
|
16
|
+
if (executionPromise) {
|
|
17
|
+
return executionPromise;
|
|
18
|
+
}
|
|
19
|
+
executionPromise = executeSteps(clonedRoute, executionOptions);
|
|
20
|
+
executionState.create(route, executionOptions, executionPromise);
|
|
21
|
+
return executionPromise;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Resume the execution of a route that has been stopped or had an error while executing.
|
|
25
|
+
* @param route - The route that is to be executed. Cannot be an active route.
|
|
26
|
+
* @param executionOptions - An object containing settings and callbacks.
|
|
27
|
+
* @returns The executed route.
|
|
28
|
+
* @throws {LiFiError} Throws a LiFiError if the execution fails.
|
|
29
|
+
*/
|
|
30
|
+
export const resumeRoute = async (route, executionOptions) => {
|
|
31
|
+
// Deep clone to prevent side effects
|
|
32
|
+
const clonedRoute = structuredClone(route);
|
|
33
|
+
const execution = executionState.get(clonedRoute.id);
|
|
34
|
+
if (execution) {
|
|
35
|
+
const executionHalted = execution.executors.some((executor) => !executor.allowExecution);
|
|
36
|
+
if (!executionHalted) {
|
|
37
|
+
// Check if we want to resume route execution in the background
|
|
38
|
+
updateRouteExecution(route, {
|
|
39
|
+
executeInBackground: executionOptions?.executeInBackground,
|
|
40
|
+
});
|
|
41
|
+
if (!execution.promise) {
|
|
42
|
+
// We should never reach this point if we do clean-up properly
|
|
43
|
+
throw new Error('Route execution promise not found.');
|
|
44
|
+
}
|
|
45
|
+
return execution.promise;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
await prepareRestart(clonedRoute);
|
|
49
|
+
const executionPromise = executeSteps(clonedRoute, executionOptions);
|
|
50
|
+
executionState.create(route, executionOptions, executionPromise);
|
|
51
|
+
return executionPromise;
|
|
52
|
+
};
|
|
53
|
+
const executeSteps = async (route, executionOptions) => {
|
|
54
|
+
executionState.create(route, executionOptions);
|
|
55
|
+
// Loop over steps and execute them
|
|
56
|
+
for (let index = 0; index < route.steps.length; index++) {
|
|
57
|
+
const execution = executionState.get(route.id);
|
|
58
|
+
// Check if execution has stopped in the meantime
|
|
59
|
+
if (!execution) {
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
const step = route.steps[index];
|
|
63
|
+
const previousStep = route.steps[index - 1];
|
|
64
|
+
// Check if the step is already done
|
|
65
|
+
//
|
|
66
|
+
if (step.execution?.status === 'DONE') {
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
// Update amount using output of previous execution. In the future this should be handled by calling `updateRoute`
|
|
70
|
+
if (previousStep?.execution?.toAmount) {
|
|
71
|
+
step.action.fromAmount = previousStep.execution.toAmount;
|
|
72
|
+
}
|
|
73
|
+
try {
|
|
74
|
+
const fromAddress = step.action.fromAddress;
|
|
75
|
+
if (!fromAddress) {
|
|
76
|
+
throw new Error('Action fromAddress is not specified.');
|
|
77
|
+
}
|
|
78
|
+
const provider = config
|
|
79
|
+
.get()
|
|
80
|
+
.providers?.find((provider) => provider.isAddress(fromAddress));
|
|
81
|
+
if (!provider) {
|
|
82
|
+
throw new Error('SDK Execution Provider not found.');
|
|
83
|
+
}
|
|
84
|
+
const stepExecutor = await provider.getStepExecutor({
|
|
85
|
+
routeId: route.id,
|
|
86
|
+
executionOptions: execution.executionOptions,
|
|
87
|
+
});
|
|
88
|
+
execution.executors.push(stepExecutor);
|
|
89
|
+
// Check if we want to execute this step in the background
|
|
90
|
+
if (execution.executionOptions) {
|
|
91
|
+
updateRouteExecution(route, execution.executionOptions);
|
|
92
|
+
}
|
|
93
|
+
const executedStep = await stepExecutor.executeStep(step);
|
|
94
|
+
// We may reach this point if user interaction isn't allowed. We want to stop execution until we resume it
|
|
95
|
+
if (executedStep.execution?.status !== 'DONE') {
|
|
96
|
+
stopRouteExecution(route);
|
|
97
|
+
}
|
|
98
|
+
// Execution stopped during the current step, we don't want to continue to the next step so we return already
|
|
99
|
+
if (stepExecutor.allowExecution) {
|
|
100
|
+
return route;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
stopRouteExecution(route);
|
|
105
|
+
throw e;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// Clean up after the execution
|
|
109
|
+
executionState.delete(route.id);
|
|
110
|
+
return route;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Updates route execution to background or foreground state.
|
|
114
|
+
* @param route - A route that is currently in execution.
|
|
115
|
+
* @param options - An object with execution settings.
|
|
116
|
+
*/
|
|
117
|
+
export const updateRouteExecution = (route, options) => {
|
|
118
|
+
const execution = executionState.get(route.id);
|
|
119
|
+
if (!execution) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if ('executeInBackground' in options) {
|
|
123
|
+
for (const executor of execution.executors) {
|
|
124
|
+
executor.setInteraction({
|
|
125
|
+
allowInteraction: !options?.executeInBackground,
|
|
126
|
+
allowUpdates: true,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Update active route settings so we know what the current state of execution is
|
|
131
|
+
execution.executionOptions = {
|
|
132
|
+
...execution.executionOptions,
|
|
133
|
+
...options,
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* Stops the execution of an active route.
|
|
138
|
+
* @param route - A route that is currently in execution.
|
|
139
|
+
* @returns The stopped route.
|
|
140
|
+
*/
|
|
141
|
+
export const stopRouteExecution = (route) => {
|
|
142
|
+
const execution = executionState.get(route.id);
|
|
143
|
+
if (!execution) {
|
|
144
|
+
return route;
|
|
145
|
+
}
|
|
146
|
+
for (const executor of execution.executors) {
|
|
147
|
+
executor.setInteraction({
|
|
148
|
+
allowInteraction: false,
|
|
149
|
+
allowUpdates: false,
|
|
150
|
+
allowExecution: false,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
executionState.delete(route.id);
|
|
154
|
+
return route;
|
|
155
|
+
};
|
|
156
|
+
/**
|
|
157
|
+
* Get the list of active routes.
|
|
158
|
+
* @returns A list of routes.
|
|
159
|
+
*/
|
|
160
|
+
export const getActiveRoutes = () => {
|
|
161
|
+
return Object.values(executionState.state)
|
|
162
|
+
.map((dict) => dict?.route)
|
|
163
|
+
.filter(Boolean);
|
|
164
|
+
};
|
|
165
|
+
/**
|
|
166
|
+
* Return the current route information for given route. The route has to be active.
|
|
167
|
+
* @param routeId - A route id.
|
|
168
|
+
* @returns The updated route.
|
|
169
|
+
*/
|
|
170
|
+
export const getActiveRoute = (routeId) => {
|
|
171
|
+
return executionState.get(routeId)?.route;
|
|
172
|
+
};
|
|
173
|
+
//# sourceMappingURL=execution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/core/execution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export const executionState = {
|
|
2
|
+
state: {},
|
|
3
|
+
get(routeId) {
|
|
4
|
+
return this.state[routeId];
|
|
5
|
+
},
|
|
6
|
+
create(route, executionOptions, promise) {
|
|
7
|
+
this.state[route.id] = {
|
|
8
|
+
...this.state[route.id],
|
|
9
|
+
route,
|
|
10
|
+
executionOptions,
|
|
11
|
+
promise,
|
|
12
|
+
executors: [],
|
|
13
|
+
};
|
|
14
|
+
return this.state[route.id];
|
|
15
|
+
},
|
|
16
|
+
delete(routeId) {
|
|
17
|
+
delete this.state[routeId];
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=executionState.js.map
|