@lifi/sdk 3.0.0-alpha.9 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +40 -98
- 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 -8
- 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/KeypairWalletAdapter.js +88 -0
- package/src/_cjs/core/Solana/KeypairWalletAdapter.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 +200 -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 +168 -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 +34 -0
- package/src/_cjs/createConfig.js.map +1 -0
- package/src/_cjs/helpers.js +50 -0
- package/src/_cjs/helpers.js.map +1 -0
- package/src/_cjs/index.js +30 -0
- package/src/_cjs/index.js.map +1 -0
- package/src/_cjs/package.json +1 -0
- package/{dist/cjs → src/_cjs}/request.js +18 -15
- 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 → src/_cjs}/types/internal.js +1 -0
- package/src/_cjs/types/internal.js.map +1 -0
- package/src/_cjs/utils/base64ToUint8Array.js +14 -0
- package/src/_cjs/utils/base64ToUint8Array.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 +6 -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/KeypairWalletAdapter.js +92 -0
- package/src/_esm/core/Solana/KeypairWalletAdapter.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 +214 -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 +204 -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 +19 -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 +6 -4
- 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 +30 -0
- package/src/_esm/createConfig.js.map +1 -0
- package/{dist → src/_esm}/helpers.js +6 -30
- package/src/_esm/helpers.js.map +1 -0
- package/src/_esm/index.js +17 -0
- package/src/_esm/index.js.map +1 -0
- package/src/_esm/package.json +1 -0
- package/{dist → src/_esm}/request.js +14 -10
- 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/src/_esm/utils/base64ToUint8Array.js +10 -0
- package/src/_esm/utils/base64ToUint8Array.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/execution → src/_types/core/EVM}/switchChain.d.ts +4 -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/KeypairWalletAdapter.d.ts +28 -0
- package/src/_types/core/Solana/KeypairWalletAdapter.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 +11 -0
- package/src/_types/core/Solana/types.d.ts.map +1 -0
- package/{dist/cjs/execution → src/_types/core}/StatusManager.d.ts +14 -28
- package/src/_types/core/StatusManager.d.ts.map +1 -0
- package/{dist/cjs/execution → src/_types/core}/checkBalance.d.ts +1 -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 +5 -3
- 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/{dist/cjs/execution → src/_types/core}/waitForReceivingTransaction.d.ts +2 -1
- 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/cjs → src/_types}/helpers.d.ts +3 -9
- package/src/_types/helpers.d.ts.map +1 -0
- package/src/_types/index.d.ts +18 -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 +1 -0
- 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/{dist → src/_types}/types/internal.d.ts +14 -15
- package/src/_types/types/internal.d.ts.map +1 -0
- package/src/_types/utils/base64ToUint8Array.d.ts +2 -0
- package/src/_types/utils/base64ToUint8Array.d.ts.map +1 -0
- package/{dist/cjs → 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 +2 -4
- 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 +500 -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 +143 -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/KeypairWalletAdapter.ts +100 -0
- package/src/core/Solana/Solana.ts +41 -0
- package/src/core/Solana/SolanaStepExecutor.ts +331 -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 +17 -0
- package/src/core/StatusManager.ts +233 -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 +26 -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 +108 -0
- package/src/core/waitForReceivingTransaction.ts +74 -0
- package/src/createConfig.ts +35 -0
- package/src/helpers.ts +69 -0
- package/src/index.ts +24 -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/base64ToUint8Array.ts +9 -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 -178
- package/dist/LiFi.js +0 -253
- 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 -178
- package/dist/cjs/LiFi.js +0 -283
- 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 -72
- package/dist/cjs/execution/BaseStepExecutor.d.ts +0 -12
- package/dist/cjs/execution/BaseStepExecutor.js +0 -27
- package/dist/cjs/execution/EVMStepExecutor.d.ts +0 -13
- package/dist/cjs/execution/EVMStepExecutor.js +0 -292
- package/dist/cjs/execution/RouteExecutionManager.d.ts +0 -60
- package/dist/cjs/execution/RouteExecutionManager.js +0 -204
- 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/checkAllowance.d.ts +0 -5
- package/dist/cjs/execution/index.d.ts +0 -2
- package/dist/cjs/execution/index.js +0 -18
- package/dist/cjs/execution/multisig.d.ts +0 -4
- package/dist/cjs/execution/prepareRestart.d.ts +0 -2
- package/dist/cjs/execution/prepareRestart.js +0 -65
- package/dist/cjs/execution/stepComparison.d.ts +0 -15
- package/dist/cjs/execution/stepComparison.js +0 -37
- package/dist/cjs/execution/switchChain.d.ts +0 -22
- package/dist/cjs/execution/switchChain.js +0 -55
- package/dist/cjs/execution/types.d.ts +0 -82
- package/dist/cjs/execution/types.js +0 -2
- package/dist/cjs/execution/utils.d.ts +0 -12
- package/dist/cjs/helpers.js +0 -84
- package/dist/cjs/index.d.ts +0 -9
- package/dist/cjs/index.js +0 -30
- package/dist/cjs/providers/EVM.d.ts +0 -10
- package/dist/cjs/providers/EVM.js +0 -34
- package/dist/cjs/providers/Solana.d.ts +0 -9
- package/dist/cjs/providers/Solana.js +0 -38
- package/dist/cjs/providers/index.d.ts +0 -1
- package/dist/cjs/providers/index.js +0 -17
- package/dist/cjs/providers/types.d.ts +0 -12
- package/dist/cjs/providers/types.js +0 -8
- package/dist/cjs/request.d.ts +0 -9
- package/dist/cjs/services/ApiService.d.ts +0 -16
- package/dist/cjs/services/ApiService.js +0 -323
- package/dist/cjs/services/ChainsService.d.ts +0 -11
- package/dist/cjs/services/ChainsService.js +0 -40
- package/dist/cjs/services/ConfigService.d.ts +0 -26
- package/dist/cjs/services/ConfigService.js +0 -104
- package/dist/cjs/types/index.d.ts +0 -2
- package/dist/cjs/types/index.js +0 -18
- package/dist/cjs/types/internal.d.ts +0 -60
- 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 -154
- 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/BaseStepExecutor.d.ts +0 -12
- package/dist/execution/BaseStepExecutor.js +0 -23
- package/dist/execution/EVMStepExecutor.d.ts +0 -13
- package/dist/execution/EVMStepExecutor.js +0 -285
- package/dist/execution/RouteExecutionManager.d.ts +0 -60
- package/dist/execution/RouteExecutionManager.js +0 -200
- package/dist/execution/StatusManager.d.ts +0 -68
- 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/checkAllowance.d.ts +0 -5
- package/dist/execution/checkBalance.d.ts +0 -2
- package/dist/execution/index.d.ts +0 -2
- package/dist/execution/index.js +0 -2
- package/dist/execution/multisig.d.ts +0 -4
- package/dist/execution/prepareRestart.d.ts +0 -2
- package/dist/execution/prepareRestart.js +0 -61
- package/dist/execution/types.d.ts +0 -82
- package/dist/execution/types.js +0 -1
- package/dist/execution/waitForReceivingTransaction.d.ts +0 -3
- package/dist/helpers.d.ts +0 -18
- package/dist/index.d.ts +0 -9
- package/dist/index.js +0 -9
- package/dist/providers/EVM.d.ts +0 -10
- package/dist/providers/EVM.js +0 -29
- package/dist/providers/Solana.d.ts +0 -9
- package/dist/providers/Solana.js +0 -33
- package/dist/providers/index.d.ts +0 -1
- package/dist/providers/index.js +0 -1
- package/dist/providers/types.d.ts +0 -12
- package/dist/providers/types.js +0 -5
- package/dist/services/ApiService.d.ts +0 -16
- 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 -26
- package/dist/services/ConfigService.js +0 -100
- package/dist/typeguards.d.ts +0 -4
- package/dist/types/abi.d.ts +0 -5
- package/dist/types/index.d.ts +0 -2
- package/dist/types/index.js +0 -2
- package/dist/types/internal.js +0 -1
- package/dist/utils/errors.d.ts +0 -107
- 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
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import type { LiFiStep, Process } from '@lifi/types'
|
|
2
|
+
import {
|
|
3
|
+
errorCodes as MetaMaskErrorCodes,
|
|
4
|
+
getMessageFromCode,
|
|
5
|
+
} from 'eth-rpc-errors'
|
|
6
|
+
import { fetchTxErrorDetails } from '../helpers.js'
|
|
7
|
+
import {
|
|
8
|
+
ErrorMessage,
|
|
9
|
+
EthersErrorMessage,
|
|
10
|
+
EthersErrorType,
|
|
11
|
+
LiFiError,
|
|
12
|
+
LiFiErrorCode,
|
|
13
|
+
MetaMaskProviderErrorCode,
|
|
14
|
+
ProviderError,
|
|
15
|
+
RPCError,
|
|
16
|
+
TransactionError,
|
|
17
|
+
UnknownError,
|
|
18
|
+
} from './errors.js'
|
|
19
|
+
import { getTransactionNotSentMessage } from './getTransactionMessage.js'
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Available MetaMask error codes:
|
|
23
|
+
*
|
|
24
|
+
* export const errorCodes: ErrorCodes = {
|
|
25
|
+
rpc: {
|
|
26
|
+
invalidInput: -32000,
|
|
27
|
+
resourceNotFound: -32001,
|
|
28
|
+
resourceUnavailable: -32002,
|
|
29
|
+
transactionRejected: -32003,
|
|
30
|
+
methodNotSupported: -32004,
|
|
31
|
+
limitExceeded: -32005,
|
|
32
|
+
parse: -32700,
|
|
33
|
+
invalidRequest: -32600,
|
|
34
|
+
methodNotFound: -32601,
|
|
35
|
+
invalidParams: -32602,
|
|
36
|
+
internal: -32603,
|
|
37
|
+
},
|
|
38
|
+
provider: {
|
|
39
|
+
userRejectedRequest: 4001,
|
|
40
|
+
unauthorized: 4100,
|
|
41
|
+
unsupportedMethod: 4200,
|
|
42
|
+
disconnected: 4900,
|
|
43
|
+
chainDisconnected: 4901,
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
*
|
|
47
|
+
* For more information about error codes supported by metamask check
|
|
48
|
+
* https://github.com/MetaMask/eth-rpc-errors
|
|
49
|
+
* https://eips.ethereum.org/EIPS/eip-1474#error-codes
|
|
50
|
+
* https://eips.ethereum.org/EIPS/eip-1193#provider-errors
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
export const parseError = async (
|
|
54
|
+
e: any,
|
|
55
|
+
step?: LiFiStep,
|
|
56
|
+
process?: Process
|
|
57
|
+
): Promise<LiFiError> => {
|
|
58
|
+
if (e instanceof LiFiError) {
|
|
59
|
+
return e
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const errorCode = e.code || e.cause?.code
|
|
63
|
+
|
|
64
|
+
switch (errorCode) {
|
|
65
|
+
case EthersErrorType.CallExecption:
|
|
66
|
+
const defaultErrorMessage = await getTransactionNotSentMessage(
|
|
67
|
+
step,
|
|
68
|
+
process
|
|
69
|
+
)
|
|
70
|
+
try {
|
|
71
|
+
if (!step?.action.fromChainId) {
|
|
72
|
+
throw new Error('fromChainId is not defined.')
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const response = await fetchTxErrorDetails(
|
|
76
|
+
e.transactionHash,
|
|
77
|
+
step?.action.fromChainId
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
const errorMessage = response?.error_message ?? e.reason
|
|
81
|
+
|
|
82
|
+
const isAllowanceError =
|
|
83
|
+
response?.error_message?.includes(
|
|
84
|
+
EthersErrorMessage.ERC20Allowance
|
|
85
|
+
) || e.reason?.includes(EthersErrorMessage.ERC20Allowance)
|
|
86
|
+
|
|
87
|
+
if (isAllowanceError) {
|
|
88
|
+
return new TransactionError(
|
|
89
|
+
LiFiErrorCode.AllowanceRequired,
|
|
90
|
+
e.reason,
|
|
91
|
+
errorMessage,
|
|
92
|
+
e.stack
|
|
93
|
+
)
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Error messages other than allowance error will be handled in catch block
|
|
97
|
+
throw new Error(e)
|
|
98
|
+
} catch (error) {
|
|
99
|
+
return new ProviderError(
|
|
100
|
+
LiFiErrorCode.TransactionFailed,
|
|
101
|
+
e.reason,
|
|
102
|
+
defaultErrorMessage,
|
|
103
|
+
e.stack
|
|
104
|
+
)
|
|
105
|
+
}
|
|
106
|
+
case EthersErrorType.InsufficientFunds:
|
|
107
|
+
return new TransactionError(
|
|
108
|
+
LiFiErrorCode.InsufficientFunds,
|
|
109
|
+
e.message,
|
|
110
|
+
await getTransactionNotSentMessage(step, process),
|
|
111
|
+
e.stack
|
|
112
|
+
)
|
|
113
|
+
case EthersErrorType.ActionRejected:
|
|
114
|
+
case MetaMaskProviderErrorCode.userRejectedRequest:
|
|
115
|
+
return new TransactionError(
|
|
116
|
+
LiFiErrorCode.SignatureRejected,
|
|
117
|
+
e.message,
|
|
118
|
+
await getTransactionNotSentMessage(step, process),
|
|
119
|
+
e.stack
|
|
120
|
+
)
|
|
121
|
+
case LiFiErrorCode.TransactionUnprepared:
|
|
122
|
+
return new TransactionError(
|
|
123
|
+
LiFiErrorCode.TransactionUnprepared,
|
|
124
|
+
e.message,
|
|
125
|
+
await getTransactionNotSentMessage(step, process),
|
|
126
|
+
e.stack
|
|
127
|
+
)
|
|
128
|
+
case LiFiErrorCode.ValidationError:
|
|
129
|
+
return new TransactionError(
|
|
130
|
+
LiFiErrorCode.ValidationError,
|
|
131
|
+
e.message,
|
|
132
|
+
e.htmlMessage
|
|
133
|
+
)
|
|
134
|
+
case LiFiErrorCode.TransactionCanceled:
|
|
135
|
+
return new TransactionError(
|
|
136
|
+
LiFiErrorCode.TransactionCanceled,
|
|
137
|
+
e.message,
|
|
138
|
+
e.htmlMessage
|
|
139
|
+
)
|
|
140
|
+
case LiFiErrorCode.ExchangeRateUpdateCanceled:
|
|
141
|
+
return new TransactionError(
|
|
142
|
+
LiFiErrorCode.ExchangeRateUpdateCanceled,
|
|
143
|
+
e.message,
|
|
144
|
+
e.htmlMessage
|
|
145
|
+
)
|
|
146
|
+
case LiFiErrorCode.WalletChangedDuringExecution:
|
|
147
|
+
return new TransactionError(
|
|
148
|
+
LiFiErrorCode.WalletChangedDuringExecution,
|
|
149
|
+
e.message,
|
|
150
|
+
e.htmlMessage
|
|
151
|
+
)
|
|
152
|
+
default: {
|
|
153
|
+
if (errorCode && typeof errorCode === 'number') {
|
|
154
|
+
if (Object.values(MetaMaskErrorCodes.rpc).includes(errorCode as any)) {
|
|
155
|
+
// rpc errors
|
|
156
|
+
// underpriced errors are sent as internal errors, so we need to parse the message manually
|
|
157
|
+
if (
|
|
158
|
+
errorCode === MetaMaskErrorCodes.rpc.internal &&
|
|
159
|
+
(e.message?.includes(EthersErrorMessage.Underpriced) ||
|
|
160
|
+
e.message?.includes(EthersErrorMessage.LowReplacementFee))
|
|
161
|
+
) {
|
|
162
|
+
return new RPCError(
|
|
163
|
+
LiFiErrorCode.TransactionUnderpriced,
|
|
164
|
+
ErrorMessage.TransactionUnderpriced,
|
|
165
|
+
await getTransactionNotSentMessage(step, process),
|
|
166
|
+
e.stack
|
|
167
|
+
)
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (
|
|
171
|
+
e.message?.includes(EthersErrorMessage.LowGas) ||
|
|
172
|
+
e.message?.includes(EthersErrorMessage.OutOfGas)
|
|
173
|
+
) {
|
|
174
|
+
return new TransactionError(
|
|
175
|
+
LiFiErrorCode.GasLimitError,
|
|
176
|
+
ErrorMessage.GasLimitLow,
|
|
177
|
+
await getTransactionNotSentMessage(step, process),
|
|
178
|
+
e.stack
|
|
179
|
+
)
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return new RPCError(
|
|
183
|
+
errorCode,
|
|
184
|
+
getMessageFromCode(errorCode),
|
|
185
|
+
await getTransactionNotSentMessage(step, process),
|
|
186
|
+
e.stack
|
|
187
|
+
)
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// provider errors
|
|
191
|
+
if (
|
|
192
|
+
Object.values(MetaMaskErrorCodes.provider).includes(errorCode as any)
|
|
193
|
+
) {
|
|
194
|
+
return new ProviderError(
|
|
195
|
+
errorCode,
|
|
196
|
+
getMessageFromCode(errorCode),
|
|
197
|
+
await getTransactionNotSentMessage(step, process),
|
|
198
|
+
e.stack
|
|
199
|
+
)
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return new UnknownError(
|
|
203
|
+
LiFiErrorCode.InternalError,
|
|
204
|
+
e.message || ErrorMessage.UnknownError,
|
|
205
|
+
undefined,
|
|
206
|
+
e.stack
|
|
207
|
+
)
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { AddressZero, AlternativeAddressZero } from '../constants.js'
|
|
2
|
+
|
|
3
|
+
export const wait = (ms: number): Promise<undefined> => {
|
|
4
|
+
return new Promise((resolve) => {
|
|
5
|
+
setTimeout(resolve, ms)
|
|
6
|
+
})
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Repeatedly calls a given asynchronous function until it resolves with a value
|
|
11
|
+
* @param toRepeat The function that should be repeated
|
|
12
|
+
* @param timeout The timeout in milliseconds between retries, defaults to 5000
|
|
13
|
+
* @returns The result of the toRepeat function
|
|
14
|
+
*/
|
|
15
|
+
export const repeatUntilDone = async <T>(
|
|
16
|
+
toRepeat: () => Promise<T | undefined>,
|
|
17
|
+
timeout = 5000
|
|
18
|
+
): Promise<T> => {
|
|
19
|
+
let result: T | undefined
|
|
20
|
+
|
|
21
|
+
while (!result) {
|
|
22
|
+
result = await toRepeat()
|
|
23
|
+
if (!result) {
|
|
24
|
+
await wait(timeout)
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return result
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export const isZeroAddress = (address: string): boolean => {
|
|
32
|
+
if (address === AddressZero || address === AlternativeAddressZero) {
|
|
33
|
+
return true
|
|
34
|
+
}
|
|
35
|
+
return false
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export const isNativeTokenAddress = (address: string): boolean => {
|
|
39
|
+
if (
|
|
40
|
+
address === AddressZero ||
|
|
41
|
+
address === AlternativeAddressZero ||
|
|
42
|
+
// CELO native token
|
|
43
|
+
address === '0x471ece3750da237f93b8e339c536989b8978a438'
|
|
44
|
+
) {
|
|
45
|
+
return true
|
|
46
|
+
}
|
|
47
|
+
return false
|
|
48
|
+
}
|
package/src/version.ts
ADDED
package/dist/LiFi.d.ts
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import type { ChainId, ChainKey, ConnectionsRequest, ConnectionsResponse, ContractCallQuoteRequest, ExtendedChain, GasRecommendationRequest, GasRecommendationResponse, GetStatusRequest, LiFiStep, PossibilitiesRequest, PossibilitiesResponse, QuoteRequest, RequestOptions, RoutesRequest, RoutesResponse, StatusResponse, Token, TokenAmount, TokensRequest, TokensResponse, ToolsRequest, ToolsResponse } from '@lifi/types';
|
|
2
|
-
import type { Hash, PublicClient } from 'viem';
|
|
3
|
-
import type { ApproveTokenRequest, RevokeApprovalRequest, TokenAllowance, TokenSpender } from './allowance';
|
|
4
|
-
import { RouteExecutionManager } from './execution/RouteExecutionManager';
|
|
5
|
-
import type { SDKConfig, SDKOptions } from './types';
|
|
6
|
-
export declare class LiFi extends RouteExecutionManager {
|
|
7
|
-
private chainsService;
|
|
8
|
-
constructor(options: SDKOptions);
|
|
9
|
-
/**
|
|
10
|
-
* Get the current configuration of the SDK
|
|
11
|
-
* @returns - The config object
|
|
12
|
-
*/
|
|
13
|
-
getConfig: () => SDKConfig;
|
|
14
|
-
/**
|
|
15
|
-
* Get the SDK configuration after all setup calls are finished
|
|
16
|
-
* @returns - The config object
|
|
17
|
-
*/
|
|
18
|
-
getConfigAsync: () => Promise<SDKConfig>;
|
|
19
|
-
/**
|
|
20
|
-
* Get an instance of a provider for a specific chain
|
|
21
|
-
* @param chainId - Id of the chain the provider is for
|
|
22
|
-
* @returns The public client for the given chain
|
|
23
|
-
*/
|
|
24
|
-
getPublicClient: (chainId: number) => Promise<PublicClient>;
|
|
25
|
-
/**
|
|
26
|
-
* Set a new confuration for the SDK
|
|
27
|
-
* @param configUpdate - An object containing the configuration fields that should be updated.
|
|
28
|
-
* @returns The renewed config object
|
|
29
|
-
*/
|
|
30
|
-
setConfig: (configUpdate: Partial<SDKOptions>) => SDKConfig;
|
|
31
|
-
/**
|
|
32
|
-
* Get a set of current possibilities based on a request that specifies which chains, exchanges and bridges are preferred or unwanted.
|
|
33
|
-
* @param request - Object defining preferences regarding chain, exchanges and bridges
|
|
34
|
-
* @param options - Request options
|
|
35
|
-
* @returns Object listing current possibilities for any-to-any cross-chain-swaps based on the provided preferences.
|
|
36
|
-
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
37
|
-
* @deprecated We don't want to support this endpoint anymore in the future. /chains, /tools, /connections, and /tokens should be used instead
|
|
38
|
-
*/
|
|
39
|
-
getPossibilities: (request?: PossibilitiesRequest, options?: RequestOptions) => Promise<PossibilitiesResponse>;
|
|
40
|
-
/**
|
|
41
|
-
* Fetch information about a Token
|
|
42
|
-
* @param chain - Id or key of the chain that contains the token
|
|
43
|
-
* @param token - Address or symbol of the token on the requested chain
|
|
44
|
-
* @param options - Request options
|
|
45
|
-
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
46
|
-
* @returns Token information
|
|
47
|
-
*/
|
|
48
|
-
getToken: (chain: ChainKey | ChainId, token: string, options?: RequestOptions) => Promise<Token>;
|
|
49
|
-
/**
|
|
50
|
-
* Get a quote for a token transfer
|
|
51
|
-
* @param request - The configuration of the requested quote
|
|
52
|
-
* @param options - Request options
|
|
53
|
-
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
54
|
-
* @returns Quote for a token transfer
|
|
55
|
-
*/
|
|
56
|
-
getQuote: (request: QuoteRequest, options?: RequestOptions) => Promise<LiFiStep>;
|
|
57
|
-
/**
|
|
58
|
-
* Get a quote for a destination contract call
|
|
59
|
-
* @param request - The configuration of the requested destination call
|
|
60
|
-
* @param options - Request options
|
|
61
|
-
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
62
|
-
* @returns - Returns step.
|
|
63
|
-
*/
|
|
64
|
-
getContractCallQuote: (request: ContractCallQuoteRequest, options?: RequestOptions) => Promise<LiFiStep>;
|
|
65
|
-
/**
|
|
66
|
-
* Check the status of a transfer. For cross chain transfers, the "bridge" parameter is required.
|
|
67
|
-
* @param request - Configuration of the requested status
|
|
68
|
-
* @param options - Rrquest options.
|
|
69
|
-
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
70
|
-
* @returns Returns status response.
|
|
71
|
-
*/
|
|
72
|
-
getStatus: (request: GetStatusRequest, options?: RequestOptions) => Promise<StatusResponse>;
|
|
73
|
-
/**
|
|
74
|
-
* Get the available tools to bridge and swap tokens.
|
|
75
|
-
* @param request - The configuration of the requested tools
|
|
76
|
-
* @param options - Request options
|
|
77
|
-
* @returns The tools that are available on the requested chains
|
|
78
|
-
*/
|
|
79
|
-
getTools: (request?: ToolsRequest, options?: RequestOptions) => Promise<ToolsResponse>;
|
|
80
|
-
/**
|
|
81
|
-
* Get all known tokens.
|
|
82
|
-
* @param request - The configuration of the requested tokens
|
|
83
|
-
* @param options - Request options
|
|
84
|
-
* @returns The tokens that are available on the requested chains
|
|
85
|
-
*/
|
|
86
|
-
getTokens: (request?: TokensRequest, options?: RequestOptions) => Promise<TokensResponse>;
|
|
87
|
-
/**
|
|
88
|
-
* Get all available chains
|
|
89
|
-
* @returns A list of all available chains
|
|
90
|
-
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
91
|
-
*/
|
|
92
|
-
getChains: () => Promise<ExtendedChain[]>;
|
|
93
|
-
/**
|
|
94
|
-
* Get a set of routes for a request that describes a transfer of tokens.
|
|
95
|
-
* @param request - A description of the transfer.
|
|
96
|
-
* @param options - Request options
|
|
97
|
-
* @returns The resulting routes that can be used to realize the described transfer of tokens.
|
|
98
|
-
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
99
|
-
*/
|
|
100
|
-
getRoutes: (request: RoutesRequest, options?: RequestOptions) => Promise<RoutesResponse>;
|
|
101
|
-
/**
|
|
102
|
-
* Get the transaction data for a single step of a route
|
|
103
|
-
* @param step - The step object.
|
|
104
|
-
* @param options - Request options
|
|
105
|
-
* @returns The step populated with the transaction data.
|
|
106
|
-
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
107
|
-
*/
|
|
108
|
-
getStepTransaction: (step: LiFiStep, options?: RequestOptions) => Promise<LiFiStep>;
|
|
109
|
-
/**
|
|
110
|
-
* Get gas recommendation for a certain chain
|
|
111
|
-
* @param request - Configuration of the requested recommendation.
|
|
112
|
-
* @param options - Request options
|
|
113
|
-
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
114
|
-
* @returns Gas recommendation response.
|
|
115
|
-
*/
|
|
116
|
-
getGasRecommendation: (request: GasRecommendationRequest, options?: RequestOptions) => Promise<GasRecommendationResponse>;
|
|
117
|
-
/**
|
|
118
|
-
* Returns the balances of a specific token a wallet holds across all aggregated chains.
|
|
119
|
-
* @param walletAddress - A wallet address.
|
|
120
|
-
* @param token - A Token object.
|
|
121
|
-
* @returns An object containing the token and the amounts on different chains.
|
|
122
|
-
* @throws {ValidationError} Throws a ValidationError if parameters are invalid.
|
|
123
|
-
*/
|
|
124
|
-
getTokenBalance: (walletAddress: string, token: Token) => Promise<TokenAmount | null>;
|
|
125
|
-
/**
|
|
126
|
-
* Returns the balances for a list tokens a wallet holds across all aggregated chains.
|
|
127
|
-
* @param walletAddress - A wallet address.
|
|
128
|
-
* @param tokens - A list of Token objects.
|
|
129
|
-
* @returns A list of objects containing the tokens and the amounts on different chains.
|
|
130
|
-
* @throws {ValidationError} Throws a ValidationError if parameters are invalid.
|
|
131
|
-
*/
|
|
132
|
-
getTokenBalances: (walletAddress: string, tokens: Token[]) => Promise<TokenAmount[]>;
|
|
133
|
-
/**
|
|
134
|
-
* This method queries the balances of tokens for a specific list of chains for a given wallet.
|
|
135
|
-
* @param walletAddress - A walletaddress.
|
|
136
|
-
* @param tokensByChain - A list of Token objects organized by chain ids.
|
|
137
|
-
* @returns A list of objects containing the tokens and the amounts on different chains organized by the chosen chains.
|
|
138
|
-
* @throws {ValidationError} Throws a ValidationError if parameters are invalid.
|
|
139
|
-
*/
|
|
140
|
-
getTokenBalancesByChain: (walletAddress: string, tokensByChain: {
|
|
141
|
-
[chainId: number]: Token[];
|
|
142
|
-
}) => Promise<{
|
|
143
|
-
[chainId: number]: TokenAmount[];
|
|
144
|
-
}>;
|
|
145
|
-
/**
|
|
146
|
-
* Get the current allowance for a certain token.
|
|
147
|
-
* @param token - The token that should be checked
|
|
148
|
-
* @param ownerAddress - The owner of the token
|
|
149
|
-
* @param spenderAddress - The spender address that has to be approved
|
|
150
|
-
* @returns Returns allowance
|
|
151
|
-
*/
|
|
152
|
-
getTokenAllowance: (token: Token, ownerAddress: string, spenderAddress: string) => Promise<bigint | undefined>;
|
|
153
|
-
/**
|
|
154
|
-
* Get the current allowance for a list of token/spender address pairs.
|
|
155
|
-
* @param ownerAddress - The owner of the tokens
|
|
156
|
-
* @param tokens - A list of token and spender address pairs
|
|
157
|
-
* @returns Returns array of tokens and their allowance
|
|
158
|
-
*/
|
|
159
|
-
getTokenAllowanceMulticall: (ownerAddress: string, tokens: TokenSpender[]) => Promise<TokenAllowance[]>;
|
|
160
|
-
/**
|
|
161
|
-
* Set approval for a certain token and amount.
|
|
162
|
-
* @param request - The approval request
|
|
163
|
-
* @returns Returns Hash or nothing
|
|
164
|
-
*/
|
|
165
|
-
setTokenApproval: (request: ApproveTokenRequest) => Promise<Hash | undefined>;
|
|
166
|
-
/**
|
|
167
|
-
* Revoke approval for a certain token.
|
|
168
|
-
* @param request - The revoke request
|
|
169
|
-
* @returns Returns Hash or nothing
|
|
170
|
-
*/
|
|
171
|
-
revokeTokenApproval: (request: RevokeApprovalRequest) => Promise<Hash | undefined>;
|
|
172
|
-
/**
|
|
173
|
-
* Get all the available connections for swap/bridging tokens
|
|
174
|
-
* @param connectionRequest ConnectionsRequest
|
|
175
|
-
* @returns ConnectionsResponse
|
|
176
|
-
*/
|
|
177
|
-
getConnections: (connectionRequest: ConnectionsRequest) => Promise<ConnectionsResponse>;
|
|
178
|
-
}
|
package/dist/LiFi.js
DELETED
|
@@ -1,253 +0,0 @@
|
|
|
1
|
-
import { getTokenAllowance, getTokenAllowanceMulticall, revokeTokenApproval, setTokenAllowance, } from './allowance';
|
|
2
|
-
import * as balance from './balance';
|
|
3
|
-
import { getPublicClient } from './connectors';
|
|
4
|
-
import { RouteExecutionManager } from './execution/RouteExecutionManager';
|
|
5
|
-
import { checkPackageUpdates } from './helpers';
|
|
6
|
-
import ApiService from './services/ApiService';
|
|
7
|
-
import { ChainsService } from './services/ChainsService';
|
|
8
|
-
import { isToken } from './typeguards';
|
|
9
|
-
import { ValidationError } from './utils/errors';
|
|
10
|
-
import { name, version } from './version';
|
|
11
|
-
export class LiFi extends RouteExecutionManager {
|
|
12
|
-
constructor(options) {
|
|
13
|
-
super(options);
|
|
14
|
-
/**
|
|
15
|
-
* Get the current configuration of the SDK
|
|
16
|
-
* @returns - The config object
|
|
17
|
-
*/
|
|
18
|
-
this.getConfig = () => {
|
|
19
|
-
return this.configService.getConfig();
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Get the SDK configuration after all setup calls are finished
|
|
23
|
-
* @returns - The config object
|
|
24
|
-
*/
|
|
25
|
-
this.getConfigAsync = () => {
|
|
26
|
-
return this.configService.getConfigAsync();
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Get an instance of a provider for a specific chain
|
|
30
|
-
* @param chainId - Id of the chain the provider is for
|
|
31
|
-
* @returns The public client for the given chain
|
|
32
|
-
*/
|
|
33
|
-
this.getPublicClient = (chainId) => {
|
|
34
|
-
return getPublicClient(chainId);
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Set a new confuration for the SDK
|
|
38
|
-
* @param configUpdate - An object containing the configuration fields that should be updated.
|
|
39
|
-
* @returns The renewed config object
|
|
40
|
-
*/
|
|
41
|
-
this.setConfig = (configUpdate) => {
|
|
42
|
-
return this.configService.updateConfig(configUpdate);
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Get a set of current possibilities based on a request that specifies which chains, exchanges and bridges are preferred or unwanted.
|
|
46
|
-
* @param request - Object defining preferences regarding chain, exchanges and bridges
|
|
47
|
-
* @param options - Request options
|
|
48
|
-
* @returns Object listing current possibilities for any-to-any cross-chain-swaps based on the provided preferences.
|
|
49
|
-
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
50
|
-
* @deprecated We don't want to support this endpoint anymore in the future. /chains, /tools, /connections, and /tokens should be used instead
|
|
51
|
-
*/
|
|
52
|
-
this.getPossibilities = async (request, options) => {
|
|
53
|
-
return ApiService.getPossibilities(request, options);
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* Fetch information about a Token
|
|
57
|
-
* @param chain - Id or key of the chain that contains the token
|
|
58
|
-
* @param token - Address or symbol of the token on the requested chain
|
|
59
|
-
* @param options - Request options
|
|
60
|
-
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
61
|
-
* @returns Token information
|
|
62
|
-
*/
|
|
63
|
-
this.getToken = async (chain, token, options) => {
|
|
64
|
-
return ApiService.getToken(chain, token, options);
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Get a quote for a token transfer
|
|
68
|
-
* @param request - The configuration of the requested quote
|
|
69
|
-
* @param options - Request options
|
|
70
|
-
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
71
|
-
* @returns Quote for a token transfer
|
|
72
|
-
*/
|
|
73
|
-
this.getQuote = async (request, options) => {
|
|
74
|
-
return ApiService.getQuote(request, options);
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* Get a quote for a destination contract call
|
|
78
|
-
* @param request - The configuration of the requested destination call
|
|
79
|
-
* @param options - Request options
|
|
80
|
-
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
81
|
-
* @returns - Returns step.
|
|
82
|
-
*/
|
|
83
|
-
this.getContractCallQuote = async (request, options) => {
|
|
84
|
-
return ApiService.getContractCallQuote(request, options);
|
|
85
|
-
};
|
|
86
|
-
/**
|
|
87
|
-
* Check the status of a transfer. For cross chain transfers, the "bridge" parameter is required.
|
|
88
|
-
* @param request - Configuration of the requested status
|
|
89
|
-
* @param options - Rrquest options.
|
|
90
|
-
* @throws {LiFiError} - Throws a LiFiError if request fails
|
|
91
|
-
* @returns Returns status response.
|
|
92
|
-
*/
|
|
93
|
-
this.getStatus = async (request, options) => {
|
|
94
|
-
return ApiService.getStatus(request, options);
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* Get the available tools to bridge and swap tokens.
|
|
98
|
-
* @param request - The configuration of the requested tools
|
|
99
|
-
* @param options - Request options
|
|
100
|
-
* @returns The tools that are available on the requested chains
|
|
101
|
-
*/
|
|
102
|
-
this.getTools = async (request, options) => {
|
|
103
|
-
return ApiService.getTools(request || {}, options);
|
|
104
|
-
};
|
|
105
|
-
/**
|
|
106
|
-
* Get all known tokens.
|
|
107
|
-
* @param request - The configuration of the requested tokens
|
|
108
|
-
* @param options - Request options
|
|
109
|
-
* @returns The tokens that are available on the requested chains
|
|
110
|
-
*/
|
|
111
|
-
this.getTokens = async (request, options) => {
|
|
112
|
-
return ApiService.getTokens(request || {}, options);
|
|
113
|
-
};
|
|
114
|
-
/**
|
|
115
|
-
* Get all available chains
|
|
116
|
-
* @returns A list of all available chains
|
|
117
|
-
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
118
|
-
*/
|
|
119
|
-
this.getChains = async () => {
|
|
120
|
-
return this.chainsService.getChains();
|
|
121
|
-
};
|
|
122
|
-
/**
|
|
123
|
-
* Get a set of routes for a request that describes a transfer of tokens.
|
|
124
|
-
* @param request - A description of the transfer.
|
|
125
|
-
* @param options - Request options
|
|
126
|
-
* @returns The resulting routes that can be used to realize the described transfer of tokens.
|
|
127
|
-
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
128
|
-
*/
|
|
129
|
-
this.getRoutes = async (request, options) => {
|
|
130
|
-
return ApiService.getRoutes(request, options);
|
|
131
|
-
};
|
|
132
|
-
/**
|
|
133
|
-
* Get the transaction data for a single step of a route
|
|
134
|
-
* @param step - The step object.
|
|
135
|
-
* @param options - Request options
|
|
136
|
-
* @returns The step populated with the transaction data.
|
|
137
|
-
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
138
|
-
*/
|
|
139
|
-
this.getStepTransaction = async (step, options) => {
|
|
140
|
-
return ApiService.getStepTransaction(step, options);
|
|
141
|
-
};
|
|
142
|
-
/**
|
|
143
|
-
* Get gas recommendation for a certain chain
|
|
144
|
-
* @param request - Configuration of the requested recommendation.
|
|
145
|
-
* @param options - Request options
|
|
146
|
-
* @throws {LiFiError} Throws a LiFiError if request fails.
|
|
147
|
-
* @returns Gas recommendation response.
|
|
148
|
-
*/
|
|
149
|
-
this.getGasRecommendation = async (request, options) => {
|
|
150
|
-
return ApiService.getGasRecommendation(request, options);
|
|
151
|
-
};
|
|
152
|
-
/**
|
|
153
|
-
* Returns the balances of a specific token a wallet holds across all aggregated chains.
|
|
154
|
-
* @param walletAddress - A wallet address.
|
|
155
|
-
* @param token - A Token object.
|
|
156
|
-
* @returns An object containing the token and the amounts on different chains.
|
|
157
|
-
* @throws {ValidationError} Throws a ValidationError if parameters are invalid.
|
|
158
|
-
*/
|
|
159
|
-
this.getTokenBalance = async (walletAddress, token) => {
|
|
160
|
-
if (!walletAddress) {
|
|
161
|
-
throw new ValidationError('Missing walletAddress.');
|
|
162
|
-
}
|
|
163
|
-
if (!isToken(token)) {
|
|
164
|
-
throw new ValidationError(`Invalid token passed: address "${token.address}" on chainId "${token.chainId}"`);
|
|
165
|
-
}
|
|
166
|
-
return balance.getTokenBalance(walletAddress, token);
|
|
167
|
-
};
|
|
168
|
-
/**
|
|
169
|
-
* Returns the balances for a list tokens a wallet holds across all aggregated chains.
|
|
170
|
-
* @param walletAddress - A wallet address.
|
|
171
|
-
* @param tokens - A list of Token objects.
|
|
172
|
-
* @returns A list of objects containing the tokens and the amounts on different chains.
|
|
173
|
-
* @throws {ValidationError} Throws a ValidationError if parameters are invalid.
|
|
174
|
-
*/
|
|
175
|
-
this.getTokenBalances = async (walletAddress, tokens) => {
|
|
176
|
-
if (!walletAddress) {
|
|
177
|
-
throw new ValidationError('Missing walletAddress.');
|
|
178
|
-
}
|
|
179
|
-
const invalidTokens = tokens.filter((token) => !isToken(token));
|
|
180
|
-
if (invalidTokens.length) {
|
|
181
|
-
throw new ValidationError(`Invalid token passed: address "${invalidTokens[0].address}" on chainId "${invalidTokens[0].chainId}"`);
|
|
182
|
-
}
|
|
183
|
-
return balance.getTokenBalances(walletAddress, tokens);
|
|
184
|
-
};
|
|
185
|
-
/**
|
|
186
|
-
* This method queries the balances of tokens for a specific list of chains for a given wallet.
|
|
187
|
-
* @param walletAddress - A walletaddress.
|
|
188
|
-
* @param tokensByChain - A list of Token objects organized by chain ids.
|
|
189
|
-
* @returns A list of objects containing the tokens and the amounts on different chains organized by the chosen chains.
|
|
190
|
-
* @throws {ValidationError} Throws a ValidationError if parameters are invalid.
|
|
191
|
-
*/
|
|
192
|
-
this.getTokenBalancesByChain = async (walletAddress, tokensByChain) => {
|
|
193
|
-
if (!walletAddress) {
|
|
194
|
-
throw new ValidationError('Missing walletAddress.');
|
|
195
|
-
}
|
|
196
|
-
const tokenList = Object.values(tokensByChain).flat();
|
|
197
|
-
const invalidTokens = tokenList.filter((token) => !isToken(token));
|
|
198
|
-
if (invalidTokens.length) {
|
|
199
|
-
throw new ValidationError(`Invalid token passed: address "${invalidTokens[0].address}" on chainId "${invalidTokens[0].chainId}"`);
|
|
200
|
-
}
|
|
201
|
-
return balance.getTokenBalancesByChain(walletAddress, tokensByChain);
|
|
202
|
-
};
|
|
203
|
-
/**
|
|
204
|
-
* Get the current allowance for a certain token.
|
|
205
|
-
* @param token - The token that should be checked
|
|
206
|
-
* @param ownerAddress - The owner of the token
|
|
207
|
-
* @param spenderAddress - The spender address that has to be approved
|
|
208
|
-
* @returns Returns allowance
|
|
209
|
-
*/
|
|
210
|
-
this.getTokenAllowance = async (token, ownerAddress, spenderAddress) => {
|
|
211
|
-
return getTokenAllowance(token, ownerAddress, spenderAddress);
|
|
212
|
-
};
|
|
213
|
-
/**
|
|
214
|
-
* Get the current allowance for a list of token/spender address pairs.
|
|
215
|
-
* @param ownerAddress - The owner of the tokens
|
|
216
|
-
* @param tokens - A list of token and spender address pairs
|
|
217
|
-
* @returns Returns array of tokens and their allowance
|
|
218
|
-
*/
|
|
219
|
-
this.getTokenAllowanceMulticall = async (ownerAddress, tokens) => {
|
|
220
|
-
return getTokenAllowanceMulticall(ownerAddress, tokens);
|
|
221
|
-
};
|
|
222
|
-
/**
|
|
223
|
-
* Set approval for a certain token and amount.
|
|
224
|
-
* @param request - The approval request
|
|
225
|
-
* @returns Returns Hash or nothing
|
|
226
|
-
*/
|
|
227
|
-
this.setTokenApproval = (request) => {
|
|
228
|
-
return setTokenAllowance(request);
|
|
229
|
-
};
|
|
230
|
-
/**
|
|
231
|
-
* Revoke approval for a certain token.
|
|
232
|
-
* @param request - The revoke request
|
|
233
|
-
* @returns Returns Hash or nothing
|
|
234
|
-
*/
|
|
235
|
-
this.revokeTokenApproval = (request) => {
|
|
236
|
-
return revokeTokenApproval(request);
|
|
237
|
-
};
|
|
238
|
-
/**
|
|
239
|
-
* Get all the available connections for swap/bridging tokens
|
|
240
|
-
* @param connectionRequest ConnectionsRequest
|
|
241
|
-
* @returns ConnectionsResponse
|
|
242
|
-
*/
|
|
243
|
-
this.getConnections = async (connectionRequest) => {
|
|
244
|
-
const connections = await ApiService.getAvailableConnections(connectionRequest);
|
|
245
|
-
return connections;
|
|
246
|
-
};
|
|
247
|
-
this.chainsService = ChainsService.getInstance();
|
|
248
|
-
this.chainsService.getChains().then((chains) => {
|
|
249
|
-
this.configService.updateChains(chains);
|
|
250
|
-
});
|
|
251
|
-
checkPackageUpdates(name, version, options.disableVersionCheck);
|
|
252
|
-
}
|
|
253
|
-
}
|