@lifi/sdk 3.3.0-alpha.3 → 3.3.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/README.md +2 -2
- package/package.json +5 -8
- package/src/_cjs/config.js +4 -1
- package/src/_cjs/config.js.map +1 -1
- package/src/_cjs/core/EVM/EVM.js +1 -1
- package/src/_cjs/core/EVM/EVMStepExecutor.js +19 -7
- package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -1
- package/src/_cjs/core/EVM/checkAllowance.js +5 -1
- package/src/_cjs/core/EVM/checkAllowance.js.map +1 -1
- package/src/_cjs/core/EVM/getAllowance.js +3 -3
- package/src/_cjs/core/EVM/getAllowance.js.map +1 -1
- package/src/_cjs/core/EVM/getEVMBalance.js +4 -6
- package/src/_cjs/core/EVM/getEVMBalance.js.map +1 -1
- package/src/_cjs/core/EVM/parseEVMErrors.js +3 -3
- package/src/_cjs/core/EVM/parseEVMErrors.js.map +1 -1
- package/src/_cjs/core/EVM/switchChain.js +5 -1
- package/src/_cjs/core/EVM/switchChain.js.map +1 -1
- package/src/_cjs/core/EVM/utils.js +4 -1
- package/src/_cjs/core/EVM/utils.js.map +1 -1
- package/src/_cjs/core/EVM/waitForTransactionReceipt.js +5 -4
- package/src/_cjs/core/EVM/waitForTransactionReceipt.js.map +1 -1
- package/src/_cjs/core/Solana/Solana.js +1 -1
- package/src/_cjs/core/Solana/SolanaStepExecutor.js +14 -6
- package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -1
- package/src/_cjs/core/Solana/connection.js +1 -3
- package/src/_cjs/core/Solana/connection.js.map +1 -1
- package/src/_cjs/core/Solana/getSolanaBalance.js +3 -3
- package/src/_cjs/core/Solana/getSolanaBalance.js.map +1 -1
- package/src/_cjs/core/Solana/isSVMAddress.js +1 -1
- package/src/_cjs/core/Solana/isSVMAddress.js.map +1 -1
- package/src/_cjs/core/Solana/parseSolanaErrors.js +1 -1
- package/src/_cjs/core/Solana/parseSolanaErrors.js.map +1 -1
- package/src/_cjs/core/StatusManager.js +4 -3
- package/src/_cjs/core/StatusManager.js.map +1 -1
- package/src/_cjs/core/UTXO/UTXO.js +1 -1
- package/src/_cjs/core/UTXO/UTXOStepExecutor.js +43 -21
- package/src/_cjs/core/UTXO/UTXOStepExecutor.js.map +1 -1
- package/src/_cjs/core/UTXO/getUTXOBalance.js +3 -3
- package/src/_cjs/core/UTXO/getUTXOBalance.js.map +1 -1
- package/src/_cjs/core/UTXO/getUTXOPublicClient.js +1 -0
- package/src/_cjs/core/UTXO/getUTXOPublicClient.js.map +1 -1
- package/src/_cjs/core/UTXO/isUTXOAddress.js +7 -7
- package/src/_cjs/core/UTXO/isUTXOAddress.js.map +1 -1
- package/src/_cjs/core/UTXO/parseUTXOErrors.js +5 -1
- package/src/_cjs/core/UTXO/parseUTXOErrors.js.map +1 -1
- package/src/_cjs/core/UTXO/utxo-stack/actions/getBlock.js +31 -0
- package/src/_cjs/core/UTXO/utxo-stack/actions/getBlock.js.map +1 -0
- package/src/_cjs/core/UTXO/utxo-stack/actions/getBlockStats.js +27 -0
- package/src/_cjs/core/UTXO/utxo-stack/actions/getBlockStats.js.map +1 -0
- package/src/_cjs/core/UTXO/utxo-stack/actions/getUTXOTransaction.js +18 -9
- package/src/_cjs/core/UTXO/utxo-stack/actions/getUTXOTransaction.js.map +1 -1
- package/src/_cjs/core/UTXO/utxo-stack/actions/waitForTransaction.js +185 -0
- package/src/_cjs/core/UTXO/utxo-stack/actions/waitForTransaction.js.map +1 -0
- package/src/_cjs/core/UTXO/utxo-stack/actions/watchBlockNumber.js +45 -0
- package/src/_cjs/core/UTXO/utxo-stack/actions/watchBlockNumber.js.map +1 -0
- package/src/_cjs/core/UTXO/utxo-stack/decorators/UTXOAPIActions.js.map +1 -1
- package/src/_cjs/core/UTXO/utxo-stack/types/blockStats.js +3 -0
- package/src/_cjs/core/UTXO/utxo-stack/types/blockStats.js.map +1 -0
- package/src/_cjs/core/UTXO/utxo-stack/utils/cancelTransaction.js +51 -0
- package/src/_cjs/core/UTXO/utxo-stack/utils/cancelTransaction.js.map +1 -0
- package/src/_cjs/core/UTXO/utxo-stack/utils/modifyFee.js +50 -0
- package/src/_cjs/core/UTXO/utxo-stack/utils/modifyFee.js.map +1 -0
- package/src/_cjs/core/UTXO/utxo-stack/utils/observe.js +48 -0
- package/src/_cjs/core/UTXO/utxo-stack/utils/observe.js.map +1 -0
- package/src/_cjs/core/UTXO/utxo-stack/utils/poll.js +30 -0
- package/src/_cjs/core/UTXO/utxo-stack/utils/poll.js.map +1 -0
- package/src/_cjs/core/checkBalance.js +2 -7
- package/src/_cjs/core/checkBalance.js.map +1 -1
- package/src/_cjs/core/execution.js.map +1 -1
- package/src/_cjs/core/stepComparison.js +1 -1
- package/src/_cjs/core/waitForReceivingTransaction.js +36 -41
- package/src/_cjs/core/waitForReceivingTransaction.js.map +1 -1
- package/src/_cjs/createConfig.js.map +1 -1
- package/src/_cjs/errors/baseError.js +1 -1
- package/src/_cjs/errors/baseError.js.map +1 -1
- package/src/_cjs/errors/constants.js +1 -0
- package/src/_cjs/errors/constants.js.map +1 -1
- package/src/_cjs/errors/errors.js +1 -1
- package/src/_cjs/errors/errors.js.map +1 -1
- package/src/_cjs/errors/httpError.js +1 -1
- package/src/_cjs/errors/httpError.js.map +1 -1
- package/src/_cjs/helpers.js +3 -3
- package/src/_cjs/helpers.js.map +1 -1
- package/src/_cjs/index.js +67 -11
- package/src/_cjs/index.js.map +1 -1
- package/src/_cjs/request.js +1 -1
- package/src/_cjs/request.js.map +1 -1
- package/src/_cjs/services/api.js +30 -18
- package/src/_cjs/services/api.js.map +1 -1
- package/src/_cjs/services/balance.js +11 -4
- package/src/_cjs/services/balance.js.map +1 -1
- package/src/_cjs/utils/getTransactionMessage.js +3 -4
- package/src/_cjs/utils/getTransactionMessage.js.map +1 -1
- package/src/_cjs/utils/withDedupe.js.map +1 -1
- package/src/_cjs/version.js +1 -1
- package/src/_cjs/version.js.map +1 -1
- package/src/_esm/config.js +4 -1
- package/src/_esm/config.js.map +1 -1
- package/src/_esm/core/EVM/EVM.js +1 -1
- package/src/_esm/core/EVM/EVMStepExecutor.js +18 -6
- package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -1
- package/src/_esm/core/EVM/checkAllowance.js +5 -1
- package/src/_esm/core/EVM/checkAllowance.js.map +1 -1
- package/src/_esm/core/EVM/getAllowance.js +3 -3
- package/src/_esm/core/EVM/getAllowance.js.map +1 -1
- package/src/_esm/core/EVM/getEVMBalance.js +4 -6
- package/src/_esm/core/EVM/getEVMBalance.js.map +1 -1
- package/src/_esm/core/EVM/parseEVMErrors.js +2 -3
- package/src/_esm/core/EVM/parseEVMErrors.js.map +1 -1
- package/src/_esm/core/EVM/publicClient.js +1 -1
- package/src/_esm/core/EVM/publicClient.js.map +1 -1
- package/src/_esm/core/EVM/switchChain.js +5 -1
- package/src/_esm/core/EVM/switchChain.js.map +1 -1
- package/src/_esm/core/EVM/types.js +0 -1
- package/src/_esm/core/EVM/types.js.map +1 -1
- package/src/_esm/core/EVM/utils.js +4 -2
- package/src/_esm/core/EVM/utils.js.map +1 -1
- package/src/_esm/core/EVM/waitForTransactionReceipt.js +3 -2
- package/src/_esm/core/EVM/waitForTransactionReceipt.js.map +1 -1
- package/src/_esm/core/Solana/Solana.js +1 -1
- package/src/_esm/core/Solana/SolanaStepExecutor.js +13 -6
- package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -1
- package/src/_esm/core/Solana/connection.js +1 -3
- package/src/_esm/core/Solana/connection.js.map +1 -1
- package/src/_esm/core/Solana/getSolanaBalance.js +3 -3
- package/src/_esm/core/Solana/getSolanaBalance.js.map +1 -1
- package/src/_esm/core/Solana/isSVMAddress.js +1 -1
- package/src/_esm/core/Solana/isSVMAddress.js.map +1 -1
- package/src/_esm/core/Solana/parseSolanaErrors.js +1 -1
- package/src/_esm/core/Solana/parseSolanaErrors.js.map +1 -1
- package/src/_esm/core/Solana/types.js +0 -1
- package/src/_esm/core/Solana/types.js.map +1 -1
- package/src/_esm/core/StatusManager.js +13 -6
- package/src/_esm/core/StatusManager.js.map +1 -1
- package/src/_esm/core/UTXO/UTXO.js +1 -1
- package/src/_esm/core/UTXO/UTXOStepExecutor.js +44 -38
- package/src/_esm/core/UTXO/UTXOStepExecutor.js.map +1 -1
- package/src/_esm/core/UTXO/getUTXOAPIPublicClient.js.map +1 -1
- package/src/_esm/core/UTXO/getUTXOBalance.js +3 -3
- package/src/_esm/core/UTXO/getUTXOBalance.js.map +1 -1
- package/src/_esm/core/UTXO/getUTXOPublicClient.js +2 -1
- package/src/_esm/core/UTXO/getUTXOPublicClient.js.map +1 -1
- package/src/_esm/core/UTXO/isUTXOAddress.js +7 -7
- package/src/_esm/core/UTXO/isUTXOAddress.js.map +1 -1
- package/src/_esm/core/UTXO/parseUTXOErrors.js +6 -1
- package/src/_esm/core/UTXO/parseUTXOErrors.js.map +1 -1
- package/src/_esm/core/UTXO/types.js +0 -1
- package/src/_esm/core/UTXO/types.js.map +1 -1
- package/src/_esm/core/UTXO/utxo-stack/actions/getBalance.js +0 -1
- package/src/_esm/core/UTXO/utxo-stack/actions/getBalance.js.map +1 -1
- package/src/_esm/core/UTXO/utxo-stack/actions/getBlock.js +28 -0
- package/src/_esm/core/UTXO/utxo-stack/actions/getBlock.js.map +1 -0
- package/src/_esm/core/UTXO/utxo-stack/actions/getBlockCount.js +0 -1
- package/src/_esm/core/UTXO/utxo-stack/actions/getBlockCount.js.map +1 -1
- package/src/_esm/core/UTXO/utxo-stack/actions/getBlockStats.js +24 -0
- package/src/_esm/core/UTXO/utxo-stack/actions/getBlockStats.js.map +1 -0
- package/src/_esm/core/UTXO/utxo-stack/actions/getUTXOTransaction.js +18 -10
- package/src/_esm/core/UTXO/utxo-stack/actions/getUTXOTransaction.js.map +1 -1
- package/src/_esm/core/UTXO/utxo-stack/actions/sendUTXOTransaction.js +0 -1
- package/src/_esm/core/UTXO/utxo-stack/actions/sendUTXOTransaction.js.map +1 -1
- package/src/_esm/core/UTXO/utxo-stack/actions/signPsbt.js +0 -1
- package/src/_esm/core/UTXO/utxo-stack/actions/signPsbt.js.map +1 -1
- package/src/_esm/core/UTXO/utxo-stack/actions/waitForTransaction.js +230 -0
- package/src/_esm/core/UTXO/utxo-stack/actions/waitForTransaction.js.map +1 -0
- package/src/_esm/core/UTXO/utxo-stack/actions/watchBlockNumber.js +58 -0
- package/src/_esm/core/UTXO/utxo-stack/actions/watchBlockNumber.js.map +1 -0
- package/src/_esm/core/UTXO/utxo-stack/decorators/UTXOAPIActions.js.map +1 -1
- package/src/_esm/core/UTXO/utxo-stack/decorators/UTXOActions.js.map +1 -1
- package/src/_esm/core/UTXO/utxo-stack/transports/utxo/getHttpRpcClient.js +1 -1
- package/src/_esm/core/UTXO/utxo-stack/transports/utxo/getHttpRpcClient.js.map +1 -1
- package/src/_esm/core/UTXO/utxo-stack/transports/utxo/utxo.js +1 -1
- package/src/_esm/core/UTXO/utxo-stack/transports/utxo/utxo.js.map +1 -1
- package/src/_esm/core/UTXO/utxo-stack/types/blockStats.js +2 -0
- package/src/_esm/core/UTXO/utxo-stack/types/blockStats.js.map +1 -0
- package/src/_esm/core/UTXO/utxo-stack/utils/cancelTransaction.js +55 -0
- package/src/_esm/core/UTXO/utxo-stack/utils/cancelTransaction.js.map +1 -0
- package/src/_esm/core/UTXO/utxo-stack/utils/modifyFee.js +53 -0
- package/src/_esm/core/UTXO/utxo-stack/utils/modifyFee.js.map +1 -0
- package/src/_esm/core/UTXO/utxo-stack/utils/observe.js +51 -0
- package/src/_esm/core/UTXO/utxo-stack/utils/observe.js.map +1 -0
- package/src/_esm/core/UTXO/utxo-stack/utils/poll.js +30 -0
- package/src/_esm/core/UTXO/utxo-stack/utils/poll.js.map +1 -0
- package/src/_esm/core/checkBalance.js +2 -7
- package/src/_esm/core/checkBalance.js.map +1 -1
- package/src/_esm/core/execution.js.map +1 -1
- package/src/_esm/core/processMessages.js +0 -1
- package/src/_esm/core/processMessages.js.map +1 -1
- package/src/_esm/core/rpc.js +0 -1
- package/src/_esm/core/rpc.js.map +1 -1
- package/src/_esm/core/stepComparison.js +1 -1
- package/src/_esm/core/utils.js +0 -1
- package/src/_esm/core/utils.js.map +1 -1
- package/src/_esm/core/waitForReceivingTransaction.js +36 -41
- package/src/_esm/core/waitForReceivingTransaction.js.map +1 -1
- package/src/_esm/createConfig.js +0 -1
- package/src/_esm/createConfig.js.map +1 -1
- package/src/_esm/errors/SDKError.js +0 -1
- package/src/_esm/errors/SDKError.js.map +1 -1
- package/src/_esm/errors/baseError.js +2 -2
- package/src/_esm/errors/baseError.js.map +1 -1
- package/src/_esm/errors/constants.js +1 -0
- package/src/_esm/errors/constants.js.map +1 -1
- package/src/_esm/errors/errors.js +1 -1
- package/src/_esm/errors/errors.js.map +1 -1
- package/src/_esm/errors/httpError.js +2 -2
- package/src/_esm/errors/httpError.js.map +1 -1
- package/src/_esm/helpers.js +4 -6
- package/src/_esm/helpers.js.map +1 -1
- package/src/_esm/index.js +13 -9
- package/src/_esm/index.js.map +1 -1
- package/src/_esm/request.js +1 -1
- package/src/_esm/request.js.map +1 -1
- package/src/_esm/services/api.js +30 -19
- package/src/_esm/services/api.js.map +1 -1
- package/src/_esm/services/balance.js +11 -4
- package/src/_esm/services/balance.js.map +1 -1
- package/src/_esm/utils/getTransactionMessage.js +3 -4
- package/src/_esm/utils/getTransactionMessage.js.map +1 -1
- package/src/_esm/utils/withDedupe.js +0 -1
- package/src/_esm/utils/withDedupe.js.map +1 -1
- package/src/_esm/version.js +1 -1
- package/src/_esm/version.js.map +1 -1
- package/src/_types/config.d.ts.map +1 -1
- package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -1
- package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -1
- package/src/_types/core/EVM/getEVMBalance.d.ts.map +1 -1
- package/src/_types/core/EVM/parseEVMErrors.d.ts +1 -1
- package/src/_types/core/EVM/parseEVMErrors.d.ts.map +1 -1
- package/src/_types/core/EVM/types.d.ts +1 -1
- package/src/_types/core/EVM/types.d.ts.map +1 -1
- package/src/_types/core/EVM/utils.d.ts +1 -1
- package/src/_types/core/EVM/utils.d.ts.map +1 -1
- package/src/_types/core/EVM/waitForTransactionReceipt.d.ts.map +1 -1
- package/src/_types/core/Solana/SolanaStepExecutor.d.ts +1 -1
- package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -1
- package/src/_types/core/Solana/connection.d.ts.map +1 -1
- package/src/_types/core/Solana/parseSolanaErrors.d.ts.map +1 -1
- package/src/_types/core/Solana/types.d.ts +1 -1
- package/src/_types/core/Solana/types.d.ts.map +1 -1
- package/src/_types/core/StatusManager.d.ts +18 -8
- package/src/_types/core/StatusManager.d.ts.map +1 -1
- package/src/_types/core/UTXO/UTXOStepExecutor.d.ts.map +1 -1
- package/src/_types/core/UTXO/getUTXOAPIPublicClient.d.ts.map +1 -1
- package/src/_types/core/UTXO/getUTXOBalance.d.ts.map +1 -1
- package/src/_types/core/UTXO/getUTXOPublicClient.d.ts.map +1 -1
- package/src/_types/core/UTXO/isUTXOAddress.d.ts.map +1 -1
- package/src/_types/core/UTXO/parseUTXOErrors.d.ts.map +1 -1
- package/src/_types/core/UTXO/types.d.ts +1 -1
- package/src/_types/core/UTXO/types.d.ts.map +1 -1
- package/src/_types/core/UTXO/utxo-stack/actions/getBalance.d.ts +1 -1
- package/src/_types/core/UTXO/utxo-stack/actions/getBalance.d.ts.map +1 -1
- package/src/_types/core/UTXO/utxo-stack/actions/getBlock.d.ts +13 -0
- package/src/_types/core/UTXO/utxo-stack/actions/getBlock.d.ts.map +1 -0
- package/src/_types/core/UTXO/utxo-stack/actions/getBlockCount.d.ts +1 -1
- package/src/_types/core/UTXO/utxo-stack/actions/getBlockCount.d.ts.map +1 -1
- package/src/_types/core/UTXO/utxo-stack/actions/getBlockStats.d.ts +15 -0
- package/src/_types/core/UTXO/utxo-stack/actions/getBlockStats.d.ts.map +1 -0
- package/src/_types/core/UTXO/utxo-stack/actions/getUTXOTransaction.d.ts +2 -2
- package/src/_types/core/UTXO/utxo-stack/actions/getUTXOTransaction.d.ts.map +1 -1
- package/src/_types/core/UTXO/utxo-stack/actions/sendUTXOTransaction.d.ts +2 -2
- package/src/_types/core/UTXO/utxo-stack/actions/sendUTXOTransaction.d.ts.map +1 -1
- package/src/_types/core/UTXO/utxo-stack/actions/signPsbt.d.ts +1 -1
- package/src/_types/core/UTXO/utxo-stack/actions/signPsbt.d.ts.map +1 -1
- package/src/_types/core/UTXO/utxo-stack/actions/waitForTransaction.d.ts +76 -0
- package/src/_types/core/UTXO/utxo-stack/actions/waitForTransaction.d.ts.map +1 -0
- package/src/_types/core/UTXO/utxo-stack/actions/watchBlockNumber.d.ts +26 -0
- package/src/_types/core/UTXO/utxo-stack/actions/watchBlockNumber.d.ts.map +1 -0
- package/src/_types/core/UTXO/utxo-stack/decorators/UTXOAPIActions.d.ts.map +1 -1
- package/src/_types/core/UTXO/utxo-stack/decorators/UTXOActions.d.ts.map +1 -1
- package/src/_types/core/UTXO/utxo-stack/transports/utxo/types.d.ts +16 -0
- package/src/_types/core/UTXO/utxo-stack/transports/utxo/types.d.ts.map +1 -1
- package/src/_types/core/UTXO/utxo-stack/transports/utxo/utxo.d.ts.map +1 -1
- package/src/_types/core/UTXO/utxo-stack/types/blockStats.d.ts +35 -0
- package/src/_types/core/UTXO/utxo-stack/types/blockStats.d.ts.map +1 -0
- package/src/_types/core/UTXO/utxo-stack/utils/cancelTransaction.d.ts +3 -0
- package/src/_types/core/UTXO/utxo-stack/utils/cancelTransaction.d.ts.map +1 -0
- package/src/_types/core/UTXO/utxo-stack/utils/modifyFee.d.ts +3 -0
- package/src/_types/core/UTXO/utxo-stack/utils/modifyFee.d.ts.map +1 -0
- package/src/_types/core/UTXO/utxo-stack/utils/observe.d.ts +19 -0
- package/src/_types/core/UTXO/utxo-stack/utils/observe.d.ts.map +1 -0
- package/src/_types/core/UTXO/utxo-stack/utils/poll.d.ts +13 -0
- package/src/_types/core/UTXO/utxo-stack/utils/poll.d.ts.map +1 -0
- package/src/_types/core/checkBalance.d.ts.map +1 -1
- package/src/_types/core/execution.d.ts.map +1 -1
- package/src/_types/core/processMessages.d.ts +1 -1
- package/src/_types/core/processMessages.d.ts.map +1 -1
- package/src/_types/core/rpc.d.ts +1 -1
- package/src/_types/core/rpc.d.ts.map +1 -1
- package/src/_types/core/utils.d.ts +1 -1
- package/src/_types/core/utils.d.ts.map +1 -1
- package/src/_types/core/waitForReceivingTransaction.d.ts.map +1 -1
- package/src/_types/createConfig.d.ts +1 -1
- package/src/_types/createConfig.d.ts.map +1 -1
- package/src/_types/errors/SDKError.d.ts +1 -1
- package/src/_types/errors/SDKError.d.ts.map +1 -1
- package/src/_types/errors/constants.d.ts +2 -1
- package/src/_types/errors/constants.d.ts.map +1 -1
- package/src/_types/errors/errors.d.ts +1 -1
- package/src/_types/errors/errors.d.ts.map +1 -1
- package/src/_types/errors/httpError.d.ts +1 -1
- package/src/_types/errors/httpError.d.ts.map +1 -1
- package/src/_types/helpers.d.ts +1 -1
- package/src/_types/helpers.d.ts.map +1 -1
- package/src/_types/index.d.ts +15 -9
- package/src/_types/index.d.ts.map +1 -1
- package/src/_types/services/api.d.ts.map +1 -1
- package/src/_types/services/balance.d.ts.map +1 -1
- package/src/_types/types/internal.d.ts +1 -39
- package/src/_types/types/internal.d.ts.map +1 -1
- package/src/_types/utils/getTransactionMessage.d.ts.map +1 -1
- package/src/_types/utils/withDedupe.d.ts.map +1 -1
- package/src/_types/version.d.ts +1 -1
- package/src/_types/version.d.ts.map +1 -1
- package/src/config.ts +4 -1
- package/src/core/EVM/EVM.ts +1 -1
- package/src/core/EVM/EVMStepExecutor.ts +15 -13
- package/src/core/EVM/checkAllowance.ts +4 -3
- package/src/core/EVM/getAllowance.ts +3 -3
- package/src/core/EVM/getEVMBalance.ts +4 -5
- package/src/core/EVM/parseEVMErrors.ts +3 -3
- package/src/core/EVM/publicClient.ts +2 -2
- package/src/core/EVM/switchChain.ts +5 -5
- package/src/core/EVM/types.ts +2 -2
- package/src/core/EVM/utils.ts +5 -5
- package/src/core/EVM/waitForTransactionReceipt.ts +3 -2
- package/src/core/Solana/Solana.ts +1 -1
- package/src/core/Solana/SolanaStepExecutor.ts +13 -12
- package/src/core/Solana/connection.ts +1 -2
- package/src/core/Solana/getSolanaBalance.ts +3 -3
- package/src/core/Solana/isSVMAddress.ts +1 -1
- package/src/core/Solana/parseSolanaErrors.ts +1 -1
- package/src/core/Solana/types.ts +1 -1
- package/src/core/StatusManager.ts +26 -28
- package/src/core/UTXO/UTXO.ts +1 -1
- package/src/core/UTXO/UTXOStepExecutor.ts +59 -56
- package/src/core/UTXO/getUTXOAPIPublicClient.ts +3 -3
- package/src/core/UTXO/getUTXOBalance.ts +3 -4
- package/src/core/UTXO/getUTXOPublicClient.ts +4 -3
- package/src/core/UTXO/isUTXOAddress.ts +10 -11
- package/src/core/UTXO/parseUTXOErrors.ts +12 -1
- package/src/core/UTXO/types.ts +1 -1
- package/src/core/UTXO/utxo-stack/actions/getBalance.ts +1 -1
- package/src/core/UTXO/utxo-stack/actions/getBlock.ts +58 -0
- package/src/core/UTXO/utxo-stack/actions/getBlockCount.ts +1 -1
- package/src/core/UTXO/utxo-stack/actions/getBlockStats.ts +55 -0
- package/src/core/UTXO/utxo-stack/actions/getUTXOTransaction.ts +24 -11
- package/src/core/UTXO/utxo-stack/actions/sendUTXOTransaction.ts +2 -2
- package/src/core/UTXO/utxo-stack/actions/signPsbt.ts +1 -1
- package/src/core/UTXO/utxo-stack/actions/waitForTransaction.ts +387 -0
- package/src/core/UTXO/utxo-stack/actions/watchBlockNumber.ts +105 -0
- package/src/core/UTXO/utxo-stack/decorators/UTXOAPIActions.ts +1 -2
- package/src/core/UTXO/utxo-stack/decorators/UTXOActions.ts +3 -3
- package/src/core/UTXO/utxo-stack/transports/utxo/getHttpRpcClient.ts +1 -1
- package/src/core/UTXO/utxo-stack/transports/utxo/types.ts +16 -0
- package/src/core/UTXO/utxo-stack/transports/utxo/utxo.ts +3 -3
- package/src/core/UTXO/utxo-stack/types/blockStats.ts +35 -0
- package/src/core/UTXO/utxo-stack/utils/cancelTransaction.ts +75 -0
- package/src/core/UTXO/utxo-stack/utils/modifyFee.ts +78 -0
- package/src/core/UTXO/utxo-stack/utils/observe.ts +81 -0
- package/src/core/UTXO/utxo-stack/utils/poll.ts +48 -0
- package/src/core/checkBalance.ts +2 -8
- package/src/core/execution.ts +0 -1
- package/src/core/processMessages.ts +5 -5
- package/src/core/rpc.ts +1 -1
- package/src/core/stepComparison.ts +1 -1
- package/src/core/utils.ts +1 -1
- package/src/core/waitForReceivingTransaction.ts +42 -46
- package/src/createConfig.ts +1 -2
- package/src/errors/SDKError.ts +1 -1
- package/src/errors/baseError.ts +2 -2
- package/src/errors/constants.ts +1 -0
- package/src/errors/errors.ts +1 -1
- package/src/errors/httpError.ts +3 -3
- package/src/helpers.ts +4 -5
- package/src/index.ts +84 -9
- package/src/request.ts +1 -1
- package/src/services/api.ts +29 -33
- package/src/services/balance.ts +13 -4
- package/src/types/internal.ts +1 -40
- package/src/utils/getTransactionMessage.ts +3 -4
- package/src/utils/withDedupe.ts +0 -1
- package/src/version.ts +1 -1
- package/src/_cjs/core/UTXO/blockchairApi.js +0 -169
- package/src/_cjs/core/UTXO/blockchairApi.js.map +0 -1
- package/src/_cjs/core/UTXO/blockchairApiTypes.js +0 -26
- package/src/_cjs/core/UTXO/blockchairApiTypes.js.map +0 -1
- package/src/_cjs/core/UTXO/requestClient.js +0 -63
- package/src/_cjs/core/UTXO/requestClient.js.map +0 -1
- package/src/_cjs/core/index.js +0 -7
- package/src/_cjs/core/index.js.map +0 -1
- package/src/_cjs/errors/index.js +0 -11
- package/src/_cjs/errors/index.js.map +0 -1
- package/src/_cjs/types/index.js +0 -5
- package/src/_cjs/types/index.js.map +0 -1
- package/src/_cjs/utils/index.js +0 -8
- package/src/_cjs/utils/index.js.map +0 -1
- package/src/_esm/core/UTXO/blockchairApi.js +0 -167
- package/src/_esm/core/UTXO/blockchairApi.js.map +0 -1
- package/src/_esm/core/UTXO/blockchairApiTypes.js +0 -23
- package/src/_esm/core/UTXO/blockchairApiTypes.js.map +0 -1
- package/src/_esm/core/UTXO/requestClient.js +0 -59
- package/src/_esm/core/UTXO/requestClient.js.map +0 -1
- package/src/_esm/core/index.js +0 -4
- package/src/_esm/core/index.js.map +0 -1
- package/src/_esm/errors/index.js +0 -8
- package/src/_esm/errors/index.js.map +0 -1
- package/src/_esm/types/index.js +0 -2
- package/src/_esm/types/index.js.map +0 -1
- package/src/_esm/utils/index.js +0 -5
- package/src/_esm/utils/index.js.map +0 -1
- package/src/_types/core/UTXO/blockchairApi.d.ts +0 -37
- package/src/_types/core/UTXO/blockchairApi.d.ts.map +0 -1
- package/src/_types/core/UTXO/blockchairApiTypes.d.ts +0 -229
- package/src/_types/core/UTXO/blockchairApiTypes.d.ts.map +0 -1
- package/src/_types/core/UTXO/requestClient.d.ts +0 -22
- package/src/_types/core/UTXO/requestClient.d.ts.map +0 -1
- package/src/_types/core/index.d.ts +0 -4
- package/src/_types/core/index.d.ts.map +0 -1
- package/src/_types/errors/index.d.ts +0 -8
- package/src/_types/errors/index.d.ts.map +0 -1
- package/src/_types/types/index.d.ts +0 -2
- package/src/_types/types/index.d.ts.map +0 -1
- package/src/_types/utils/index.d.ts +0 -5
- package/src/_types/utils/index.d.ts.map +0 -1
- package/src/core/UTXO/blockchairApi.ts +0 -273
- package/src/core/UTXO/blockchairApiTypes.ts +0 -253
- package/src/core/UTXO/requestClient.ts +0 -84
- package/src/core/index.ts +0 -3
- package/src/errors/index.ts +0 -7
- package/src/types/index.ts +0 -1
- package/src/utils/index.ts +0 -4
package/src/errors/SDKError.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { LiFiStep, Process } from '@lifi/types'
|
|
2
2
|
import { version } from '../version.js'
|
|
3
3
|
import type { BaseError } from './baseError.js'
|
|
4
|
-
import {
|
|
4
|
+
import type { ErrorCode } from './constants.js'
|
|
5
5
|
|
|
6
6
|
// Note: SDKError is used to wrapper and present errors at the top level
|
|
7
7
|
// Where opportunity allows we also add the step and the process related to the error
|
package/src/errors/baseError.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { ErrorCode, ErrorName } from './constants.js'
|
|
|
2
2
|
import { getRootCause } from './utils/rootCause.js'
|
|
3
3
|
|
|
4
4
|
// Note: we use the BaseErrors to capture errors at specific points in the code
|
|
5
|
-
//
|
|
5
|
+
// they can carry addition to help give more context
|
|
6
6
|
export class BaseError extends Error {
|
|
7
7
|
code: ErrorCode
|
|
8
8
|
override cause?: Error
|
|
@@ -15,7 +15,7 @@ export class BaseError extends Error {
|
|
|
15
15
|
this.cause = cause
|
|
16
16
|
|
|
17
17
|
const rootCause = getRootCause(this.cause)
|
|
18
|
-
if (rootCause
|
|
18
|
+
if (rootCause?.stack) {
|
|
19
19
|
this.stack = rootCause.stack
|
|
20
20
|
}
|
|
21
21
|
}
|
package/src/errors/constants.ts
CHANGED
package/src/errors/errors.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ErrorName, LiFiErrorCode } from './constants.js'
|
|
2
1
|
import { BaseError } from './baseError.js'
|
|
2
|
+
import { ErrorName, LiFiErrorCode } from './constants.js'
|
|
3
3
|
|
|
4
4
|
export class RPCError extends BaseError {
|
|
5
5
|
constructor(code: LiFiErrorCode, message: string, cause?: Error) {
|
package/src/errors/httpError.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { UnavailableRoutes } from '@lifi/types'
|
|
2
|
-
import { LiFiErrorCode } from './constants.js'
|
|
3
|
-
import { BaseError } from './baseError.js'
|
|
4
2
|
import type { ExtendedRequestInit } from '../types/request.js'
|
|
5
|
-
import {
|
|
3
|
+
import { BaseError } from './baseError.js'
|
|
4
|
+
import { LiFiErrorCode } from './constants.js'
|
|
5
|
+
import { ErrorMessage, ErrorName } from './constants.js'
|
|
6
6
|
|
|
7
7
|
interface ServerErrorResponseBody {
|
|
8
8
|
code: number
|
package/src/helpers.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ValidationError } from './errors/errors.js'
|
|
1
|
+
import type { LiFiStep, Route } from '@lifi/types'
|
|
3
2
|
import { SDKError } from './errors/SDKError.js'
|
|
4
|
-
import
|
|
3
|
+
import { ValidationError } from './errors/errors.js'
|
|
4
|
+
import { name, version } from './version.js'
|
|
5
5
|
|
|
6
6
|
export const checkPackageUpdates = async (
|
|
7
7
|
packageName?: string,
|
|
@@ -16,11 +16,10 @@ export const checkPackageUpdates = async (
|
|
|
16
16
|
|
|
17
17
|
if (latestVersion > currentVersion) {
|
|
18
18
|
console.warn(
|
|
19
|
-
// eslint-disable-next-line max-len
|
|
20
19
|
`${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`
|
|
21
20
|
)
|
|
22
21
|
}
|
|
23
|
-
} catch (
|
|
22
|
+
} catch (_error) {
|
|
24
23
|
// Cannot verify version, might be network error etc. We don't bother showing anything in that case
|
|
25
24
|
}
|
|
26
25
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// biome-ignore lint/performance/noBarrelFile: module entrypoint
|
|
2
|
+
// biome-ignore lint/performance/noReExportAll: types
|
|
1
3
|
export * from '@lifi/types'
|
|
2
4
|
export { config } from './config.js'
|
|
3
5
|
export { EVM } from './core/EVM/EVM.js'
|
|
@@ -14,7 +16,37 @@ export type {
|
|
|
14
16
|
MultisigTransaction,
|
|
15
17
|
MultisigTxDetails,
|
|
16
18
|
} from './core/EVM/types.js'
|
|
17
|
-
export
|
|
19
|
+
export { StatusManager } from './core/StatusManager.js'
|
|
20
|
+
export {
|
|
21
|
+
executeRoute,
|
|
22
|
+
getActiveRoute,
|
|
23
|
+
getActiveRoutes,
|
|
24
|
+
resumeRoute,
|
|
25
|
+
stopRouteExecution,
|
|
26
|
+
updateRouteExecution,
|
|
27
|
+
} from './core/execution.js'
|
|
28
|
+
export type {
|
|
29
|
+
AcceptExchangeRateUpdateHook,
|
|
30
|
+
AcceptSlippageUpdateHook,
|
|
31
|
+
AcceptSlippageUpdateHookParams,
|
|
32
|
+
ExchangeRateUpdateParams,
|
|
33
|
+
ExecutionOptions,
|
|
34
|
+
InteractionSettings,
|
|
35
|
+
LiFiStepExtended,
|
|
36
|
+
RouteExecutionData,
|
|
37
|
+
RouteExecutionDataDictionary,
|
|
38
|
+
RouteExecutionDictionary,
|
|
39
|
+
RouteExtended,
|
|
40
|
+
SDKProvider,
|
|
41
|
+
StepExecutor,
|
|
42
|
+
StepExecutorOptions,
|
|
43
|
+
StepExtended,
|
|
44
|
+
SwitchChainHook,
|
|
45
|
+
TransactionParameters,
|
|
46
|
+
TransactionRequestParameters,
|
|
47
|
+
TransactionRequestUpdateHook,
|
|
48
|
+
UpdateRouteHook,
|
|
49
|
+
} from './core/types.js'
|
|
18
50
|
export { isSVMAddress } from './core/Solana/isSVMAddress.js'
|
|
19
51
|
export {
|
|
20
52
|
KeypairWalletAdapter,
|
|
@@ -22,13 +54,56 @@ export {
|
|
|
22
54
|
} from './core/Solana/KeypairWalletAdapter.js'
|
|
23
55
|
export { Solana } from './core/Solana/Solana.js'
|
|
24
56
|
export { isUTXOAddress } from './core/UTXO/isUTXOAddress.js'
|
|
25
|
-
export
|
|
57
|
+
export type {
|
|
58
|
+
BtcAccount,
|
|
59
|
+
SignPsbtParameters,
|
|
60
|
+
SignPsbtReturnType,
|
|
61
|
+
UTXOWalletProvider,
|
|
62
|
+
UTXOWalletSchema,
|
|
63
|
+
} from './core/UTXO/utxo-stack/clients/types.js'
|
|
26
64
|
export { UTXO } from './core/UTXO/UTXO.js'
|
|
27
65
|
export { createConfig } from './createConfig.js'
|
|
28
|
-
export
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
export
|
|
34
|
-
|
|
66
|
+
export {
|
|
67
|
+
checkPackageUpdates,
|
|
68
|
+
convertQuoteToRoute,
|
|
69
|
+
fetchTxErrorDetails,
|
|
70
|
+
} from './helpers.js'
|
|
71
|
+
export {
|
|
72
|
+
getChains,
|
|
73
|
+
getConnections,
|
|
74
|
+
getContractCallsQuote,
|
|
75
|
+
getGasRecommendation,
|
|
76
|
+
getQuote,
|
|
77
|
+
getRoutes,
|
|
78
|
+
getStatus,
|
|
79
|
+
getStepTransaction,
|
|
80
|
+
getToken,
|
|
81
|
+
getTokens,
|
|
82
|
+
getTools,
|
|
83
|
+
getTransactionHistory,
|
|
84
|
+
} from './services/api.js'
|
|
85
|
+
export {
|
|
86
|
+
getTokenBalance,
|
|
87
|
+
getTokenBalances,
|
|
88
|
+
getTokenBalancesByChain,
|
|
89
|
+
} from './services/balance.js'
|
|
90
|
+
export { getNameServiceAddress } from './services/getNameServiceAddress.js'
|
|
91
|
+
export type { RPCUrls, SDKBaseConfig, SDKConfig } from './types/internal.js'
|
|
92
|
+
export { BaseError } from './errors/baseError.js'
|
|
93
|
+
export {
|
|
94
|
+
ErrorMessage,
|
|
95
|
+
ErrorName,
|
|
96
|
+
LiFiErrorCode,
|
|
97
|
+
} from './errors/constants.js'
|
|
98
|
+
export type { ErrorCode } from './errors/constants.js'
|
|
99
|
+
export {
|
|
100
|
+
BalanceError,
|
|
101
|
+
ProviderError,
|
|
102
|
+
RPCError,
|
|
103
|
+
ServerError,
|
|
104
|
+
TransactionError,
|
|
105
|
+
UnknownError,
|
|
106
|
+
ValidationError,
|
|
107
|
+
} from './errors/errors.js'
|
|
108
|
+
export { HTTPError } from './errors/httpError.js'
|
|
109
|
+
export { SDKError } from './errors/SDKError.js'
|
package/src/request.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { config } from './config.js'
|
|
2
|
+
import { SDKError } from './errors/SDKError.js'
|
|
2
3
|
import { ValidationError } from './errors/errors.js'
|
|
3
4
|
import { HTTPError } from './errors/httpError.js'
|
|
4
|
-
import { SDKError } from './errors/SDKError.js'
|
|
5
5
|
import type { ExtendedRequestInit } from './types/request.js'
|
|
6
6
|
import { sleep } from './utils/sleep.js'
|
|
7
7
|
import { version } from './version.js'
|
package/src/services/api.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import {
|
|
2
|
-
isContractCallsRequestWithFromAmount,
|
|
3
|
-
isContractCallsRequestWithToAmount,
|
|
4
2
|
type ChainId,
|
|
5
3
|
type ChainKey,
|
|
6
4
|
type ChainsRequest,
|
|
@@ -25,10 +23,12 @@ import {
|
|
|
25
23
|
type ToolsResponse,
|
|
26
24
|
type TransactionAnalyticsRequest,
|
|
27
25
|
type TransactionAnalyticsResponse,
|
|
26
|
+
isContractCallsRequestWithFromAmount,
|
|
27
|
+
isContractCallsRequestWithToAmount,
|
|
28
28
|
} from '@lifi/types'
|
|
29
29
|
import { config } from '../config.js'
|
|
30
|
-
import { ValidationError } from '../errors/errors.js'
|
|
31
30
|
import { SDKError } from '../errors/SDKError.js'
|
|
31
|
+
import { ValidationError } from '../errors/errors.js'
|
|
32
32
|
import { request } from '../request.js'
|
|
33
33
|
import { isRoutesRequest, isStep } from '../typeguards.js'
|
|
34
34
|
import { withDedupe } from '../utils/withDedupe.js'
|
|
@@ -85,7 +85,7 @@ export const getQuote = async (
|
|
|
85
85
|
'toChain',
|
|
86
86
|
'toToken',
|
|
87
87
|
]
|
|
88
|
-
|
|
88
|
+
for (const requiredParameter of requiredParameters) {
|
|
89
89
|
if (!params[requiredParameter]) {
|
|
90
90
|
throw new SDKError(
|
|
91
91
|
new ValidationError(
|
|
@@ -93,7 +93,7 @@ export const getQuote = async (
|
|
|
93
93
|
)
|
|
94
94
|
)
|
|
95
95
|
}
|
|
96
|
-
}
|
|
96
|
+
}
|
|
97
97
|
const _config = config.get()
|
|
98
98
|
// apply defaults
|
|
99
99
|
params.integrator ??= _config.integrator
|
|
@@ -108,11 +108,11 @@ export const getQuote = async (
|
|
|
108
108
|
params.denyExchanges ??= _config.routeOptions?.exchanges?.deny
|
|
109
109
|
params.preferExchanges ??= _config.routeOptions?.exchanges?.prefer
|
|
110
110
|
|
|
111
|
-
Object.keys(params)
|
|
112
|
-
(key)
|
|
113
|
-
!params[key as keyof QuoteRequest] &&
|
|
111
|
+
for (const key of Object.keys(params)) {
|
|
112
|
+
if (!params[key as keyof QuoteRequest]) {
|
|
114
113
|
delete params[key as keyof QuoteRequest]
|
|
115
|
-
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
116
|
|
|
117
117
|
return await request<LiFiStep>(
|
|
118
118
|
`${_config.apiUrl}/quote?${new URLSearchParams(
|
|
@@ -144,7 +144,7 @@ export const getContractCallsQuote = async (
|
|
|
144
144
|
'toToken',
|
|
145
145
|
'contractCalls',
|
|
146
146
|
]
|
|
147
|
-
|
|
147
|
+
for (const requiredParameter of requiredParameters) {
|
|
148
148
|
if (!params[requiredParameter]) {
|
|
149
149
|
throw new SDKError(
|
|
150
150
|
new ValidationError(
|
|
@@ -152,9 +152,9 @@ export const getContractCallsQuote = async (
|
|
|
152
152
|
)
|
|
153
153
|
)
|
|
154
154
|
}
|
|
155
|
-
}
|
|
155
|
+
}
|
|
156
156
|
if (
|
|
157
|
-
!isContractCallsRequestWithFromAmount(params)
|
|
157
|
+
!isContractCallsRequestWithFromAmount(params) &&
|
|
158
158
|
!isContractCallsRequestWithToAmount(params)
|
|
159
159
|
) {
|
|
160
160
|
throw new SDKError(
|
|
@@ -226,11 +226,11 @@ export const getChains = async (
|
|
|
226
226
|
options?: RequestOptions
|
|
227
227
|
): Promise<ExtendedChain[]> => {
|
|
228
228
|
if (params) {
|
|
229
|
-
Object.keys(params)
|
|
230
|
-
(key)
|
|
231
|
-
!params[key as keyof ChainsRequest] &&
|
|
229
|
+
for (const key of Object.keys(params)) {
|
|
230
|
+
if (!params[key as keyof ChainsRequest]) {
|
|
232
231
|
delete params[key as keyof ChainsRequest]
|
|
233
|
-
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
234
|
}
|
|
235
235
|
const urlSearchParams = new URLSearchParams(
|
|
236
236
|
params as Record<string, string>
|
|
@@ -293,7 +293,6 @@ export const getStepTransaction = async (
|
|
|
293
293
|
): Promise<LiFiStep> => {
|
|
294
294
|
if (!isStep(step)) {
|
|
295
295
|
// While the validation fails for some users we should not enforce it
|
|
296
|
-
// eslint-disable-next-line no-console
|
|
297
296
|
console.warn('SDK Validation: Invalid Step', step)
|
|
298
297
|
}
|
|
299
298
|
|
|
@@ -321,11 +320,11 @@ export const getTools = async (
|
|
|
321
320
|
options?: RequestOptions
|
|
322
321
|
): Promise<ToolsResponse> => {
|
|
323
322
|
if (params) {
|
|
324
|
-
Object.keys(params)
|
|
325
|
-
(key)
|
|
326
|
-
!params[key as keyof ToolsRequest] &&
|
|
323
|
+
for (const key of Object.keys(params)) {
|
|
324
|
+
if (!params[key as keyof ToolsRequest]) {
|
|
327
325
|
delete params[key as keyof ToolsRequest]
|
|
328
|
-
|
|
326
|
+
}
|
|
327
|
+
}
|
|
329
328
|
}
|
|
330
329
|
return await request<ToolsResponse>(
|
|
331
330
|
`${config.get().apiUrl}/tools?${new URLSearchParams(
|
|
@@ -348,11 +347,11 @@ export const getTokens = async (
|
|
|
348
347
|
options?: RequestOptions
|
|
349
348
|
): Promise<TokensResponse> => {
|
|
350
349
|
if (params) {
|
|
351
|
-
Object.keys(params)
|
|
352
|
-
(key)
|
|
353
|
-
!params[key as keyof TokensRequest] &&
|
|
350
|
+
for (const key of Object.keys(params)) {
|
|
351
|
+
if (!params[key as keyof TokensRequest]) {
|
|
354
352
|
delete params[key as keyof TokensRequest]
|
|
355
|
-
|
|
353
|
+
}
|
|
354
|
+
}
|
|
356
355
|
}
|
|
357
356
|
const urlSearchParams = new URLSearchParams(
|
|
358
357
|
params as Record<string, string>
|
|
@@ -434,18 +433,15 @@ export const getConnections = async (
|
|
|
434
433
|
'denyExchanges',
|
|
435
434
|
'preferExchanges',
|
|
436
435
|
]
|
|
437
|
-
|
|
438
|
-
const connectionRequestArrayParam
|
|
439
|
-
parameter
|
|
440
|
-
] as string[]
|
|
436
|
+
for (const parameter of connectionRequestArrayParams) {
|
|
437
|
+
const connectionRequestArrayParam = connectionRequest[parameter] as string[]
|
|
441
438
|
|
|
442
439
|
if (connectionRequestArrayParam?.length) {
|
|
443
|
-
|
|
440
|
+
for (const value of connectionRequestArrayParam) {
|
|
444
441
|
url.searchParams.append(parameter, value)
|
|
445
|
-
}
|
|
442
|
+
}
|
|
446
443
|
}
|
|
447
|
-
}
|
|
448
|
-
|
|
444
|
+
}
|
|
449
445
|
return await request<ConnectionsResponse>(url, options)
|
|
450
446
|
}
|
|
451
447
|
|
package/src/services/balance.ts
CHANGED
|
@@ -66,13 +66,13 @@ export const getTokenBalancesByChain = async (
|
|
|
66
66
|
const tokenList = Object.values(tokensByChain).flat()
|
|
67
67
|
const invalidTokens = tokenList.filter((token) => !isToken(token))
|
|
68
68
|
if (invalidTokens.length) {
|
|
69
|
-
throw new ValidationError(
|
|
69
|
+
throw new ValidationError('Invalid tokens passed.')
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
const tokenAmountsByChain: { [chainId: number]: TokenAmount[] } = {}
|
|
73
|
-
await Promise.allSettled(
|
|
73
|
+
const tokenAmountsSettled = await Promise.allSettled(
|
|
74
74
|
Object.keys(tokensByChain).map(async (chainIdStr) => {
|
|
75
|
-
const chainId = parseInt(chainIdStr)
|
|
75
|
+
const chainId = Number.parseInt(chainIdStr)
|
|
76
76
|
const chain = await config.getChainById(chainId)
|
|
77
77
|
const tokenAddress = tokensByChain[chainId][0].address
|
|
78
78
|
const provider = config
|
|
@@ -83,7 +83,9 @@ export const getTokenBalancesByChain = async (
|
|
|
83
83
|
: provider.isAddress(tokenAddress)
|
|
84
84
|
)
|
|
85
85
|
if (!provider) {
|
|
86
|
-
throw new Error(
|
|
86
|
+
throw new Error(
|
|
87
|
+
`SDK Token Provider for ${chain.chainType} is not found.`
|
|
88
|
+
)
|
|
87
89
|
}
|
|
88
90
|
const tokenAmounts = await provider.getBalance(
|
|
89
91
|
walletAddress,
|
|
@@ -92,5 +94,12 @@ export const getTokenBalancesByChain = async (
|
|
|
92
94
|
tokenAmountsByChain[chainId] = tokenAmounts
|
|
93
95
|
})
|
|
94
96
|
)
|
|
97
|
+
if (config.get().debug) {
|
|
98
|
+
for (const result of tokenAmountsSettled) {
|
|
99
|
+
if (result.status === 'rejected') {
|
|
100
|
+
console.warn("Couldn't fetch token balance.", result.reason)
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
95
104
|
return tokenAmountsByChain
|
|
96
105
|
}
|
package/src/types/internal.ts
CHANGED
|
@@ -13,6 +13,7 @@ export interface SDKBaseConfig {
|
|
|
13
13
|
disableVersionCheck?: boolean
|
|
14
14
|
widgetVersion?: string
|
|
15
15
|
preloadChains: boolean
|
|
16
|
+
debug: boolean
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
export interface SDKConfig extends Partial<Omit<SDKBaseConfig, 'integrator'>> {
|
|
@@ -20,43 +21,3 @@ export interface SDKConfig extends Partial<Omit<SDKBaseConfig, 'integrator'>> {
|
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
export type RPCUrls = Partial<Record<ChainId, string[]>>
|
|
23
|
-
|
|
24
|
-
export interface TenderlyResponse {
|
|
25
|
-
hash: string
|
|
26
|
-
block_hash: string
|
|
27
|
-
block_number: number
|
|
28
|
-
from: string
|
|
29
|
-
gas: number
|
|
30
|
-
gas_price: number
|
|
31
|
-
gas_fee_cap: number
|
|
32
|
-
gas_tip_cap: number
|
|
33
|
-
cumulative_gas_used: number
|
|
34
|
-
gas_used: number
|
|
35
|
-
effective_gas_price: number
|
|
36
|
-
input: string
|
|
37
|
-
nonce: number
|
|
38
|
-
to: string
|
|
39
|
-
index: number
|
|
40
|
-
value: string
|
|
41
|
-
access_list: unknown
|
|
42
|
-
status: boolean
|
|
43
|
-
addresses: string[]
|
|
44
|
-
contract_ids: string[]
|
|
45
|
-
network_id: string
|
|
46
|
-
timestamp: string
|
|
47
|
-
function_selector: string
|
|
48
|
-
l1_block_number: number
|
|
49
|
-
l1_timestamp: number
|
|
50
|
-
deposit_tx: boolean
|
|
51
|
-
system_tx: boolean
|
|
52
|
-
mint: number
|
|
53
|
-
sig: {
|
|
54
|
-
v: string
|
|
55
|
-
r: string
|
|
56
|
-
s: string
|
|
57
|
-
}
|
|
58
|
-
error_message: string
|
|
59
|
-
method: string
|
|
60
|
-
decoded_input: unknown
|
|
61
|
-
call_trace: unknown
|
|
62
|
-
}
|
|
@@ -23,10 +23,9 @@ export const getTransactionNotSentMessage = async (
|
|
|
23
23
|
", please retry.<br/>If it still doesn't work, it is safe to delete this transfer and start a new one."
|
|
24
24
|
|
|
25
25
|
// add transaction explorer link if available
|
|
26
|
-
transactionNotSend +=
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
: ''
|
|
26
|
+
transactionNotSend += process?.txLink
|
|
27
|
+
? `<br>You can check the failed transaction <a href="${process.txLink}" target="_blank" rel="nofollow noreferrer">here</a>.`
|
|
28
|
+
: ''
|
|
30
29
|
|
|
31
30
|
return transactionNotSend
|
|
32
31
|
}
|
package/src/utils/withDedupe.ts
CHANGED
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/sdk'
|
|
2
|
-
export const version = '3.3.0-
|
|
2
|
+
export const version = '3.3.0-beta.1'
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.blockchairApi = void 0;
|
|
4
|
-
const blockchairApiTypes_js_1 = require("./blockchairApiTypes.js");
|
|
5
|
-
const requestClient_js_1 = require("./requestClient.js");
|
|
6
|
-
const baseUrl = (chain) => `https://api.blockchair.com/${mapChainToBlockchairChain(chain)}`;
|
|
7
|
-
const getDefaultTxFeeByChain = (chain) => {
|
|
8
|
-
switch (chain) {
|
|
9
|
-
case blockchairApiTypes_js_1.Chain.Bitcoin:
|
|
10
|
-
return 5;
|
|
11
|
-
case blockchairApiTypes_js_1.Chain.Dogecoin:
|
|
12
|
-
return 10000;
|
|
13
|
-
case blockchairApiTypes_js_1.Chain.Litecoin:
|
|
14
|
-
return 1;
|
|
15
|
-
default:
|
|
16
|
-
return 2;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
const mapChainToBlockchairChain = (chain) => {
|
|
20
|
-
switch (chain) {
|
|
21
|
-
case blockchairApiTypes_js_1.Chain.BitcoinCash:
|
|
22
|
-
return 'bitcoin-cash';
|
|
23
|
-
case blockchairApiTypes_js_1.Chain.Litecoin:
|
|
24
|
-
return 'litecoin';
|
|
25
|
-
case blockchairApiTypes_js_1.Chain.Dash:
|
|
26
|
-
return 'dash';
|
|
27
|
-
case blockchairApiTypes_js_1.Chain.Dogecoin:
|
|
28
|
-
return 'dogecoin';
|
|
29
|
-
case blockchairApiTypes_js_1.Chain.Polkadot:
|
|
30
|
-
return 'polkadot';
|
|
31
|
-
default:
|
|
32
|
-
return 'bitcoin';
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
const getSuggestedTxFee = async (chain) => {
|
|
36
|
-
try {
|
|
37
|
-
const { feePerKb } = await requestClient_js_1.RequestClient.get(`https://app.bitgo.com/api/v2/${chain.toLowerCase()}/tx/fee`);
|
|
38
|
-
const suggestedFee = feePerKb / 1000;
|
|
39
|
-
return Math.max(suggestedFee, getDefaultTxFeeByChain(chain));
|
|
40
|
-
}
|
|
41
|
-
catch (_error) {
|
|
42
|
-
return getDefaultTxFeeByChain(chain);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
const blockchairRequest = async (url, apiKey) => {
|
|
46
|
-
try {
|
|
47
|
-
const response = await requestClient_js_1.RequestClient.get(url);
|
|
48
|
-
if (!response || response.context.code !== 200) {
|
|
49
|
-
throw new Error(`failed to query ${url}`);
|
|
50
|
-
}
|
|
51
|
-
return response.data;
|
|
52
|
-
}
|
|
53
|
-
catch (error) {
|
|
54
|
-
if (!apiKey) {
|
|
55
|
-
throw error;
|
|
56
|
-
}
|
|
57
|
-
const response = await requestClient_js_1.RequestClient.get(`${url}${apiKey ? `&key=${apiKey}` : ''}`);
|
|
58
|
-
if (!response || response.context.code !== 200) {
|
|
59
|
-
throw new Error(`failed to query ${url}`);
|
|
60
|
-
}
|
|
61
|
-
return response.data;
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
const baseAddressData = {
|
|
65
|
-
utxo: [],
|
|
66
|
-
address: { balance: 0, transaction_count: 0 },
|
|
67
|
-
};
|
|
68
|
-
const getAddressData = async ({ address, chain, apiKey, }) => {
|
|
69
|
-
if (!address) {
|
|
70
|
-
throw new Error('address is required');
|
|
71
|
-
}
|
|
72
|
-
try {
|
|
73
|
-
const response = await blockchairRequest(`${baseUrl(chain)}/dashboards/address/${address}?transaction_details=true`, apiKey);
|
|
74
|
-
return response[address];
|
|
75
|
-
}
|
|
76
|
-
catch (_error) {
|
|
77
|
-
return baseAddressData;
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
const getUnconfirmedBalance = async ({ address, chain, apiKey, }) => {
|
|
81
|
-
const response = await getAddressData({ address, chain, apiKey });
|
|
82
|
-
return response?.address.balance;
|
|
83
|
-
};
|
|
84
|
-
const getConfirmedBalance = async ({ chain, address, apiKey, }) => {
|
|
85
|
-
if (!address) {
|
|
86
|
-
throw new Error('address is required');
|
|
87
|
-
}
|
|
88
|
-
try {
|
|
89
|
-
const response = await blockchairRequest(`${baseUrl(chain)}/addresses/balances?addresses=${address}`, apiKey);
|
|
90
|
-
return response[address] || 0;
|
|
91
|
-
}
|
|
92
|
-
catch (_error) {
|
|
93
|
-
return 0;
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
const getRawTx = async ({ chain, apiKey, txHash, }) => {
|
|
97
|
-
if (!txHash) {
|
|
98
|
-
throw new Error('txHash is required');
|
|
99
|
-
}
|
|
100
|
-
try {
|
|
101
|
-
const rawTxResponse = await blockchairRequest(`${baseUrl(chain)}/raw/transaction/${txHash}`, apiKey);
|
|
102
|
-
return rawTxResponse?.[txHash]?.raw_transaction;
|
|
103
|
-
}
|
|
104
|
-
catch (error) {
|
|
105
|
-
console.error(error);
|
|
106
|
-
return '';
|
|
107
|
-
}
|
|
108
|
-
};
|
|
109
|
-
const getUnspentTxs = async ({ chain, address, apiKey, offset = 0, }) => {
|
|
110
|
-
if (!address) {
|
|
111
|
-
throw new Error('address is required');
|
|
112
|
-
}
|
|
113
|
-
try {
|
|
114
|
-
const response = await blockchairRequest(`${baseUrl(chain)}/outputs?q=is_spent(false),recipient(${address})&limit=100&offset=${offset}`, apiKey);
|
|
115
|
-
const txs = response
|
|
116
|
-
.filter(({ is_spent }) => !is_spent)
|
|
117
|
-
.map(({ script_hex, block_id, transaction_hash, index, value, spending_signature_hex, }) => ({
|
|
118
|
-
hash: transaction_hash,
|
|
119
|
-
index,
|
|
120
|
-
value,
|
|
121
|
-
txHex: spending_signature_hex,
|
|
122
|
-
script_hex,
|
|
123
|
-
is_confirmed: block_id !== -1,
|
|
124
|
-
}));
|
|
125
|
-
if (response.length !== 100) {
|
|
126
|
-
return txs;
|
|
127
|
-
}
|
|
128
|
-
const nextBatch = await getUnspentTxs({
|
|
129
|
-
address,
|
|
130
|
-
chain,
|
|
131
|
-
apiKey,
|
|
132
|
-
offset: response?.[99]?.transaction_id,
|
|
133
|
-
});
|
|
134
|
-
return txs.concat(nextBatch);
|
|
135
|
-
}
|
|
136
|
-
catch (error) {
|
|
137
|
-
console.error(error);
|
|
138
|
-
return [];
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
|
-
const scanUTXOs = async ({ address, chain, apiKey, fetchTxHex = true, }) => {
|
|
142
|
-
const utxos = await getUnspentTxs({ chain, address, apiKey });
|
|
143
|
-
const results = [];
|
|
144
|
-
for (const { hash, index, script_hex, value } of utxos) {
|
|
145
|
-
let txHex;
|
|
146
|
-
if (fetchTxHex) {
|
|
147
|
-
txHex = await getRawTx({ txHash: hash, chain, apiKey });
|
|
148
|
-
}
|
|
149
|
-
results.push({
|
|
150
|
-
address,
|
|
151
|
-
hash,
|
|
152
|
-
index,
|
|
153
|
-
txHex,
|
|
154
|
-
value,
|
|
155
|
-
witnessUtxo: { value, script: Buffer.from(script_hex, 'hex') },
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
return results;
|
|
159
|
-
};
|
|
160
|
-
const blockchairApi = ({ apiKey, chain, }) => ({
|
|
161
|
-
getConfirmedBalance: (address) => getConfirmedBalance({ chain, address, apiKey }),
|
|
162
|
-
getRawTx: (txHash) => getRawTx({ txHash, chain, apiKey }),
|
|
163
|
-
getSuggestedTxFee: () => getSuggestedTxFee(chain),
|
|
164
|
-
getBalance: (address) => getUnconfirmedBalance({ address, chain, apiKey }),
|
|
165
|
-
getAddressData: (address) => getAddressData({ address, chain, apiKey }),
|
|
166
|
-
scanUTXOs: (params) => scanUTXOs({ ...params, chain, apiKey }),
|
|
167
|
-
});
|
|
168
|
-
exports.blockchairApi = blockchairApi;
|
|
169
|
-
//# sourceMappingURL=blockchairApi.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"blockchairApi.js","sourceRoot":"","sources":["../../../core/UTXO/blockchairApi.ts"],"names":[],"mappings":"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"}
|