@lifi/sdk 3.0.0-alpha.6 → 3.0.0-alpha.61
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/package.json +40 -88
- package/src/_cjs/config.js +90 -0
- package/src/_cjs/config.js.map +1 -0
- package/{dist/cjs → src/_cjs}/constants.js +3 -5
- package/src/_cjs/constants.js.map +1 -0
- package/src/_cjs/core/BaseStepExecutor.js +55 -0
- package/src/_cjs/core/BaseStepExecutor.js.map +1 -0
- package/src/_cjs/core/EVM/EVM.js +43 -0
- package/src/_cjs/core/EVM/EVM.js.map +1 -0
- package/src/_cjs/core/EVM/EVMStepExecutor.js +304 -0
- package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -0
- package/{dist/cjs/types → src/_cjs/core/EVM}/abi.js +1 -0
- package/src/_cjs/core/EVM/abi.js.map +1 -0
- package/{dist/cjs/execution → src/_cjs/core/EVM}/checkAllowance.js +19 -12
- package/src/_cjs/core/EVM/checkAllowance.js.map +1 -0
- package/{dist/cjs/allowance → src/_cjs/core/EVM}/getAllowance.js +13 -17
- package/src/_cjs/core/EVM/getAllowance.js.map +1 -0
- package/src/_cjs/core/EVM/getENSAddress.js +20 -0
- package/src/_cjs/core/EVM/getENSAddress.js.map +1 -0
- package/{dist/cjs/balance/getBalance.js → src/_cjs/core/EVM/getEVMBalance.js} +20 -22
- package/src/_cjs/core/EVM/getEVMBalance.js.map +1 -0
- package/{dist/cjs/execution → src/_cjs/core/EVM}/multisig.js +7 -11
- package/src/_cjs/core/EVM/multisig.js.map +1 -0
- package/src/_cjs/core/EVM/publicClient.js +43 -0
- package/src/_cjs/core/EVM/publicClient.js.map +1 -0
- package/{dist/cjs/allowance → src/_cjs/core/EVM}/setAllowance.js +11 -12
- package/src/_cjs/core/EVM/setAllowance.js.map +1 -0
- package/src/_cjs/core/EVM/switchChain.js +38 -0
- package/src/_cjs/core/EVM/switchChain.js.map +1 -0
- package/src/_cjs/core/EVM/types.js +9 -0
- package/src/_cjs/core/EVM/types.js.map +1 -0
- package/{dist/cjs/utils/getMaxPriorityFeePerGas.js → src/_cjs/core/EVM/utils.js} +13 -3
- package/src/_cjs/core/EVM/utils.js.map +1 -0
- package/src/_cjs/core/Solana/Solana.js +38 -0
- package/src/_cjs/core/Solana/Solana.js.map +1 -0
- package/src/_cjs/core/Solana/SolanaStepExecutor.js +174 -0
- package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -0
- package/src/_cjs/core/Solana/connection.js +19 -0
- package/src/_cjs/core/Solana/connection.js.map +1 -0
- package/src/_cjs/core/Solana/getSNSAddress.js +26 -0
- package/src/_cjs/core/Solana/getSNSAddress.js.map +1 -0
- package/src/_cjs/core/Solana/getSolanaBalance.js +60 -0
- package/src/_cjs/core/Solana/getSolanaBalance.js.map +1 -0
- package/src/_cjs/core/Solana/isAddress.js +15 -0
- package/src/_cjs/core/Solana/isAddress.js.map +1 -0
- package/src/_cjs/core/Solana/types.js +10 -0
- package/src/_cjs/core/Solana/types.js.map +1 -0
- package/src/_cjs/core/StatusManager.js +167 -0
- package/src/_cjs/core/StatusManager.js.map +1 -0
- package/{dist/cjs/execution → src/_cjs/core}/checkBalance.js +6 -6
- package/src/_cjs/core/checkBalance.js.map +1 -0
- package/src/_cjs/core/execution.js +138 -0
- package/src/_cjs/core/execution.js.map +1 -0
- package/src/_cjs/core/executionState.js +29 -0
- package/src/_cjs/core/executionState.js.map +1 -0
- package/src/_cjs/core/index.js +7 -0
- package/src/_cjs/core/index.js.map +1 -0
- package/src/_cjs/core/prepareRestart.js +23 -0
- package/src/_cjs/core/prepareRestart.js.map +1 -0
- package/src/_cjs/core/provider.js +15 -0
- package/src/_cjs/core/provider.js.map +1 -0
- package/src/_cjs/core/rpc.js +18 -0
- package/src/_cjs/core/rpc.js.map +1 -0
- package/src/_cjs/core/stepComparison.js +25 -0
- package/src/_cjs/core/stepComparison.js.map +1 -0
- package/{dist/cjs/allowance → src/_cjs/core}/types.js +1 -0
- package/src/_cjs/core/types.js.map +1 -0
- package/{dist/cjs/execution → src/_cjs/core}/utils.js +2 -11
- package/src/_cjs/core/utils.js.map +1 -0
- package/{dist/cjs/execution → src/_cjs/core}/waitForReceivingTransaction.js +13 -14
- package/src/_cjs/core/waitForReceivingTransaction.js.map +1 -0
- package/src/_cjs/createConfig.js +32 -0
- package/src/_cjs/createConfig.js.map +1 -0
- package/src/_cjs/helpers.js +57 -0
- package/src/_cjs/helpers.js.map +1 -0
- package/src/_cjs/index.js +23 -0
- package/src/_cjs/index.js.map +1 -0
- package/src/_cjs/package.json +1 -0
- package/src/_cjs/request.js +66 -0
- package/src/_cjs/request.js.map +1 -0
- package/src/_cjs/services/api.js +309 -0
- package/src/_cjs/services/api.js.map +1 -0
- package/src/_cjs/services/balance.js +49 -0
- package/src/_cjs/services/balance.js.map +1 -0
- package/src/_cjs/services/getNameServiceAddress.js +29 -0
- package/src/_cjs/services/getNameServiceAddress.js.map +1 -0
- package/{dist/cjs → src/_cjs}/typeguards.js +1 -0
- package/src/_cjs/typeguards.js.map +1 -0
- package/src/_cjs/types/index.js +5 -0
- package/src/_cjs/types/index.js.map +1 -0
- package/{dist/cjs/types/internal.types.js → src/_cjs/types/internal.js} +1 -0
- package/src/_cjs/types/internal.js.map +1 -0
- package/{dist/cjs → src/_cjs}/utils/errors.js +26 -3
- package/src/_cjs/utils/errors.js.map +1 -0
- package/src/_cjs/utils/getTransactionMessage.js +31 -0
- package/src/_cjs/utils/getTransactionMessage.js.map +1 -0
- package/src/_cjs/utils/index.js +9 -0
- package/src/_cjs/utils/index.js.map +1 -0
- package/{dist/cjs → src/_cjs}/utils/median.js +1 -0
- package/src/_cjs/utils/median.js.map +1 -0
- package/src/_cjs/utils/parseBackendError.js +27 -0
- package/src/_cjs/utils/parseBackendError.js.map +1 -0
- package/src/_cjs/utils/parseError.js +69 -0
- package/src/_cjs/utils/parseError.js.map +1 -0
- package/{dist/cjs → src/_cjs}/utils/utils.js +5 -11
- package/src/_cjs/utils/utils.js.map +1 -0
- package/{dist/cjs → src/_cjs}/version.js +2 -1
- package/src/_cjs/version.js.map +1 -0
- package/src/_esm/config.js +87 -0
- package/src/_esm/config.js.map +1 -0
- package/{dist → src/_esm}/constants.js +2 -4
- package/src/_esm/constants.js.map +1 -0
- package/src/_esm/core/BaseStepExecutor.js +52 -0
- package/src/_esm/core/BaseStepExecutor.js.map +1 -0
- package/src/_esm/core/EVM/EVM.js +39 -0
- package/src/_esm/core/EVM/EVM.js.map +1 -0
- package/src/_esm/core/EVM/EVMStepExecutor.js +329 -0
- package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -0
- package/{dist/types → src/_esm/core/EVM}/abi.js +1 -0
- package/src/_esm/core/EVM/abi.js.map +1 -0
- package/{dist/execution → src/_esm/core/EVM}/checkAllowance.js +14 -5
- package/src/_esm/core/EVM/checkAllowance.js.map +1 -0
- package/{dist/allowance → src/_esm/core/EVM}/getAllowance.js +19 -6
- package/src/_esm/core/EVM/getAllowance.js.map +1 -0
- package/src/_esm/core/EVM/getENSAddress.js +17 -0
- package/src/_esm/core/EVM/getENSAddress.js.map +1 -0
- package/{dist/balance/getBalance.js → src/_esm/core/EVM/getEVMBalance.js} +10 -12
- package/src/_esm/core/EVM/getEVMBalance.js.map +1 -0
- package/{dist/execution → src/_esm/core/EVM}/multisig.js +5 -6
- package/src/_esm/core/EVM/multisig.js.map +1 -0
- package/src/_esm/core/EVM/publicClient.js +46 -0
- package/src/_esm/core/EVM/publicClient.js.map +1 -0
- package/{dist/allowance → src/_esm/core/EVM}/setAllowance.js +23 -4
- package/src/_esm/core/EVM/setAllowance.js.map +1 -0
- package/{dist/execution → src/_esm/core/EVM}/switchChain.js +7 -4
- package/src/_esm/core/EVM/switchChain.js.map +1 -0
- package/src/_esm/core/EVM/types.js +6 -0
- package/src/_esm/core/EVM/types.js.map +1 -0
- package/{dist/utils/getMaxPriorityFeePerGas.js → src/_esm/core/EVM/utils.js} +12 -1
- package/src/_esm/core/EVM/utils.js.map +1 -0
- package/src/_esm/core/Solana/Solana.js +34 -0
- package/src/_esm/core/Solana/Solana.js.map +1 -0
- package/src/_esm/core/Solana/SolanaStepExecutor.js +176 -0
- package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -0
- package/src/_esm/core/Solana/connection.js +20 -0
- package/src/_esm/core/Solana/connection.js.map +1 -0
- package/src/_esm/core/Solana/getSNSAddress.js +26 -0
- package/src/_esm/core/Solana/getSNSAddress.js.map +1 -0
- package/src/_esm/core/Solana/getSolanaBalance.js +56 -0
- package/src/_esm/core/Solana/getSolanaBalance.js.map +1 -0
- package/src/_esm/core/Solana/isAddress.js +11 -0
- package/src/_esm/core/Solana/isAddress.js.map +1 -0
- package/src/_esm/core/Solana/types.js +7 -0
- package/src/_esm/core/Solana/types.js.map +1 -0
- package/src/_esm/core/StatusManager.js +203 -0
- package/src/_esm/core/StatusManager.js.map +1 -0
- package/{dist/execution → src/_esm/core}/checkBalance.js +4 -3
- package/src/_esm/core/checkBalance.js.map +1 -0
- package/src/_esm/core/execution.js +176 -0
- package/src/_esm/core/execution.js.map +1 -0
- package/src/_esm/core/executionState.js +26 -0
- package/src/_esm/core/executionState.js.map +1 -0
- package/src/_esm/core/index.js +4 -0
- package/src/_esm/core/index.js.map +1 -0
- package/src/_esm/core/prepareRestart.js +64 -0
- package/src/_esm/core/prepareRestart.js.map +1 -0
- package/src/_esm/core/provider.js +11 -0
- package/src/_esm/core/provider.js.map +1 -0
- package/src/_esm/core/rpc.js +14 -0
- package/src/_esm/core/rpc.js.map +1 -0
- package/{dist/execution → src/_esm/core}/stepComparison.js +7 -5
- package/src/_esm/core/stepComparison.js.map +1 -0
- package/src/_esm/core/types.js +2 -0
- package/src/_esm/core/types.js.map +1 -0
- package/{dist/execution → src/_esm/core}/utils.js +4 -3
- package/src/_esm/core/utils.js.map +1 -0
- package/{dist/execution → src/_esm/core}/waitForReceivingTransaction.js +11 -9
- package/src/_esm/core/waitForReceivingTransaction.js.map +1 -0
- package/src/_esm/createConfig.js +28 -0
- package/src/_esm/createConfig.js.map +1 -0
- package/{dist → src/_esm}/helpers.js +5 -17
- package/src/_esm/helpers.js.map +1 -0
- package/src/_esm/index.js +14 -0
- package/src/_esm/index.js.map +1 -0
- package/src/_esm/package.json +1 -0
- package/{dist → src/_esm}/request.js +23 -13
- package/src/_esm/request.js.map +1 -0
- package/src/_esm/services/api.js +378 -0
- package/src/_esm/services/api.js.map +1 -0
- package/src/_esm/services/balance.js +65 -0
- package/src/_esm/services/balance.js.map +1 -0
- package/src/_esm/services/getNameServiceAddress.js +25 -0
- package/src/_esm/services/getNameServiceAddress.js.map +1 -0
- package/{dist → src/_esm}/typeguards.js +1 -0
- package/src/_esm/typeguards.js.map +1 -0
- package/src/_esm/types/index.js +2 -0
- package/src/_esm/types/index.js.map +1 -0
- package/src/_esm/types/internal.js +2 -0
- package/src/_esm/types/internal.js.map +1 -0
- package/{dist → src/_esm}/utils/errors.js +26 -0
- package/src/_esm/utils/errors.js.map +1 -0
- package/src/_esm/utils/getTransactionMessage.js +28 -0
- package/src/_esm/utils/getTransactionMessage.js.map +1 -0
- package/src/_esm/utils/index.js +6 -0
- package/src/_esm/utils/index.js.map +1 -0
- package/{dist → src/_esm}/utils/median.js +1 -0
- package/src/_esm/utils/median.js.map +1 -0
- package/src/_esm/utils/parseBackendError.js +24 -0
- package/src/_esm/utils/parseBackendError.js.map +1 -0
- package/{dist → src/_esm}/utils/parseError.js +6 -53
- package/src/_esm/utils/parseError.js.map +1 -0
- package/{dist → src/_esm}/utils/utils.js +2 -1
- package/src/_esm/utils/utils.js.map +1 -0
- package/src/_esm/version.js +3 -0
- package/src/_esm/version.js.map +1 -0
- package/src/_types/config.d.ts +15 -0
- package/src/_types/config.d.ts.map +1 -0
- package/{dist/cjs → src/_types}/constants.d.ts +2 -4
- package/src/_types/constants.d.ts.map +1 -0
- package/src/_types/core/BaseStepExecutor.d.ts +13 -0
- package/src/_types/core/BaseStepExecutor.d.ts.map +1 -0
- package/src/_types/core/EVM/EVM.d.ts +3 -0
- package/src/_types/core/EVM/EVM.d.ts.map +1 -0
- package/src/_types/core/EVM/EVMStepExecutor.d.ts +17 -0
- package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -0
- package/{dist/cjs/types → src/_types/core/EVM}/abi.d.ts +1 -0
- package/src/_types/core/EVM/abi.d.ts.map +1 -0
- package/src/_types/core/EVM/checkAllowance.d.ts +6 -0
- package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -0
- package/{dist/cjs/allowance → src/_types/core/EVM}/getAllowance.d.ts +15 -1
- package/src/_types/core/EVM/getAllowance.d.ts.map +1 -0
- package/src/_types/core/EVM/getENSAddress.d.ts +2 -0
- package/src/_types/core/EVM/getENSAddress.d.ts.map +1 -0
- package/src/_types/core/EVM/getEVMBalance.d.ts +3 -0
- package/src/_types/core/EVM/getEVMBalance.d.ts.map +1 -0
- package/src/_types/core/EVM/multisig.d.ts +6 -0
- package/src/_types/core/EVM/multisig.d.ts.map +1 -0
- package/src/_types/core/EVM/publicClient.d.ts +8 -0
- package/src/_types/core/EVM/publicClient.d.ts.map +1 -0
- package/src/_types/core/EVM/setAllowance.d.ts +25 -0
- package/src/_types/core/EVM/setAllowance.d.ts.map +1 -0
- package/{dist/cjs/execution → src/_types/core/EVM}/switchChain.d.ts +5 -4
- package/src/_types/core/EVM/switchChain.d.ts.map +1 -0
- package/src/_types/core/EVM/types.d.ts +55 -0
- package/src/_types/core/EVM/types.d.ts.map +1 -0
- package/src/_types/core/EVM/utils.d.ts +10 -0
- package/src/_types/core/EVM/utils.d.ts.map +1 -0
- package/src/_types/core/Solana/Solana.d.ts +3 -0
- package/src/_types/core/Solana/Solana.d.ts.map +1 -0
- package/src/_types/core/Solana/SolanaStepExecutor.d.ts +13 -0
- package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -0
- package/src/_types/core/Solana/connection.d.ts +8 -0
- package/src/_types/core/Solana/connection.d.ts.map +1 -0
- package/src/_types/core/Solana/getSNSAddress.d.ts +2 -0
- package/src/_types/core/Solana/getSNSAddress.d.ts.map +1 -0
- package/src/_types/core/Solana/getSolanaBalance.d.ts +3 -0
- package/src/_types/core/Solana/getSolanaBalance.d.ts.map +1 -0
- package/src/_types/core/Solana/isAddress.d.ts +2 -0
- package/src/_types/core/Solana/isAddress.d.ts.map +1 -0
- package/src/_types/core/Solana/types.d.ts +13 -0
- package/src/_types/core/Solana/types.d.ts.map +1 -0
- package/{dist/cjs/execution → src/_types/core}/StatusManager.d.ts +15 -28
- package/src/_types/core/StatusManager.d.ts.map +1 -0
- package/src/_types/core/checkBalance.d.ts +3 -0
- package/src/_types/core/checkBalance.d.ts.map +1 -0
- package/src/_types/core/execution.d.ts +42 -0
- package/src/_types/core/execution.d.ts.map +1 -0
- package/src/_types/core/executionState.d.ts +17 -0
- package/src/_types/core/executionState.d.ts.map +1 -0
- package/src/_types/core/index.d.ts +4 -0
- package/src/_types/core/index.d.ts.map +1 -0
- package/src/_types/core/prepareRestart.d.ts +3 -0
- package/src/_types/core/prepareRestart.d.ts.map +1 -0
- package/src/_types/core/provider.d.ts +3 -0
- package/src/_types/core/provider.d.ts.map +1 -0
- package/src/_types/core/rpc.d.ts +4 -0
- package/src/_types/core/rpc.d.ts.map +1 -0
- package/{dist/execution → src/_types/core}/stepComparison.d.ts +7 -4
- package/src/_types/core/stepComparison.d.ts.map +1 -0
- package/src/_types/core/types.d.ts +81 -0
- package/src/_types/core/types.d.ts.map +1 -0
- package/{dist/execution → src/_types/core}/utils.d.ts +3 -2
- package/src/_types/core/utils.d.ts.map +1 -0
- package/src/_types/core/waitForReceivingTransaction.d.ts +4 -0
- package/src/_types/core/waitForReceivingTransaction.d.ts.map +1 -0
- package/src/_types/createConfig.d.ts +4 -0
- package/src/_types/createConfig.d.ts.map +1 -0
- package/{dist → src/_types}/helpers.d.ts +4 -3
- package/src/_types/helpers.d.ts.map +1 -0
- package/src/_types/index.d.ts +15 -0
- package/src/_types/index.d.ts.map +1 -0
- package/{dist → src/_types}/request.d.ts +1 -0
- package/src/_types/request.d.ts.map +1 -0
- package/src/_types/services/api.d.ts +89 -0
- package/src/_types/services/api.d.ts.map +1 -0
- package/src/_types/services/balance.d.ts +30 -0
- package/src/_types/services/balance.d.ts.map +1 -0
- package/src/_types/services/getNameServiceAddress.d.ts +3 -0
- package/src/_types/services/getNameServiceAddress.d.ts.map +1 -0
- package/{dist/cjs → src/_types}/typeguards.d.ts +3 -2
- package/src/_types/typeguards.d.ts.map +1 -0
- package/src/_types/types/index.d.ts +2 -0
- package/src/_types/types/index.d.ts.map +1 -0
- package/src/_types/types/internal.d.ts +59 -0
- package/src/_types/types/internal.d.ts.map +1 -0
- package/{dist → src/_types}/utils/errors.d.ts +3 -1
- package/src/_types/utils/errors.d.ts.map +1 -0
- package/src/_types/utils/getTransactionMessage.d.ts +4 -0
- package/src/_types/utils/getTransactionMessage.d.ts.map +1 -0
- package/src/_types/utils/index.d.ts +6 -0
- package/src/_types/utils/index.d.ts.map +1 -0
- package/{dist/cjs → src/_types}/utils/median.d.ts +1 -0
- package/src/_types/utils/median.d.ts.map +1 -0
- package/src/_types/utils/parseBackendError.d.ts +3 -0
- package/src/_types/utils/parseBackendError.d.ts.map +1 -0
- package/{dist → src/_types}/utils/parseError.d.ts +4 -6
- package/src/_types/utils/parseError.d.ts.map +1 -0
- package/{dist → src/_types}/utils/utils.d.ts +1 -0
- package/src/_types/utils/utils.d.ts.map +1 -0
- package/src/_types/version.d.ts +3 -0
- package/src/_types/version.d.ts.map +1 -0
- package/src/config.ts +91 -0
- package/src/constants.ts +4 -0
- package/src/core/BaseStepExecutor.ts +40 -0
- package/src/core/EVM/EVM.ts +47 -0
- package/src/core/EVM/EVMStepExecutor.ts +503 -0
- package/src/core/EVM/abi.ts +47 -0
- package/src/core/EVM/checkAllowance.ts +168 -0
- package/src/core/EVM/getAllowance.ts +144 -0
- package/src/core/EVM/getENSAddress.ts +18 -0
- package/src/core/EVM/getEVMBalance.ts +118 -0
- package/src/core/EVM/multisig.ts +53 -0
- package/src/core/EVM/publicClient.ts +54 -0
- package/src/core/EVM/setAllowance.ts +144 -0
- package/src/core/EVM/switchChain.ts +77 -0
- package/src/core/EVM/types.ts +73 -0
- package/src/core/EVM/utils.ts +48 -0
- package/src/core/Solana/Solana.ts +41 -0
- package/src/core/Solana/SolanaStepExecutor.ts +272 -0
- package/src/core/Solana/connection.ts +20 -0
- package/src/core/Solana/getSNSAddress.ts +33 -0
- package/src/core/Solana/getSolanaBalance.ts +72 -0
- package/src/core/Solana/isAddress.ts +10 -0
- package/src/core/Solana/types.ts +18 -0
- package/src/core/StatusManager.ts +231 -0
- package/src/core/checkBalance.ts +48 -0
- package/src/core/execution.ts +214 -0
- package/src/core/executionState.ts +44 -0
- package/src/core/index.ts +3 -0
- package/src/core/prepareRestart.ts +82 -0
- package/src/core/provider.ts +12 -0
- package/src/core/rpc.ts +15 -0
- package/src/core/stepComparison.ts +51 -0
- package/src/core/types.ts +118 -0
- package/src/core/utils.ts +105 -0
- package/src/core/waitForReceivingTransaction.ts +74 -0
- package/src/createConfig.ts +33 -0
- package/src/helpers.ts +83 -0
- package/src/index.ts +18 -0
- package/src/request.ts +79 -0
- package/src/services/api.ts +509 -0
- package/src/services/balance.ts +93 -0
- package/src/services/getNameServiceAddress.ts +30 -0
- package/src/typeguards.ts +89 -0
- package/src/types/index.ts +1 -0
- package/src/types/internal.ts +62 -0
- package/src/utils/errors.ts +232 -0
- package/src/utils/getTransactionMessage.ts +46 -0
- package/src/utils/index.ts +5 -0
- package/src/utils/median.ts +11 -0
- package/src/utils/parseBackendError.ts +50 -0
- package/src/utils/parseError.ts +210 -0
- package/src/utils/utils.ts +48 -0
- package/src/version.ts +2 -0
- package/dist/LiFi.d.ts +0 -175
- package/dist/LiFi.js +0 -250
- package/dist/allowance/getAllowance.d.ts +0 -6
- package/dist/allowance/index.d.ts +0 -3
- package/dist/allowance/index.js +0 -3
- package/dist/allowance/setAllowance.d.ts +0 -6
- package/dist/allowance/types.d.ts +0 -27
- package/dist/allowance/types.js +0 -1
- package/dist/balance/getBalance.d.ts +0 -2
- package/dist/balance/getTokenBalance.d.ts +0 -8
- package/dist/balance/getTokenBalance.js +0 -27
- package/dist/balance/index.d.ts +0 -2
- package/dist/balance/index.js +0 -2
- package/dist/cjs/LiFi.d.ts +0 -175
- package/dist/cjs/LiFi.js +0 -280
- package/dist/cjs/allowance/index.d.ts +0 -3
- package/dist/cjs/allowance/index.js +0 -19
- package/dist/cjs/allowance/setAllowance.d.ts +0 -6
- package/dist/cjs/allowance/types.d.ts +0 -27
- package/dist/cjs/balance/getBalance.d.ts +0 -2
- package/dist/cjs/balance/getTokenBalance.d.ts +0 -8
- package/dist/cjs/balance/getTokenBalance.js +0 -33
- package/dist/cjs/balance/index.d.ts +0 -2
- package/dist/cjs/balance/index.js +0 -18
- package/dist/cjs/connectors.d.ts +0 -8
- package/dist/cjs/connectors.js +0 -75
- package/dist/cjs/execution/RouteExecutionManager.d.ts +0 -59
- package/dist/cjs/execution/RouteExecutionManager.js +0 -202
- package/dist/cjs/execution/StatusManager.js +0 -171
- package/dist/cjs/execution/StepExecutionManager.d.ts +0 -7
- package/dist/cjs/execution/StepExecutionManager.js +0 -272
- package/dist/cjs/execution/StepExecutor.d.ts +0 -15
- package/dist/cjs/execution/StepExecutor.js +0 -62
- package/dist/cjs/execution/checkAllowance.d.ts +0 -4
- package/dist/cjs/execution/checkBalance.d.ts +0 -2
- package/dist/cjs/execution/index.d.ts +0 -1
- package/dist/cjs/execution/index.js +0 -17
- package/dist/cjs/execution/multisig.d.ts +0 -4
- package/dist/cjs/execution/prepareRestart.d.ts +0 -3
- package/dist/cjs/execution/prepareRestart.js +0 -65
- package/dist/cjs/execution/stepComparison.d.ts +0 -14
- package/dist/cjs/execution/stepComparison.js +0 -37
- package/dist/cjs/execution/switchChain.js +0 -54
- package/dist/cjs/execution/utils.d.ts +0 -12
- package/dist/cjs/execution/waitForReceivingTransaction.d.ts +0 -3
- package/dist/cjs/helpers.d.ts +0 -18
- package/dist/cjs/helpers.js +0 -84
- package/dist/cjs/index.d.ts +0 -5
- package/dist/cjs/index.js +0 -24
- package/dist/cjs/request.d.ts +0 -9
- package/dist/cjs/request.js +0 -60
- package/dist/cjs/services/ApiService.d.ts +0 -17
- package/dist/cjs/services/ApiService.js +0 -326
- package/dist/cjs/services/ChainsService.d.ts +0 -11
- package/dist/cjs/services/ChainsService.js +0 -39
- package/dist/cjs/services/ConfigService.d.ts +0 -23
- package/dist/cjs/services/ConfigService.js +0 -101
- package/dist/cjs/types/index.d.ts +0 -4
- package/dist/cjs/types/index.js +0 -22
- package/dist/cjs/types/internal.types.d.ts +0 -145
- package/dist/cjs/utils/errors.d.ts +0 -107
- package/dist/cjs/utils/getMaxPriorityFeePerGas.d.ts +0 -2
- package/dist/cjs/utils/index.d.ts +0 -5
- package/dist/cjs/utils/index.js +0 -21
- package/dist/cjs/utils/parseError.d.ts +0 -37
- package/dist/cjs/utils/parseError.js +0 -157
- package/dist/cjs/utils/utils.d.ts +0 -10
- package/dist/cjs/version.d.ts +0 -2
- package/dist/connectors.d.ts +0 -8
- package/dist/connectors.js +0 -41
- package/dist/constants.d.ts +0 -6
- package/dist/execution/RouteExecutionManager.d.ts +0 -59
- package/dist/execution/RouteExecutionManager.js +0 -195
- package/dist/execution/StatusManager.d.ts +0 -67
- package/dist/execution/StatusManager.js +0 -167
- package/dist/execution/StepExecutionManager.d.ts +0 -7
- package/dist/execution/StepExecutionManager.js +0 -265
- package/dist/execution/StepExecutor.d.ts +0 -15
- package/dist/execution/StepExecutor.js +0 -58
- package/dist/execution/checkAllowance.d.ts +0 -4
- package/dist/execution/checkBalance.d.ts +0 -2
- package/dist/execution/index.d.ts +0 -1
- package/dist/execution/index.js +0 -1
- package/dist/execution/multisig.d.ts +0 -4
- package/dist/execution/prepareRestart.d.ts +0 -3
- package/dist/execution/prepareRestart.js +0 -61
- package/dist/execution/switchChain.d.ts +0 -21
- package/dist/execution/waitForReceivingTransaction.d.ts +0 -3
- package/dist/index.d.ts +0 -5
- package/dist/index.js +0 -6
- package/dist/services/ApiService.d.ts +0 -17
- package/dist/services/ApiService.js +0 -321
- package/dist/services/ChainsService.d.ts +0 -11
- package/dist/services/ChainsService.js +0 -33
- package/dist/services/ConfigService.d.ts +0 -23
- package/dist/services/ConfigService.js +0 -99
- package/dist/typeguards.d.ts +0 -4
- package/dist/types/abi.d.ts +0 -5
- package/dist/types/index.d.ts +0 -4
- package/dist/types/index.js +0 -4
- package/dist/types/internal.types.d.ts +0 -145
- package/dist/types/internal.types.js +0 -1
- package/dist/utils/getMaxPriorityFeePerGas.d.ts +0 -2
- package/dist/utils/index.d.ts +0 -5
- package/dist/utils/index.js +0 -5
- package/dist/utils/median.d.ts +0 -1
- package/dist/version.d.ts +0 -2
- package/dist/version.js +0 -2
package/dist/connectors.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { createPublicClient, fallback, http } from 'viem';
|
|
2
|
-
import * as chains from 'viem/chains'; // TODO: optimize using BE chains
|
|
3
|
-
import ConfigService from './services/ConfigService';
|
|
4
|
-
import { ServerError } from './utils/errors';
|
|
5
|
-
// cached providers
|
|
6
|
-
const publicClients = {};
|
|
7
|
-
export const getChainById = (chainId) => {
|
|
8
|
-
return Object.values(chains).find((chain) => chain.id === chainId);
|
|
9
|
-
};
|
|
10
|
-
// RPC Urls
|
|
11
|
-
export const getRpcUrl = async (chainId) => {
|
|
12
|
-
const rpcUrls = await getRpcUrls(chainId);
|
|
13
|
-
return rpcUrls[0];
|
|
14
|
-
};
|
|
15
|
-
export const getRpcUrls = async (chainId) => {
|
|
16
|
-
const configService = ConfigService.getInstance();
|
|
17
|
-
const config = await configService.getConfigAsync();
|
|
18
|
-
return config.rpcs[chainId];
|
|
19
|
-
};
|
|
20
|
-
export const getPublicClient = async (chainId) => {
|
|
21
|
-
if (!publicClients[chainId]) {
|
|
22
|
-
const urls = await getRpcUrls(chainId);
|
|
23
|
-
const fallbackTransports = urls.map((url) => http(url, {
|
|
24
|
-
batch: true,
|
|
25
|
-
}));
|
|
26
|
-
publicClients[chainId] = createPublicClient({
|
|
27
|
-
chain: getChainById(chainId),
|
|
28
|
-
transport: fallback(fallbackTransports),
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
if (!publicClients[chainId]) {
|
|
32
|
-
throw new ServerError(`Unable to configure provider for chain ${chainId}`);
|
|
33
|
-
}
|
|
34
|
-
return publicClients[chainId];
|
|
35
|
-
};
|
|
36
|
-
// Multicall
|
|
37
|
-
export const getMulticallAddress = async (chainId) => {
|
|
38
|
-
const configService = ConfigService.getInstance();
|
|
39
|
-
const config = await configService.getConfigAsync();
|
|
40
|
-
return config.multicallAddresses[chainId];
|
|
41
|
-
};
|
package/dist/constants.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export declare const AddressZero = "0x0000000000000000000000000000000000000000";
|
|
2
|
-
export declare const AlternativeAddressZero = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
3
|
-
/**
|
|
4
|
-
* Cronos require bigger multicall chunks than default 1024 (1 KB)
|
|
5
|
-
*/
|
|
6
|
-
export declare const MulticallBatchSize = 16384;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import type { Route } from '@lifi/types';
|
|
2
|
-
import type { WalletClient } from 'viem';
|
|
3
|
-
import ConfigService from '../services/ConfigService';
|
|
4
|
-
import type { ConfigUpdate, ExecutionSettings } from '../types';
|
|
5
|
-
export declare class RouteExecutionManager {
|
|
6
|
-
private executionDictionary;
|
|
7
|
-
private executionPromiseDictionary;
|
|
8
|
-
protected configService: ConfigService;
|
|
9
|
-
constructor(configUpdate: ConfigUpdate);
|
|
10
|
-
/**
|
|
11
|
-
* Execute a route.
|
|
12
|
-
* @param walletClient - The walletClient required to send the transactions.
|
|
13
|
-
* @param route - The route that should be executed. Cannot be an active route.
|
|
14
|
-
* @param settings - An object containing settings and callbacks.
|
|
15
|
-
* @returns The executed route.
|
|
16
|
-
* @throws {LiFiError} Throws a LiFiError if the execution fails.
|
|
17
|
-
*/
|
|
18
|
-
executeRoute: (walletClient: WalletClient, route: Route, settings?: ExecutionSettings) => Promise<Route>;
|
|
19
|
-
/**
|
|
20
|
-
* Resume the execution of a route that has been stopped or had an error while executing.
|
|
21
|
-
* @param walletClient - The walletClient required to send the transactions.
|
|
22
|
-
* @param route - The route that is to be executed. Cannot be an active route.
|
|
23
|
-
* @param settings - An object containing settings and callbacks.
|
|
24
|
-
* @returns The executed route.
|
|
25
|
-
* @throws {LiFiError} Throws a LiFiError if the execution fails.
|
|
26
|
-
*/
|
|
27
|
-
resumeRoute: (walletClient: WalletClient, route: Route, settings?: ExecutionSettings) => Promise<Route>;
|
|
28
|
-
private executeSteps;
|
|
29
|
-
/**
|
|
30
|
-
* Updates route execution to background or foreground state.
|
|
31
|
-
* @param route - A route that is currently in execution.
|
|
32
|
-
* @param settings - An object with execution settings.
|
|
33
|
-
*/
|
|
34
|
-
updateRouteExecution: (route: Route, settings: Pick<ExecutionSettings, 'executeInBackground'>) => void;
|
|
35
|
-
/**
|
|
36
|
-
* Update the ExecutionSettings for an active route.
|
|
37
|
-
* @param settings - An object with execution settings.
|
|
38
|
-
* @param route - The active route that gets the new execution settings.
|
|
39
|
-
* @throws {ValidationError} Throws a ValidationError if parameters are invalid.
|
|
40
|
-
*/
|
|
41
|
-
updateExecutionSettings: (settings: ExecutionSettings, route: Route) => void;
|
|
42
|
-
/**
|
|
43
|
-
* Stops the execution of an active route.
|
|
44
|
-
* @param route - A route that is currently in execution.
|
|
45
|
-
* @returns The stopped route.
|
|
46
|
-
*/
|
|
47
|
-
stopExecution: (route: Route) => Route;
|
|
48
|
-
/**
|
|
49
|
-
* Get the list of active routes.
|
|
50
|
-
* @returns A list of routes.
|
|
51
|
-
*/
|
|
52
|
-
getActiveRoutes: () => Route[];
|
|
53
|
-
/**
|
|
54
|
-
* Return the current route information for given route. The route has to be active.
|
|
55
|
-
* @param route - A route object.
|
|
56
|
-
* @returns The updated route.
|
|
57
|
-
*/
|
|
58
|
-
getActiveRoute: (route: Route) => Route | undefined;
|
|
59
|
-
}
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
import ConfigService from '../services/ConfigService';
|
|
2
|
-
import { ValidationError } from '../utils/errors';
|
|
3
|
-
import { StatusManager } from './StatusManager';
|
|
4
|
-
import { StepExecutor } from './StepExecutor';
|
|
5
|
-
import { prepareRestart } from './prepareRestart';
|
|
6
|
-
export class RouteExecutionManager {
|
|
7
|
-
constructor(configUpdate) {
|
|
8
|
-
this.executionDictionary = {};
|
|
9
|
-
this.executionPromiseDictionary = {};
|
|
10
|
-
/**
|
|
11
|
-
* Execute a route.
|
|
12
|
-
* @param walletClient - The walletClient required to send the transactions.
|
|
13
|
-
* @param route - The route that should be executed. Cannot be an active route.
|
|
14
|
-
* @param settings - An object containing settings and callbacks.
|
|
15
|
-
* @returns The executed route.
|
|
16
|
-
* @throws {LiFiError} Throws a LiFiError if the execution fails.
|
|
17
|
-
*/
|
|
18
|
-
this.executeRoute = async (walletClient, route, settings) => {
|
|
19
|
-
// Deep clone to prevent side effects
|
|
20
|
-
const clonedRoute = structuredClone(route);
|
|
21
|
-
let executionPromise = this.executionPromiseDictionary[clonedRoute.id];
|
|
22
|
-
// Check if route is already running
|
|
23
|
-
if (executionPromise) {
|
|
24
|
-
return executionPromise;
|
|
25
|
-
}
|
|
26
|
-
executionPromise = this.executeSteps(walletClient, clonedRoute, settings);
|
|
27
|
-
this.executionPromiseDictionary[clonedRoute.id] = executionPromise;
|
|
28
|
-
return executionPromise;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Resume the execution of a route that has been stopped or had an error while executing.
|
|
32
|
-
* @param walletClient - The walletClient required to send the transactions.
|
|
33
|
-
* @param route - The route that is to be executed. Cannot be an active route.
|
|
34
|
-
* @param settings - An object containing settings and callbacks.
|
|
35
|
-
* @returns The executed route.
|
|
36
|
-
* @throws {LiFiError} Throws a LiFiError if the execution fails.
|
|
37
|
-
*/
|
|
38
|
-
this.resumeRoute = async (walletClient, route, settings) => {
|
|
39
|
-
// Deep clone to prevent side effects
|
|
40
|
-
const clonedRoute = structuredClone(route);
|
|
41
|
-
const execution = this.executionDictionary[clonedRoute.id];
|
|
42
|
-
if (execution) {
|
|
43
|
-
const executionHalted = execution.executors.some((executor) => executor.executionStopped);
|
|
44
|
-
if (!executionHalted) {
|
|
45
|
-
// Check if we want to resume route execution in the background
|
|
46
|
-
this.updateRouteExecution(route, {
|
|
47
|
-
executeInBackground: settings?.executeInBackground,
|
|
48
|
-
});
|
|
49
|
-
const executionPromise = this.executionPromiseDictionary[clonedRoute.id];
|
|
50
|
-
return executionPromise ?? clonedRoute;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
await prepareRestart(clonedRoute, walletClient);
|
|
54
|
-
const executionPromise = this.executeSteps(walletClient, clonedRoute, settings);
|
|
55
|
-
this.executionPromiseDictionary[clonedRoute.id] = executionPromise;
|
|
56
|
-
return executionPromise;
|
|
57
|
-
};
|
|
58
|
-
this.executeSteps = async (walletClient, route, settings) => {
|
|
59
|
-
const config = this.configService.getConfig();
|
|
60
|
-
const execution = {
|
|
61
|
-
route,
|
|
62
|
-
executors: [],
|
|
63
|
-
settings: { ...config.defaultExecutionSettings, ...settings },
|
|
64
|
-
};
|
|
65
|
-
this.executionDictionary[route.id] = execution;
|
|
66
|
-
const statusManager = new StatusManager(route, execution.settings, (route) => {
|
|
67
|
-
if (this.executionDictionary[route.id]) {
|
|
68
|
-
execution.route = route;
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
// Loop over steps and execute them
|
|
72
|
-
for (let index = 0; index < route.steps.length; index++) {
|
|
73
|
-
const execution = this.executionDictionary[route.id];
|
|
74
|
-
// Check if execution has stopped in the meantime
|
|
75
|
-
if (!execution) {
|
|
76
|
-
break;
|
|
77
|
-
}
|
|
78
|
-
const step = route.steps[index];
|
|
79
|
-
const previousStep = route.steps[index - 1];
|
|
80
|
-
// Check if the step is already done
|
|
81
|
-
//
|
|
82
|
-
if (step.execution?.status === 'DONE') {
|
|
83
|
-
continue;
|
|
84
|
-
}
|
|
85
|
-
// Update amount using output of previous execution. In the future this should be handled by calling `updateRoute`
|
|
86
|
-
if (previousStep?.execution?.toAmount) {
|
|
87
|
-
step.action.fromAmount = previousStep.execution.toAmount;
|
|
88
|
-
}
|
|
89
|
-
try {
|
|
90
|
-
const stepExecutor = new StepExecutor(statusManager, execution.settings);
|
|
91
|
-
execution.executors.push(stepExecutor);
|
|
92
|
-
// Check if we want to execute this step in the background
|
|
93
|
-
this.updateRouteExecution(route, execution.settings);
|
|
94
|
-
const executedStep = await stepExecutor.executeStep(walletClient, step);
|
|
95
|
-
// We may reach this point if user interaction isn't allowed. We want to stop execution until we resume it
|
|
96
|
-
if (executedStep.execution?.status !== 'DONE') {
|
|
97
|
-
this.stopExecution(route);
|
|
98
|
-
}
|
|
99
|
-
// Execution stopped during the current step, we don't want to continue to the next step so we return already
|
|
100
|
-
if (stepExecutor.executionStopped) {
|
|
101
|
-
return route;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
catch (e) {
|
|
105
|
-
this.stopExecution(route);
|
|
106
|
-
throw e;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
// Clean up after the execution
|
|
110
|
-
delete this.executionDictionary[route.id];
|
|
111
|
-
return route;
|
|
112
|
-
};
|
|
113
|
-
/**
|
|
114
|
-
* Updates route execution to background or foreground state.
|
|
115
|
-
* @param route - A route that is currently in execution.
|
|
116
|
-
* @param settings - An object with execution settings.
|
|
117
|
-
*/
|
|
118
|
-
this.updateRouteExecution = (route, settings) => {
|
|
119
|
-
const execution = this.executionDictionary[route.id];
|
|
120
|
-
if (!execution) {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
for (const executor of execution.executors) {
|
|
124
|
-
executor.setInteraction({
|
|
125
|
-
allowInteraction: !settings.executeInBackground,
|
|
126
|
-
allowUpdates: true,
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
// Update active route settings so we know what the current state of execution is
|
|
130
|
-
execution.settings = {
|
|
131
|
-
...execution.settings,
|
|
132
|
-
...settings,
|
|
133
|
-
};
|
|
134
|
-
};
|
|
135
|
-
/**
|
|
136
|
-
* Update the ExecutionSettings for an active route.
|
|
137
|
-
* @param settings - An object with execution settings.
|
|
138
|
-
* @param route - The active route that gets the new execution settings.
|
|
139
|
-
* @throws {ValidationError} Throws a ValidationError if parameters are invalid.
|
|
140
|
-
*/
|
|
141
|
-
this.updateExecutionSettings = (settings, route) => {
|
|
142
|
-
const execution = this.executionDictionary[route.id];
|
|
143
|
-
if (!execution) {
|
|
144
|
-
throw new ValidationError("Can't set ExecutionSettings for the inactive route.");
|
|
145
|
-
}
|
|
146
|
-
const config = this.configService.getConfig();
|
|
147
|
-
execution.settings = {
|
|
148
|
-
...config.defaultExecutionSettings,
|
|
149
|
-
...settings,
|
|
150
|
-
};
|
|
151
|
-
};
|
|
152
|
-
/**
|
|
153
|
-
* Stops the execution of an active route.
|
|
154
|
-
* @param route - A route that is currently in execution.
|
|
155
|
-
* @returns The stopped route.
|
|
156
|
-
*/
|
|
157
|
-
this.stopExecution = (route) => {
|
|
158
|
-
const execution = this.executionDictionary[route.id];
|
|
159
|
-
if (!execution) {
|
|
160
|
-
return route;
|
|
161
|
-
}
|
|
162
|
-
for (const executor of execution.executors) {
|
|
163
|
-
executor.setInteraction({
|
|
164
|
-
allowInteraction: false,
|
|
165
|
-
allowUpdates: false,
|
|
166
|
-
stopExecution: true,
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
delete this.executionDictionary[route.id];
|
|
170
|
-
return route;
|
|
171
|
-
};
|
|
172
|
-
/**
|
|
173
|
-
* Get the list of active routes.
|
|
174
|
-
* @returns A list of routes.
|
|
175
|
-
*/
|
|
176
|
-
this.getActiveRoutes = () => {
|
|
177
|
-
return Object.values(this.executionDictionary)
|
|
178
|
-
.map((dict) => dict?.route)
|
|
179
|
-
.filter(Boolean);
|
|
180
|
-
};
|
|
181
|
-
/**
|
|
182
|
-
* Return the current route information for given route. The route has to be active.
|
|
183
|
-
* @param route - A route object.
|
|
184
|
-
* @returns The updated route.
|
|
185
|
-
*/
|
|
186
|
-
this.getActiveRoute = (route) => {
|
|
187
|
-
return this.executionDictionary[route.id]?.route;
|
|
188
|
-
};
|
|
189
|
-
this.configService = ConfigService.getInstance();
|
|
190
|
-
if (configUpdate) {
|
|
191
|
-
// Update API urls before we request chains
|
|
192
|
-
this.configService.updateConfig(configUpdate);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import type { Execution, InternalExecutionSettings, LifiStep, Process, ProcessType, Route, Status, Token } from '../types';
|
|
2
|
-
interface Receipt {
|
|
3
|
-
fromAmount?: string;
|
|
4
|
-
toAmount?: string;
|
|
5
|
-
toToken?: Token;
|
|
6
|
-
gasPrice?: string;
|
|
7
|
-
gasUsed?: string;
|
|
8
|
-
gasToken?: Token;
|
|
9
|
-
gasAmount?: string;
|
|
10
|
-
gasAmountUSD?: string;
|
|
11
|
-
}
|
|
12
|
-
type InternalUpdateRouteCallback = (route: Route) => void;
|
|
13
|
-
type OptionalParameters = Partial<Pick<Process, 'doneAt' | 'failedAt' | 'txHash' | 'txLink' | 'error' | 'substatus' | 'substatusMessage' | 'multisigTxHash'>>;
|
|
14
|
-
/**
|
|
15
|
-
* Manages status updates of a route and provides various functions for tracking processes
|
|
16
|
-
* @param {Route} route The route this StatusManger belongs to.
|
|
17
|
-
* @param {InternalExecutionSettings} settings The ExecutionSettings for this route.
|
|
18
|
-
* @param {InternalUpdateRouteCallback} internalUpdateRouteCallback Internal callback to propage route changes.
|
|
19
|
-
* @returns {StatusManager} An instance of StatusManager.
|
|
20
|
-
*/
|
|
21
|
-
export declare class StatusManager {
|
|
22
|
-
private readonly route;
|
|
23
|
-
private readonly settings;
|
|
24
|
-
private readonly internalUpdateRouteCallback;
|
|
25
|
-
private shouldUpdate;
|
|
26
|
-
constructor(route: Route, settings: InternalExecutionSettings, internalUpdateRouteCallback: InternalUpdateRouteCallback);
|
|
27
|
-
/**
|
|
28
|
-
* Initializes the execution object of a Step.
|
|
29
|
-
* @param step The current step in execution
|
|
30
|
-
* @returns The initialized execution object for this step and a function to update this step
|
|
31
|
-
*/
|
|
32
|
-
initExecutionObject: (step: LifiStep) => Execution;
|
|
33
|
-
/**
|
|
34
|
-
* Updates the execution object of a Step.
|
|
35
|
-
* @param step The current step in execution
|
|
36
|
-
* @param status The status for the execution
|
|
37
|
-
* @param receipt Optional. Information about received tokens
|
|
38
|
-
* @returns The step with the updated execution object
|
|
39
|
-
*/
|
|
40
|
-
updateExecution(step: LifiStep, status: Status, receipt?: Receipt): LifiStep;
|
|
41
|
-
/**
|
|
42
|
-
* Create and push a new process into the execution.
|
|
43
|
-
* @param step The step that should contain the new process.
|
|
44
|
-
* @param type Type of the process. Used to identify already existing processes.
|
|
45
|
-
* @param status By default created procces is set to the STARTED status. We can override new process with the needed status.
|
|
46
|
-
* @returns Returns process.
|
|
47
|
-
*/
|
|
48
|
-
findOrCreateProcess: (step: LifiStep, type: ProcessType, status?: Status) => Process;
|
|
49
|
-
/**
|
|
50
|
-
* Update a process object.
|
|
51
|
-
* @param step The step where the process should be updated
|
|
52
|
-
* @param type The process type to update
|
|
53
|
-
* @param status The status the process gets.
|
|
54
|
-
* @param [params] Additional parameters to append to the process.
|
|
55
|
-
* @returns The update process
|
|
56
|
-
*/
|
|
57
|
-
updateProcess: (step: LifiStep, type: ProcessType, status: Status, params?: OptionalParameters) => Process;
|
|
58
|
-
/**
|
|
59
|
-
* Remove a process from the execution
|
|
60
|
-
* @param step The step where the process should be removed from
|
|
61
|
-
* @param type The process type to remove
|
|
62
|
-
*/
|
|
63
|
-
removeProcess: (step: LifiStep, type: ProcessType) => void;
|
|
64
|
-
updateStepInRoute: (step: LifiStep) => LifiStep;
|
|
65
|
-
allowUpdates(value: boolean): void;
|
|
66
|
-
}
|
|
67
|
-
export {};
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { emptyExecution } from '../types';
|
|
2
|
-
import { getProcessMessage } from './utils';
|
|
3
|
-
/**
|
|
4
|
-
* Manages status updates of a route and provides various functions for tracking processes
|
|
5
|
-
* @param {Route} route The route this StatusManger belongs to.
|
|
6
|
-
* @param {InternalExecutionSettings} settings The ExecutionSettings for this route.
|
|
7
|
-
* @param {InternalUpdateRouteCallback} internalUpdateRouteCallback Internal callback to propage route changes.
|
|
8
|
-
* @returns {StatusManager} An instance of StatusManager.
|
|
9
|
-
*/
|
|
10
|
-
export class StatusManager {
|
|
11
|
-
constructor(route, settings, internalUpdateRouteCallback) {
|
|
12
|
-
this.shouldUpdate = true;
|
|
13
|
-
/**
|
|
14
|
-
* Initializes the execution object of a Step.
|
|
15
|
-
* @param step The current step in execution
|
|
16
|
-
* @returns The initialized execution object for this step and a function to update this step
|
|
17
|
-
*/
|
|
18
|
-
this.initExecutionObject = (step) => {
|
|
19
|
-
const currentExecution = step.execution || structuredClone(emptyExecution);
|
|
20
|
-
if (!step.execution) {
|
|
21
|
-
step.execution = currentExecution;
|
|
22
|
-
step.execution.status = 'PENDING';
|
|
23
|
-
this.updateStepInRoute(step);
|
|
24
|
-
}
|
|
25
|
-
// Change status to PENDING after resuming from FAILED
|
|
26
|
-
if (currentExecution.status === 'FAILED') {
|
|
27
|
-
currentExecution.status = 'PENDING';
|
|
28
|
-
this.updateStepInRoute(step);
|
|
29
|
-
}
|
|
30
|
-
return currentExecution;
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Create and push a new process into the execution.
|
|
34
|
-
* @param step The step that should contain the new process.
|
|
35
|
-
* @param type Type of the process. Used to identify already existing processes.
|
|
36
|
-
* @param status By default created procces is set to the STARTED status. We can override new process with the needed status.
|
|
37
|
-
* @returns Returns process.
|
|
38
|
-
*/
|
|
39
|
-
this.findOrCreateProcess = (step, type, status) => {
|
|
40
|
-
if (!step.execution?.process) {
|
|
41
|
-
throw new Error("Execution hasn't been initialized.");
|
|
42
|
-
}
|
|
43
|
-
const process = step.execution.process.find((p) => p.type === type);
|
|
44
|
-
if (process) {
|
|
45
|
-
if (status && process.status !== status) {
|
|
46
|
-
process.status = status;
|
|
47
|
-
this.updateStepInRoute(step);
|
|
48
|
-
}
|
|
49
|
-
return process;
|
|
50
|
-
}
|
|
51
|
-
const newProcess = {
|
|
52
|
-
type: type,
|
|
53
|
-
startedAt: Date.now(),
|
|
54
|
-
message: getProcessMessage(type, status ?? 'STARTED'),
|
|
55
|
-
status: status ?? 'STARTED',
|
|
56
|
-
};
|
|
57
|
-
step.execution.process.push(newProcess);
|
|
58
|
-
this.updateStepInRoute(step);
|
|
59
|
-
return newProcess;
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* Update a process object.
|
|
63
|
-
* @param step The step where the process should be updated
|
|
64
|
-
* @param type The process type to update
|
|
65
|
-
* @param status The status the process gets.
|
|
66
|
-
* @param [params] Additional parameters to append to the process.
|
|
67
|
-
* @returns The update process
|
|
68
|
-
*/
|
|
69
|
-
this.updateProcess = (step, type, status, params) => {
|
|
70
|
-
if (!step.execution) {
|
|
71
|
-
throw new Error("Can't update an empty step execution.");
|
|
72
|
-
}
|
|
73
|
-
const currentProcess = step?.execution?.process.find((p) => p.type === type);
|
|
74
|
-
if (!currentProcess) {
|
|
75
|
-
throw new Error("Can't find a process for the given type.");
|
|
76
|
-
}
|
|
77
|
-
switch (status) {
|
|
78
|
-
case 'CANCELLED':
|
|
79
|
-
currentProcess.doneAt = Date.now();
|
|
80
|
-
break;
|
|
81
|
-
case 'FAILED':
|
|
82
|
-
currentProcess.doneAt = Date.now();
|
|
83
|
-
step.execution.status = 'FAILED';
|
|
84
|
-
break;
|
|
85
|
-
case 'DONE':
|
|
86
|
-
currentProcess.doneAt = Date.now();
|
|
87
|
-
break;
|
|
88
|
-
case 'PENDING':
|
|
89
|
-
step.execution.status = 'PENDING';
|
|
90
|
-
break;
|
|
91
|
-
case 'ACTION_REQUIRED':
|
|
92
|
-
step.execution.status = 'ACTION_REQUIRED';
|
|
93
|
-
break;
|
|
94
|
-
default:
|
|
95
|
-
break;
|
|
96
|
-
}
|
|
97
|
-
currentProcess.status = status;
|
|
98
|
-
currentProcess.message = getProcessMessage(type, status);
|
|
99
|
-
// set extra parameters or overwritte the standard params set in the switch statement
|
|
100
|
-
if (params) {
|
|
101
|
-
for (const [key, value] of Object.entries(params)) {
|
|
102
|
-
currentProcess[key] = value;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
// Sort processes, the ones with DONE status go first
|
|
106
|
-
step.execution.process = [
|
|
107
|
-
...step?.execution?.process.filter((process) => process.status === 'DONE'),
|
|
108
|
-
...step?.execution?.process.filter((process) => process.status !== 'DONE'),
|
|
109
|
-
];
|
|
110
|
-
this.updateStepInRoute(step); // updates the step in the route
|
|
111
|
-
return currentProcess;
|
|
112
|
-
};
|
|
113
|
-
/**
|
|
114
|
-
* Remove a process from the execution
|
|
115
|
-
* @param step The step where the process should be removed from
|
|
116
|
-
* @param type The process type to remove
|
|
117
|
-
*/
|
|
118
|
-
this.removeProcess = (step, type) => {
|
|
119
|
-
if (!step.execution) {
|
|
120
|
-
throw new Error("Execution hasn't been initialized.");
|
|
121
|
-
}
|
|
122
|
-
const index = step.execution.process.findIndex((p) => p.type === type);
|
|
123
|
-
step.execution.process.splice(index, 1);
|
|
124
|
-
this.updateStepInRoute(step);
|
|
125
|
-
};
|
|
126
|
-
this.updateStepInRoute = (step) => {
|
|
127
|
-
if (!this.shouldUpdate) {
|
|
128
|
-
return step;
|
|
129
|
-
}
|
|
130
|
-
const stepIndex = this.route.steps.findIndex((routeStep) => routeStep.id === step.id);
|
|
131
|
-
if (stepIndex === -1) {
|
|
132
|
-
throw new Error("Couldn't find a step to update.");
|
|
133
|
-
}
|
|
134
|
-
this.route.steps[stepIndex] = Object.assign(this.route.steps[stepIndex], step);
|
|
135
|
-
this.settings.updateRouteHook(this.route);
|
|
136
|
-
this.internalUpdateRouteCallback(this.route);
|
|
137
|
-
return this.route.steps[stepIndex];
|
|
138
|
-
};
|
|
139
|
-
this.route = route;
|
|
140
|
-
this.settings = settings;
|
|
141
|
-
this.internalUpdateRouteCallback = internalUpdateRouteCallback;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Updates the execution object of a Step.
|
|
145
|
-
* @param step The current step in execution
|
|
146
|
-
* @param status The status for the execution
|
|
147
|
-
* @param receipt Optional. Information about received tokens
|
|
148
|
-
* @returns The step with the updated execution object
|
|
149
|
-
*/
|
|
150
|
-
updateExecution(step, status, receipt) {
|
|
151
|
-
if (!step.execution) {
|
|
152
|
-
throw Error("Can't update empty execution.");
|
|
153
|
-
}
|
|
154
|
-
step.execution.status = status;
|
|
155
|
-
if (receipt) {
|
|
156
|
-
step.execution = {
|
|
157
|
-
...step.execution,
|
|
158
|
-
...receipt,
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
this.updateStepInRoute(step);
|
|
162
|
-
return step;
|
|
163
|
-
}
|
|
164
|
-
allowUpdates(value) {
|
|
165
|
-
this.shouldUpdate = value;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { Execution } from '@lifi/types';
|
|
2
|
-
import type { ExecutionParams } from '../types';
|
|
3
|
-
export declare class StepExecutionManager {
|
|
4
|
-
allowUserInteraction: boolean;
|
|
5
|
-
allowInteraction: (value: boolean) => void;
|
|
6
|
-
execute: ({ walletClient, step, statusManager, settings, }: ExecutionParams) => Promise<Execution>;
|
|
7
|
-
}
|