@bigmi/core 0.7.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_virtual/_rolldown/runtime.js +23 -0
- package/dist/cjs/actions/getBalance.d.ts +14 -9
- package/dist/cjs/actions/getBalance.js +9 -8
- package/dist/cjs/actions/getBalance.js.map +1 -1
- package/dist/cjs/actions/getBlock.d.ts +21 -13
- package/dist/cjs/actions/getBlock.js +30 -28
- package/dist/cjs/actions/getBlock.js.map +1 -1
- package/dist/cjs/actions/getBlockCount.d.ts +12 -7
- package/dist/cjs/actions/getBlockCount.js +9 -8
- package/dist/cjs/actions/getBlockCount.js.map +1 -1
- package/dist/cjs/actions/getBlockStats.d.ts +23 -14
- package/dist/cjs/actions/getBlockStats.js +24 -24
- package/dist/cjs/actions/getBlockStats.js.map +1 -1
- package/dist/cjs/actions/getTransactionFee.d.ts +16 -9
- package/dist/cjs/actions/getTransactionFee.js +9 -8
- package/dist/cjs/actions/getTransactionFee.js.map +1 -1
- package/dist/cjs/actions/getTransactions.d.ts +27 -17
- package/dist/cjs/actions/getTransactions.js +14 -13
- package/dist/cjs/actions/getTransactions.js.map +1 -1
- package/dist/cjs/actions/getUTXOTransaction.d.ts +19 -11
- package/dist/cjs/actions/getUTXOTransaction.js +19 -21
- package/dist/cjs/actions/getUTXOTransaction.js.map +1 -1
- package/dist/cjs/actions/getUTXOs.d.ts +19 -11
- package/dist/cjs/actions/getUTXOs.js +12 -11
- package/dist/cjs/actions/getUTXOs.js.map +1 -1
- package/dist/cjs/actions/getXPubAddresses.d.ts +36 -10
- package/dist/cjs/actions/getXPubAddresses.js +30 -8
- package/dist/cjs/actions/getXPubAddresses.js.map +1 -1
- package/dist/cjs/actions/sendUTXOTransaction.d.ts +18 -10
- package/dist/cjs/actions/sendUTXOTransaction.js +11 -12
- package/dist/cjs/actions/sendUTXOTransaction.js.map +1 -1
- package/dist/cjs/actions/signPsbt.d.ts +11 -6
- package/dist/cjs/actions/signPsbt.js +9 -8
- package/dist/cjs/actions/signPsbt.js.map +1 -1
- package/dist/cjs/actions/waitForTransaction.d.ts +84 -31
- package/dist/cjs/actions/waitForTransaction.js +156 -185
- package/dist/cjs/actions/waitForTransaction.js.map +1 -1
- package/dist/cjs/actions/watchBlockNumber.d.ts +31 -14
- package/dist/cjs/actions/watchBlockNumber.js +48 -43
- package/dist/cjs/actions/watchBlockNumber.js.map +1 -1
- package/dist/cjs/chains/bitcoin.d.ts +7 -24
- package/dist/cjs/chains/bitcoin.js +19 -20
- package/dist/cjs/chains/bitcoin.js.map +1 -1
- package/dist/cjs/chains/defineChain.d.ts +8 -3
- package/dist/cjs/chains/defineChain.js +11 -9
- package/dist/cjs/chains/defineChain.js.map +1 -1
- package/dist/cjs/chains/signet.d.ts +7 -24
- package/dist/cjs/chains/signet.js +20 -23
- package/dist/cjs/chains/signet.js.map +1 -1
- package/dist/cjs/clients/decorators/public.d.ts +28 -23
- package/dist/cjs/clients/decorators/public.js +23 -21
- package/dist/cjs/clients/decorators/public.js.map +1 -1
- package/dist/cjs/clients/decorators/wallet.d.ts +18 -10
- package/dist/cjs/clients/decorators/wallet.js +11 -9
- package/dist/cjs/clients/decorators/wallet.js.map +1 -1
- package/dist/cjs/errors/address.d.ts +14 -7
- package/dist/cjs/errors/address.js +13 -15
- package/dist/cjs/errors/address.js.map +1 -1
- package/dist/cjs/errors/base.d.ts +24 -21
- package/dist/cjs/errors/base.js +38 -50
- package/dist/cjs/errors/base.js.map +1 -1
- package/dist/cjs/errors/block.d.ts +17 -9
- package/dist/cjs/errors/block.js +13 -16
- package/dist/cjs/errors/block.js.map +1 -1
- package/dist/cjs/errors/provider.d.ts +8 -3
- package/dist/cjs/errors/provider.js +11 -13
- package/dist/cjs/errors/provider.js.map +1 -1
- package/dist/cjs/errors/request.d.ts +92 -65
- package/dist/cjs/errors/request.js +65 -67
- package/dist/cjs/errors/request.js.map +1 -1
- package/dist/cjs/errors/rpc.d.ts +58 -20
- package/dist/cjs/errors/rpc.js +74 -47
- package/dist/cjs/errors/rpc.js.map +1 -1
- package/dist/cjs/errors/transaction.d.ts +40 -25
- package/dist/cjs/errors/transaction.js +25 -36
- package/dist/cjs/errors/transaction.js.map +1 -1
- package/dist/cjs/errors/transport.d.ts +39 -27
- package/dist/cjs/errors/transport.js +34 -39
- package/dist/cjs/errors/transport.js.map +1 -1
- package/dist/cjs/errors/utils.d.ts +10 -5
- package/dist/cjs/errors/utils.js +5 -4
- package/dist/cjs/errors/utils.js.map +1 -1
- package/dist/cjs/errors/utxo.d.ts +18 -9
- package/dist/cjs/errors/utxo.js +13 -14
- package/dist/cjs/errors/utxo.js.map +1 -1
- package/dist/cjs/factories/createClient.d.ts +61 -44
- package/dist/cjs/factories/createClient.js +47 -40
- package/dist/cjs/factories/createClient.js.map +1 -1
- package/dist/cjs/factories/createTransport.d.ts +19 -2
- package/dist/cjs/factories/createTransport.js +31 -21
- package/dist/cjs/factories/createTransport.js.map +1 -1
- package/dist/cjs/index.d.ts +71 -83
- package/dist/cjs/index.js +133 -137
- package/dist/cjs/test/utils.d.ts +5 -1
- package/dist/cjs/test/utils.js +8 -9
- package/dist/cjs/test/utils.js.map +1 -1
- package/dist/cjs/transports/__mocks__/getTransactionFee.d.ts +7 -3
- package/dist/cjs/transports/__mocks__/getTransactionFee.js +10 -6
- package/dist/cjs/transports/__mocks__/getTransactionFee.js.map +1 -1
- package/dist/cjs/transports/ankr/ankr.d.ts +9 -5
- package/dist/cjs/transports/ankr/ankr.js +19 -20
- package/dist/cjs/transports/ankr/ankr.js.map +1 -1
- package/dist/cjs/transports/ankr/ankr.types.d.ts +75 -71
- package/dist/cjs/transports/ankr/ankr.types.js +0 -3
- package/dist/cjs/transports/ankr/getBalance.d.ts +7 -2
- package/dist/cjs/transports/ankr/getBalance.js +15 -19
- package/dist/cjs/transports/ankr/getBalance.js.map +1 -1
- package/dist/cjs/transports/ankr/getTransactionFee.d.ts +7 -2
- package/dist/cjs/transports/ankr/getTransactionFee.js +11 -14
- package/dist/cjs/transports/ankr/getTransactionFee.js.map +1 -1
- package/dist/cjs/transports/ankr/getTransactions.d.ts +7 -2
- package/dist/cjs/transports/ankr/getTransactions.js +26 -28
- package/dist/cjs/transports/ankr/getTransactions.js.map +1 -1
- package/dist/cjs/transports/ankr/methods.d.ts +7 -2
- package/dist/cjs/transports/ankr/methods.js +12 -10
- package/dist/cjs/transports/ankr/methods.js.map +1 -1
- package/dist/cjs/transports/ankr/utils.d.ts +8 -3
- package/dist/cjs/transports/ankr/utils.js +26 -25
- package/dist/cjs/transports/ankr/utils.js.map +1 -1
- package/dist/cjs/transports/blockchair/blockchair.d.ts +9 -5
- package/dist/cjs/transports/blockchair/blockchair.js +12 -13
- package/dist/cjs/transports/blockchair/blockchair.js.map +1 -1
- package/dist/cjs/transports/blockchair/blockchair.types.d.ts +128 -124
- package/dist/cjs/transports/blockchair/blockchair.types.js +0 -3
- package/dist/cjs/transports/blockchair/getBalance.d.ts +7 -2
- package/dist/cjs/transports/blockchair/getBalance.js +19 -28
- package/dist/cjs/transports/blockchair/getBalance.js.map +1 -1
- package/dist/cjs/transports/blockchair/getTransactionFee.d.ts +7 -2
- package/dist/cjs/transports/blockchair/getTransactionFee.js +16 -29
- package/dist/cjs/transports/blockchair/getTransactionFee.js.map +1 -1
- package/dist/cjs/transports/blockchair/getUTXOs.d.ts +7 -2
- package/dist/cjs/transports/blockchair/getUTXOs.js +85 -100
- package/dist/cjs/transports/blockchair/getUTXOs.js.map +1 -1
- package/dist/cjs/transports/blockchair/getXPubAddresses.d.ts +7 -2
- package/dist/cjs/transports/blockchair/getXPubAddresses.js +29 -43
- package/dist/cjs/transports/blockchair/getXPubAddresses.js.map +1 -1
- package/dist/cjs/transports/blockchair/methods.d.ts +7 -2
- package/dist/cjs/transports/blockchair/methods.js +14 -12
- package/dist/cjs/transports/blockchair/methods.js.map +1 -1
- package/dist/cjs/transports/blockcypher/blockcypher.d.ts +9 -5
- package/dist/cjs/transports/blockcypher/blockcypher.js +11 -12
- package/dist/cjs/transports/blockcypher/blockcypher.js.map +1 -1
- package/dist/cjs/transports/blockcypher/blockcypher.types.d.ts +69 -65
- package/dist/cjs/transports/blockcypher/blockcypher.types.js +0 -3
- package/dist/cjs/transports/blockcypher/getBalance.d.ts +7 -2
- package/dist/cjs/transports/blockcypher/getBalance.js +16 -23
- package/dist/cjs/transports/blockcypher/getBalance.js.map +1 -1
- package/dist/cjs/transports/blockcypher/getTransactionFee.d.ts +7 -2
- package/dist/cjs/transports/blockcypher/getTransactionFee.js +16 -20
- package/dist/cjs/transports/blockcypher/getTransactionFee.js.map +1 -1
- package/dist/cjs/transports/blockcypher/getUTXOs.d.ts +7 -2
- package/dist/cjs/transports/blockcypher/getUTXOs.js +71 -76
- package/dist/cjs/transports/blockcypher/getUTXOs.js.map +1 -1
- package/dist/cjs/transports/blockcypher/methods.d.ts +7 -2
- package/dist/cjs/transports/blockcypher/methods.js +12 -10
- package/dist/cjs/transports/blockcypher/methods.js.map +1 -1
- package/dist/cjs/transports/blockcypher/utils.d.ts +7 -2
- package/dist/cjs/transports/blockcypher/utils.js +8 -8
- package/dist/cjs/transports/blockcypher/utils.js.map +1 -1
- package/dist/cjs/transports/custom.d.ts +20 -13
- package/dist/cjs/transports/custom.js +19 -14
- package/dist/cjs/transports/custom.js.map +1 -1
- package/dist/cjs/transports/fallback.d.ts +86 -48
- package/dist/cjs/transports/fallback.js +160 -182
- package/dist/cjs/transports/fallback.js.map +1 -1
- package/dist/cjs/transports/getHttpRpcClient.d.ts +30 -25
- package/dist/cjs/transports/getHttpRpcClient.js +74 -94
- package/dist/cjs/transports/getHttpRpcClient.js.map +1 -1
- package/dist/cjs/transports/getRpcProviderMethods.d.ts +8 -4
- package/dist/cjs/transports/getRpcProviderMethods.js +16 -19
- package/dist/cjs/transports/getRpcProviderMethods.js.map +1 -1
- package/dist/cjs/transports/http.d.ts +42 -26
- package/dist/cjs/transports/http.js +70 -76
- package/dist/cjs/transports/http.js.map +1 -1
- package/dist/cjs/transports/mempool/getBalance.d.ts +7 -2
- package/dist/cjs/transports/mempool/getBalance.js +11 -12
- package/dist/cjs/transports/mempool/getBalance.js.map +1 -1
- package/dist/cjs/transports/mempool/getTransactionFee.d.ts +7 -2
- package/dist/cjs/transports/mempool/getTransactionFee.js +10 -11
- package/dist/cjs/transports/mempool/getTransactionFee.js.map +1 -1
- package/dist/cjs/transports/mempool/getTransactions.d.ts +7 -2
- package/dist/cjs/transports/mempool/getTransactions.js +23 -29
- package/dist/cjs/transports/mempool/getTransactions.js.map +1 -1
- package/dist/cjs/transports/mempool/mempool.d.ts +8 -4
- package/dist/cjs/transports/mempool/mempool.js +11 -12
- package/dist/cjs/transports/mempool/mempool.js.map +1 -1
- package/dist/cjs/transports/mempool/mempool.types.d.ts +62 -58
- package/dist/cjs/transports/mempool/mempool.types.js +0 -3
- package/dist/cjs/transports/mempool/methods.d.ts +7 -2
- package/dist/cjs/transports/mempool/methods.js +12 -10
- package/dist/cjs/transports/mempool/methods.js.map +1 -1
- package/dist/cjs/transports/mempool/utils.d.ts +8 -3
- package/dist/cjs/transports/mempool/utils.js +27 -26
- package/dist/cjs/transports/mempool/utils.js.map +1 -1
- package/dist/cjs/transports/types.d.ts +120 -120
- package/dist/cjs/transports/types.js +11 -9
- package/dist/cjs/transports/types.js.map +1 -1
- package/dist/cjs/transports/utxo.d.ts +9 -5
- package/dist/cjs/transports/utxo.js +60 -62
- package/dist/cjs/transports/utxo.js.map +1 -1
- package/dist/cjs/types/account.d.ts +11 -6
- package/dist/cjs/types/account.js +0 -3
- package/dist/cjs/types/address.d.ts +20 -15
- package/dist/cjs/types/address.js +13 -11
- package/dist/cjs/types/address.js.map +1 -1
- package/dist/cjs/types/block.d.ts +23 -1
- package/dist/cjs/types/block.js +0 -3
- package/dist/cjs/types/blockStats.d.ts +37 -33
- package/dist/cjs/types/blockStats.js +0 -3
- package/dist/cjs/types/chain.d.ts +45 -42
- package/dist/cjs/types/chain.js +23 -20
- package/dist/cjs/types/chain.js.map +1 -1
- package/dist/cjs/types/client.d.ts +49 -36
- package/dist/cjs/types/client.js +0 -3
- package/dist/cjs/types/hash.d.ts +5 -1
- package/dist/cjs/types/hash.js +0 -3
- package/dist/cjs/types/request.d.ts +39 -37
- package/dist/cjs/types/request.js +0 -3
- package/dist/cjs/types/rpc.d.ts +28 -28
- package/dist/cjs/types/rpc.js +0 -3
- package/dist/cjs/types/transaction.d.ts +49 -45
- package/dist/cjs/types/transaction.js +0 -3
- package/dist/cjs/types/transport.d.ts +34 -27
- package/dist/cjs/types/transport.js +0 -3
- package/dist/cjs/types/utils.d.ts +60 -35
- package/dist/cjs/types/utils.js +0 -3
- package/dist/cjs/types/xpub.d.ts +13 -8
- package/dist/cjs/types/xpub.js +0 -3
- package/dist/cjs/utils/buildRequest.d.ts +11 -5
- package/dist/cjs/utils/buildRequest.js +68 -97
- package/dist/cjs/utils/buildRequest.js.map +1 -1
- package/dist/cjs/utils/cancelTransaction.d.ts +7 -2
- package/dist/cjs/utils/cancelTransaction.js +37 -48
- package/dist/cjs/utils/cancelTransaction.js.map +1 -1
- package/dist/cjs/utils/converter.d.ts +9 -5
- package/dist/cjs/utils/converter.js +22 -30
- package/dist/cjs/utils/converter.js.map +1 -1
- package/dist/cjs/utils/createBatchScheduler.d.ts +23 -15
- package/dist/cjs/utils/createBatchScheduler.js +53 -52
- package/dist/cjs/utils/createBatchScheduler.js.map +1 -1
- package/dist/cjs/utils/deepEqual.d.ts +6 -1
- package/dist/cjs/utils/deepEqual.js +30 -49
- package/dist/cjs/utils/deepEqual.js.map +1 -1
- package/dist/cjs/utils/getAction.d.ts +21 -9
- package/dist/cjs/utils/getAction.js +17 -12
- package/dist/cjs/utils/getAction.js.map +1 -1
- package/dist/cjs/utils/getAddressInfo.d.ts +9 -4
- package/dist/cjs/utils/getAddressInfo.js +92 -127
- package/dist/cjs/utils/getAddressInfo.js.map +1 -1
- package/dist/cjs/utils/idCache.d.ts +8 -4
- package/dist/cjs/utils/idCache.js +15 -13
- package/dist/cjs/utils/idCache.js.map +1 -1
- package/dist/cjs/utils/isAddress.d.ts +7 -2
- package/dist/cjs/utils/isAddress.js +12 -14
- package/dist/cjs/utils/isAddress.js.map +1 -1
- package/dist/cjs/utils/lru.d.ts +14 -5
- package/dist/cjs/utils/lru.js +31 -27
- package/dist/cjs/utils/lru.js.map +1 -1
- package/dist/cjs/utils/modifyFee.d.ts +7 -2
- package/dist/cjs/utils/modifyFee.js +38 -47
- package/dist/cjs/utils/modifyFee.js.map +1 -1
- package/dist/cjs/utils/observe.d.ts +18 -7
- package/dist/cjs/utils/observe.js +42 -44
- package/dist/cjs/utils/observe.js.map +1 -1
- package/dist/cjs/utils/parseAccount.d.ts +10 -5
- package/dist/cjs/utils/parseAccount.js +10 -7
- package/dist/cjs/utils/parseAccount.js.map +1 -1
- package/dist/cjs/utils/poll.d.ts +19 -7
- package/dist/cjs/utils/poll.js +27 -27
- package/dist/cjs/utils/poll.js.map +1 -1
- package/dist/cjs/utils/retryUntil.d.ts +22 -3
- package/dist/cjs/utils/retryUntil.js +34 -22
- package/dist/cjs/utils/retryUntil.js.map +1 -1
- package/dist/cjs/utils/sleep.d.ts +5 -1
- package/dist/cjs/utils/sleep.js +8 -6
- package/dist/cjs/utils/sleep.js.map +1 -1
- package/dist/cjs/utils/stringify.d.ts +8 -3
- package/dist/cjs/utils/stringify.js +6 -5
- package/dist/cjs/utils/stringify.js.map +1 -1
- package/dist/cjs/utils/uid.d.ts +5 -1
- package/dist/cjs/utils/uid.js +11 -11
- package/dist/cjs/utils/uid.js.map +1 -1
- package/dist/cjs/utils/url.d.ts +5 -1
- package/dist/cjs/utils/url.js +9 -10
- package/dist/cjs/utils/url.js.map +1 -1
- package/dist/cjs/utils/wait.d.ts +5 -1
- package/dist/cjs/utils/wait.js +6 -4
- package/dist/cjs/utils/wait.js.map +1 -1
- package/dist/cjs/utils/withDedupe.d.ts +15 -6
- package/dist/cjs/utils/withDedupe.js +14 -15
- package/dist/cjs/utils/withDedupe.js.map +1 -1
- package/dist/cjs/utils/withResolvers.d.ts +11 -5
- package/dist/cjs/utils/withResolvers.js +16 -10
- package/dist/cjs/utils/withResolvers.js.map +1 -1
- package/dist/cjs/utils/withRetry.d.ts +25 -13
- package/dist/cjs/utils/withRetry.js +29 -28
- package/dist/cjs/utils/withRetry.js.map +1 -1
- package/dist/cjs/utils/withTimeout.d.ts +19 -8
- package/dist/cjs/utils/withTimeout.js +24 -33
- package/dist/cjs/utils/withTimeout.js.map +1 -1
- package/dist/cjs/version.d.ts +6 -2
- package/dist/cjs/version.js +8 -5
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/vite-env.d.js +0 -0
- package/dist/cjs/vite-env.d.ts +1 -0
- package/dist/esm/actions/getBalance.d.ts +14 -10
- package/dist/esm/actions/getBalance.d.ts.map +1 -0
- package/dist/esm/actions/getBalance.js +9 -6
- package/dist/esm/actions/getBalance.js.map +1 -1
- package/dist/esm/actions/getBlock.d.ts +21 -13
- package/dist/esm/actions/getBlock.d.ts.map +1 -0
- package/dist/esm/actions/getBlock.js +29 -26
- package/dist/esm/actions/getBlock.js.map +1 -1
- package/dist/esm/actions/getBlockCount.d.ts +12 -7
- package/dist/esm/actions/getBlockCount.d.ts.map +1 -0
- package/dist/esm/actions/getBlockCount.js +9 -6
- package/dist/esm/actions/getBlockCount.js.map +1 -1
- package/dist/esm/actions/getBlockStats.d.ts +23 -14
- package/dist/esm/actions/getBlockStats.d.ts.map +1 -0
- package/dist/esm/actions/getBlockStats.js +24 -22
- package/dist/esm/actions/getBlockStats.js.map +1 -1
- package/dist/esm/actions/getTransactionFee.d.ts +16 -9
- package/dist/esm/actions/getTransactionFee.d.ts.map +1 -0
- package/dist/esm/actions/getTransactionFee.js +9 -6
- package/dist/esm/actions/getTransactionFee.js.map +1 -1
- package/dist/esm/actions/getTransactions.d.ts +27 -17
- package/dist/esm/actions/getTransactions.d.ts.map +1 -0
- package/dist/esm/actions/getTransactions.js +14 -11
- package/dist/esm/actions/getTransactions.js.map +1 -1
- package/dist/esm/actions/getUTXOTransaction.d.ts +19 -13
- package/dist/esm/actions/getUTXOTransaction.d.ts.map +1 -0
- package/dist/esm/actions/getUTXOTransaction.js +19 -19
- package/dist/esm/actions/getUTXOTransaction.js.map +1 -1
- package/dist/esm/actions/getUTXOs.d.ts +19 -11
- package/dist/esm/actions/getUTXOs.d.ts.map +1 -0
- package/dist/esm/actions/getUTXOs.js +12 -9
- package/dist/esm/actions/getUTXOs.js.map +1 -1
- package/dist/esm/actions/getXPubAddresses.d.ts +35 -31
- package/dist/esm/actions/getXPubAddresses.d.ts.map +1 -0
- package/dist/esm/actions/getXPubAddresses.js +29 -26
- package/dist/esm/actions/getXPubAddresses.js.map +1 -1
- package/dist/esm/actions/sendUTXOTransaction.d.ts +18 -12
- package/dist/esm/actions/sendUTXOTransaction.d.ts.map +1 -0
- package/dist/esm/actions/sendUTXOTransaction.js +11 -10
- package/dist/esm/actions/sendUTXOTransaction.js.map +1 -1
- package/dist/esm/actions/signPsbt.d.ts +11 -6
- package/dist/esm/actions/signPsbt.d.ts.map +1 -0
- package/dist/esm/actions/signPsbt.js +9 -6
- package/dist/esm/actions/signPsbt.js.map +1 -1
- package/dist/esm/actions/waitForTransaction.d.ts +83 -73
- package/dist/esm/actions/waitForTransaction.d.ts.map +1 -0
- package/dist/esm/actions/waitForTransaction.js +153 -229
- package/dist/esm/actions/waitForTransaction.js.map +1 -1
- package/dist/esm/actions/watchBlockNumber.d.ts +30 -24
- package/dist/esm/actions/watchBlockNumber.d.ts.map +1 -0
- package/dist/esm/actions/watchBlockNumber.js +46 -55
- package/dist/esm/actions/watchBlockNumber.js.map +1 -1
- package/dist/esm/chains/bitcoin.d.ts +7 -24
- package/dist/esm/chains/bitcoin.d.ts.map +1 -0
- package/dist/esm/chains/bitcoin.js +19 -17
- package/dist/esm/chains/bitcoin.js.map +1 -1
- package/dist/esm/chains/defineChain.d.ts +8 -3
- package/dist/esm/chains/defineChain.d.ts.map +1 -0
- package/dist/esm/chains/defineChain.js +11 -7
- package/dist/esm/chains/defineChain.js.map +1 -1
- package/dist/esm/chains/signet.d.ts +7 -24
- package/dist/esm/chains/signet.d.ts.map +1 -0
- package/dist/esm/chains/signet.js +20 -20
- package/dist/esm/chains/signet.js.map +1 -1
- package/dist/esm/clients/decorators/public.d.ts +28 -23
- package/dist/esm/clients/decorators/public.d.ts.map +1 -0
- package/dist/esm/clients/decorators/public.js +23 -19
- package/dist/esm/clients/decorators/public.js.map +1 -1
- package/dist/esm/clients/decorators/wallet.d.ts +18 -13
- package/dist/esm/clients/decorators/wallet.d.ts.map +1 -0
- package/dist/esm/clients/decorators/wallet.js +11 -7
- package/dist/esm/clients/decorators/wallet.js.map +1 -1
- package/dist/esm/errors/address.d.ts +14 -7
- package/dist/esm/errors/address.d.ts.map +1 -0
- package/dist/esm/errors/address.js +13 -12
- package/dist/esm/errors/address.js.map +1 -1
- package/dist/esm/errors/base.d.ts +24 -21
- package/dist/esm/errors/base.d.ts.map +1 -0
- package/dist/esm/errors/base.js +37 -46
- package/dist/esm/errors/base.js.map +1 -1
- package/dist/esm/errors/block.d.ts +17 -9
- package/dist/esm/errors/block.d.ts.map +1 -0
- package/dist/esm/errors/block.js +13 -13
- package/dist/esm/errors/block.js.map +1 -1
- package/dist/esm/errors/provider.d.ts +8 -3
- package/dist/esm/errors/provider.d.ts.map +1 -0
- package/dist/esm/errors/provider.js +11 -10
- package/dist/esm/errors/provider.js.map +1 -1
- package/dist/esm/errors/request.d.ts +92 -65
- package/dist/esm/errors/request.d.ts.map +1 -0
- package/dist/esm/errors/request.js +64 -63
- package/dist/esm/errors/request.js.map +1 -1
- package/dist/esm/errors/rpc.d.ts +57 -52
- package/dist/esm/errors/rpc.d.ts.map +1 -0
- package/dist/esm/errors/rpc.js +71 -75
- package/dist/esm/errors/rpc.js.map +1 -1
- package/dist/esm/errors/transaction.d.ts +40 -25
- package/dist/esm/errors/transaction.d.ts.map +1 -0
- package/dist/esm/errors/transaction.js +25 -33
- package/dist/esm/errors/transaction.js.map +1 -1
- package/dist/esm/errors/transport.d.ts +39 -27
- package/dist/esm/errors/transport.d.ts.map +1 -0
- package/dist/esm/errors/transport.js +32 -34
- package/dist/esm/errors/transport.js.map +1 -1
- package/dist/esm/errors/utils.d.ts +10 -5
- package/dist/esm/errors/utils.d.ts.map +1 -0
- package/dist/esm/errors/utils.js +6 -2
- package/dist/esm/errors/utils.js.map +1 -1
- package/dist/esm/errors/utxo.d.ts +18 -9
- package/dist/esm/errors/utxo.d.ts.map +1 -0
- package/dist/esm/errors/utxo.js +13 -11
- package/dist/esm/errors/utxo.js.map +1 -1
- package/dist/esm/factories/createClient.d.ts +60 -78
- package/dist/esm/factories/createClient.d.ts.map +1 -0
- package/dist/esm/factories/createClient.js +46 -41
- package/dist/esm/factories/createClient.js.map +1 -1
- package/dist/esm/factories/createTransport.d.ts +18 -4
- package/dist/esm/factories/createTransport.d.ts.map +1 -0
- package/dist/esm/factories/createTransport.js +29 -20
- package/dist/esm/factories/createTransport.js.map +1 -1
- package/dist/esm/index.d.ts +71 -83
- package/dist/esm/index.js +58 -58
- package/dist/esm/package.json +1 -1
- package/dist/esm/test/utils.d.ts +5 -1
- package/dist/esm/test/utils.d.ts.map +1 -0
- package/dist/esm/test/utils.js +9 -7
- package/dist/esm/test/utils.js.map +1 -1
- package/dist/esm/transports/__mocks__/getTransactionFee.d.ts +7 -3
- package/dist/esm/transports/__mocks__/getTransactionFee.d.ts.map +1 -0
- package/dist/esm/transports/__mocks__/getTransactionFee.js +7 -3
- package/dist/esm/transports/__mocks__/getTransactionFee.js.map +1 -1
- package/dist/esm/transports/ankr/ankr.d.ts +9 -5
- package/dist/esm/transports/ankr/ankr.d.ts.map +1 -0
- package/dist/esm/transports/ankr/ankr.js +20 -18
- package/dist/esm/transports/ankr/ankr.js.map +1 -1
- package/dist/esm/transports/ankr/ankr.types.d.ts +75 -71
- package/dist/esm/transports/ankr/ankr.types.d.ts.map +1 -0
- package/dist/esm/transports/ankr/ankr.types.js +0 -1
- package/dist/esm/transports/ankr/getBalance.d.ts +7 -2
- package/dist/esm/transports/ankr/getBalance.d.ts.map +1 -0
- package/dist/esm/transports/ankr/getBalance.js +16 -17
- package/dist/esm/transports/ankr/getBalance.js.map +1 -1
- package/dist/esm/transports/ankr/getTransactionFee.d.ts +7 -2
- package/dist/esm/transports/ankr/getTransactionFee.d.ts.map +1 -0
- package/dist/esm/transports/ankr/getTransactionFee.js +12 -12
- package/dist/esm/transports/ankr/getTransactionFee.js.map +1 -1
- package/dist/esm/transports/ankr/getTransactions.d.ts +7 -2
- package/dist/esm/transports/ankr/getTransactions.d.ts.map +1 -0
- package/dist/esm/transports/ankr/getTransactions.js +27 -26
- package/dist/esm/transports/ankr/getTransactions.js.map +1 -1
- package/dist/esm/transports/ankr/methods.d.ts +7 -2
- package/dist/esm/transports/ankr/methods.d.ts.map +1 -0
- package/dist/esm/transports/ankr/methods.js +11 -7
- package/dist/esm/transports/ankr/methods.js.map +1 -1
- package/dist/esm/transports/ankr/utils.d.ts +8 -3
- package/dist/esm/transports/ankr/utils.d.ts.map +1 -0
- package/dist/esm/transports/ankr/utils.js +27 -23
- package/dist/esm/transports/ankr/utils.js.map +1 -1
- package/dist/esm/transports/blockchair/blockchair.d.ts +9 -5
- package/dist/esm/transports/blockchair/blockchair.d.ts.map +1 -0
- package/dist/esm/transports/blockchair/blockchair.js +12 -10
- package/dist/esm/transports/blockchair/blockchair.js.map +1 -1
- package/dist/esm/transports/blockchair/blockchair.types.d.ts +128 -124
- package/dist/esm/transports/blockchair/blockchair.types.d.ts.map +1 -0
- package/dist/esm/transports/blockchair/blockchair.types.js +0 -1
- package/dist/esm/transports/blockchair/getBalance.d.ts +7 -2
- package/dist/esm/transports/blockchair/getBalance.d.ts.map +1 -0
- package/dist/esm/transports/blockchair/getBalance.js +20 -26
- package/dist/esm/transports/blockchair/getBalance.js.map +1 -1
- package/dist/esm/transports/blockchair/getTransactionFee.d.ts +7 -2
- package/dist/esm/transports/blockchair/getTransactionFee.d.ts.map +1 -0
- package/dist/esm/transports/blockchair/getTransactionFee.js +17 -27
- package/dist/esm/transports/blockchair/getTransactionFee.js.map +1 -1
- package/dist/esm/transports/blockchair/getUTXOs.d.ts +7 -2
- package/dist/esm/transports/blockchair/getUTXOs.d.ts.map +1 -0
- package/dist/esm/transports/blockchair/getUTXOs.js +86 -98
- package/dist/esm/transports/blockchair/getUTXOs.js.map +1 -1
- package/dist/esm/transports/blockchair/getXPubAddresses.d.ts +7 -2
- package/dist/esm/transports/blockchair/getXPubAddresses.d.ts.map +1 -0
- package/dist/esm/transports/blockchair/getXPubAddresses.js +30 -41
- package/dist/esm/transports/blockchair/getXPubAddresses.js.map +1 -1
- package/dist/esm/transports/blockchair/methods.d.ts +7 -2
- package/dist/esm/transports/blockchair/methods.d.ts.map +1 -0
- package/dist/esm/transports/blockchair/methods.js +13 -9
- package/dist/esm/transports/blockchair/methods.js.map +1 -1
- package/dist/esm/transports/blockcypher/blockcypher.d.ts +9 -5
- package/dist/esm/transports/blockcypher/blockcypher.d.ts.map +1 -0
- package/dist/esm/transports/blockcypher/blockcypher.js +11 -9
- package/dist/esm/transports/blockcypher/blockcypher.js.map +1 -1
- package/dist/esm/transports/blockcypher/blockcypher.types.d.ts +69 -65
- package/dist/esm/transports/blockcypher/blockcypher.types.d.ts.map +1 -0
- package/dist/esm/transports/blockcypher/blockcypher.types.js +0 -1
- package/dist/esm/transports/blockcypher/getBalance.d.ts +7 -2
- package/dist/esm/transports/blockcypher/getBalance.d.ts.map +1 -0
- package/dist/esm/transports/blockcypher/getBalance.js +17 -21
- package/dist/esm/transports/blockcypher/getBalance.js.map +1 -1
- package/dist/esm/transports/blockcypher/getTransactionFee.d.ts +7 -2
- package/dist/esm/transports/blockcypher/getTransactionFee.d.ts.map +1 -0
- package/dist/esm/transports/blockcypher/getTransactionFee.js +17 -18
- package/dist/esm/transports/blockcypher/getTransactionFee.js.map +1 -1
- package/dist/esm/transports/blockcypher/getUTXOs.d.ts +7 -2
- package/dist/esm/transports/blockcypher/getUTXOs.d.ts.map +1 -0
- package/dist/esm/transports/blockcypher/getUTXOs.js +72 -74
- package/dist/esm/transports/blockcypher/getUTXOs.js.map +1 -1
- package/dist/esm/transports/blockcypher/methods.d.ts +7 -2
- package/dist/esm/transports/blockcypher/methods.d.ts.map +1 -0
- package/dist/esm/transports/blockcypher/methods.js +11 -7
- package/dist/esm/transports/blockcypher/methods.js.map +1 -1
- package/dist/esm/transports/blockcypher/utils.d.ts +7 -2
- package/dist/esm/transports/blockcypher/utils.d.ts.map +1 -0
- package/dist/esm/transports/blockcypher/utils.js +8 -6
- package/dist/esm/transports/blockcypher/utils.js.map +1 -1
- package/dist/esm/transports/custom.d.ts +19 -20
- package/dist/esm/transports/custom.d.ts.map +1 -0
- package/dist/esm/transports/custom.js +18 -14
- package/dist/esm/transports/custom.js.map +1 -1
- package/dist/esm/transports/fallback.d.ts +83 -78
- package/dist/esm/transports/fallback.d.ts.map +1 -0
- package/dist/esm/transports/fallback.js +158 -190
- package/dist/esm/transports/fallback.js.map +1 -1
- package/dist/esm/transports/getHttpRpcClient.d.ts +30 -34
- package/dist/esm/transports/getHttpRpcClient.d.ts.map +1 -0
- package/dist/esm/transports/getHttpRpcClient.js +74 -92
- package/dist/esm/transports/getHttpRpcClient.js.map +1 -1
- package/dist/esm/transports/getRpcProviderMethods.d.ts +8 -4
- package/dist/esm/transports/getRpcProviderMethods.d.ts.map +1 -0
- package/dist/esm/transports/getRpcProviderMethods.js +16 -17
- package/dist/esm/transports/getRpcProviderMethods.js.map +1 -1
- package/dist/esm/transports/http.d.ts +41 -50
- package/dist/esm/transports/http.d.ts.map +1 -0
- package/dist/esm/transports/http.js +69 -78
- package/dist/esm/transports/http.js.map +1 -1
- package/dist/esm/transports/mempool/getBalance.d.ts +7 -2
- package/dist/esm/transports/mempool/getBalance.d.ts.map +1 -0
- package/dist/esm/transports/mempool/getBalance.js +12 -10
- package/dist/esm/transports/mempool/getBalance.js.map +1 -1
- package/dist/esm/transports/mempool/getTransactionFee.d.ts +7 -2
- package/dist/esm/transports/mempool/getTransactionFee.d.ts.map +1 -0
- package/dist/esm/transports/mempool/getTransactionFee.js +11 -9
- package/dist/esm/transports/mempool/getTransactionFee.js.map +1 -1
- package/dist/esm/transports/mempool/getTransactions.d.ts +7 -2
- package/dist/esm/transports/mempool/getTransactions.d.ts.map +1 -0
- package/dist/esm/transports/mempool/getTransactions.js +24 -27
- package/dist/esm/transports/mempool/getTransactions.js.map +1 -1
- package/dist/esm/transports/mempool/mempool.d.ts +8 -4
- package/dist/esm/transports/mempool/mempool.d.ts.map +1 -0
- package/dist/esm/transports/mempool/mempool.js +11 -9
- package/dist/esm/transports/mempool/mempool.js.map +1 -1
- package/dist/esm/transports/mempool/mempool.types.d.ts +62 -58
- package/dist/esm/transports/mempool/mempool.types.d.ts.map +1 -0
- package/dist/esm/transports/mempool/mempool.types.js +0 -1
- package/dist/esm/transports/mempool/methods.d.ts +7 -2
- package/dist/esm/transports/mempool/methods.d.ts.map +1 -0
- package/dist/esm/transports/mempool/methods.js +11 -7
- package/dist/esm/transports/mempool/methods.js.map +1 -1
- package/dist/esm/transports/mempool/utils.d.ts +8 -3
- package/dist/esm/transports/mempool/utils.d.ts.map +1 -0
- package/dist/esm/transports/mempool/utils.js +28 -24
- package/dist/esm/transports/mempool/utils.js.map +1 -1
- package/dist/esm/transports/types.d.ts +119 -135
- package/dist/esm/transports/types.d.ts.map +1 -0
- package/dist/esm/transports/types.js +10 -6
- package/dist/esm/transports/types.js.map +1 -1
- package/dist/esm/transports/utxo.d.ts +9 -5
- package/dist/esm/transports/utxo.d.ts.map +1 -0
- package/dist/esm/transports/utxo.js +60 -60
- package/dist/esm/transports/utxo.js.map +1 -1
- package/dist/esm/types/account.d.ts +11 -6
- package/dist/esm/types/account.d.ts.map +1 -0
- package/dist/esm/types/account.js +0 -1
- package/dist/esm/types/address.d.ts +20 -15
- package/dist/esm/types/address.d.ts.map +1 -0
- package/dist/esm/types/address.js +12 -8
- package/dist/esm/types/address.js.map +1 -1
- package/dist/esm/types/block.d.ts +22 -18
- package/dist/esm/types/block.d.ts.map +1 -0
- package/dist/esm/types/block.js +0 -1
- package/dist/esm/types/blockStats.d.ts +37 -33
- package/dist/esm/types/blockStats.d.ts.map +1 -0
- package/dist/esm/types/blockStats.js +0 -1
- package/dist/esm/types/chain.d.ts +45 -53
- package/dist/esm/types/chain.d.ts.map +1 -0
- package/dist/esm/types/chain.js +21 -17
- package/dist/esm/types/chain.js.map +1 -1
- package/dist/esm/types/client.d.ts +49 -63
- package/dist/esm/types/client.d.ts.map +1 -0
- package/dist/esm/types/client.js +0 -1
- package/dist/esm/types/hash.d.ts +5 -1
- package/dist/esm/types/hash.d.ts.map +1 -0
- package/dist/esm/types/hash.js +0 -1
- package/dist/esm/types/request.d.ts +39 -42
- package/dist/esm/types/request.d.ts.map +1 -0
- package/dist/esm/types/request.js +0 -1
- package/dist/esm/types/rpc.d.ts +28 -28
- package/dist/esm/types/rpc.d.ts.map +1 -0
- package/dist/esm/types/rpc.js +0 -1
- package/dist/esm/types/transaction.d.ts +49 -45
- package/dist/esm/types/transaction.d.ts.map +1 -0
- package/dist/esm/types/transaction.js +0 -1
- package/dist/esm/types/transport.d.ts +34 -35
- package/dist/esm/types/transport.d.ts.map +1 -0
- package/dist/esm/types/transport.js +0 -1
- package/dist/esm/types/utils.d.ts +47 -58
- package/dist/esm/types/utils.d.ts.map +1 -0
- package/dist/esm/types/utils.js +0 -1
- package/dist/esm/types/xpub.d.ts +13 -8
- package/dist/esm/types/xpub.d.ts.map +1 -0
- package/dist/esm/types/xpub.js +0 -1
- package/dist/esm/utils/buildRequest.d.ts +10 -5
- package/dist/esm/utils/buildRequest.d.ts.map +1 -0
- package/dist/esm/utils/buildRequest.js +67 -107
- package/dist/esm/utils/buildRequest.js.map +1 -1
- package/dist/esm/utils/cancelTransaction.d.ts +7 -2
- package/dist/esm/utils/cancelTransaction.d.ts.map +1 -0
- package/dist/esm/utils/cancelTransaction.js +36 -53
- package/dist/esm/utils/cancelTransaction.js.map +1 -1
- package/dist/esm/utils/converter.d.ts +9 -5
- package/dist/esm/utils/converter.d.ts.map +1 -0
- package/dist/esm/utils/converter.js +22 -28
- package/dist/esm/utils/converter.js.map +1 -1
- package/dist/esm/utils/createBatchScheduler.d.ts +22 -15
- package/dist/esm/utils/createBatchScheduler.d.ts.map +1 -0
- package/dist/esm/utils/createBatchScheduler.js +51 -49
- package/dist/esm/utils/createBatchScheduler.js.map +1 -1
- package/dist/esm/utils/deepEqual.d.ts +5 -1
- package/dist/esm/utils/deepEqual.d.ts.map +1 -0
- package/dist/esm/utils/deepEqual.js +29 -49
- package/dist/esm/utils/deepEqual.js.map +1 -1
- package/dist/esm/utils/getAction.d.ts +20 -15
- package/dist/esm/utils/getAction.d.ts.map +1 -0
- package/dist/esm/utils/getAction.js +16 -20
- package/dist/esm/utils/getAction.js.map +1 -1
- package/dist/esm/utils/getAddressInfo.d.ts +9 -4
- package/dist/esm/utils/getAddressInfo.d.ts.map +1 -0
- package/dist/esm/utils/getAddressInfo.js +91 -125
- package/dist/esm/utils/getAddressInfo.js.map +1 -1
- package/dist/esm/utils/idCache.d.ts +8 -4
- package/dist/esm/utils/idCache.d.ts.map +1 -0
- package/dist/esm/utils/idCache.js +14 -10
- package/dist/esm/utils/idCache.js.map +1 -1
- package/dist/esm/utils/isAddress.d.ts +7 -2
- package/dist/esm/utils/isAddress.d.ts.map +1 -0
- package/dist/esm/utils/isAddress.js +13 -12
- package/dist/esm/utils/isAddress.js.map +1 -1
- package/dist/esm/utils/lru.d.ts +13 -9
- package/dist/esm/utils/lru.d.ts.map +1 -0
- package/dist/esm/utils/lru.js +30 -28
- package/dist/esm/utils/lru.js.map +1 -1
- package/dist/esm/utils/modifyFee.d.ts +7 -2
- package/dist/esm/utils/modifyFee.d.ts.map +1 -0
- package/dist/esm/utils/modifyFee.js +37 -51
- package/dist/esm/utils/modifyFee.js.map +1 -1
- package/dist/esm/utils/observe.d.ts +15 -11
- package/dist/esm/utils/observe.d.ts.map +1 -0
- package/dist/esm/utils/observe.js +37 -45
- package/dist/esm/utils/observe.js.map +1 -1
- package/dist/esm/utils/parseAccount.d.ts +10 -5
- package/dist/esm/utils/parseAccount.d.ts.map +1 -0
- package/dist/esm/utils/parseAccount.js +10 -5
- package/dist/esm/utils/parseAccount.js.map +1 -1
- package/dist/esm/utils/poll.d.ts +18 -9
- package/dist/esm/utils/poll.d.ts.map +1 -0
- package/dist/esm/utils/poll.js +26 -27
- package/dist/esm/utils/poll.js.map +1 -1
- package/dist/esm/utils/retryUntil.d.ts +21 -19
- package/dist/esm/utils/retryUntil.d.ts.map +1 -0
- package/dist/esm/utils/retryUntil.js +33 -36
- package/dist/esm/utils/retryUntil.js.map +1 -1
- package/dist/esm/utils/sleep.d.ts +5 -1
- package/dist/esm/utils/sleep.d.ts.map +1 -0
- package/dist/esm/utils/sleep.js +8 -4
- package/dist/esm/utils/sleep.js.map +1 -1
- package/dist/esm/utils/stringify.d.ts +8 -3
- package/dist/esm/utils/stringify.d.ts.map +1 -0
- package/dist/esm/utils/stringify.js +7 -3
- package/dist/esm/utils/stringify.js.map +1 -1
- package/dist/esm/utils/uid.d.ts +5 -1
- package/dist/esm/utils/uid.d.ts.map +1 -0
- package/dist/esm/utils/uid.js +11 -9
- package/dist/esm/utils/uid.js.map +1 -1
- package/dist/esm/utils/url.d.ts +5 -1
- package/dist/esm/utils/url.d.ts.map +1 -0
- package/dist/esm/utils/url.js +10 -8
- package/dist/esm/utils/url.js.map +1 -1
- package/dist/esm/utils/wait.d.ts +5 -1
- package/dist/esm/utils/wait.d.ts.map +1 -0
- package/dist/esm/utils/wait.js +6 -2
- package/dist/esm/utils/wait.js.map +1 -1
- package/dist/esm/utils/withDedupe.d.ts +13 -6
- package/dist/esm/utils/withDedupe.d.ts.map +1 -0
- package/dist/esm/utils/withDedupe.js +12 -12
- package/dist/esm/utils/withDedupe.js.map +1 -1
- package/dist/esm/utils/withResolvers.d.ts +9 -5
- package/dist/esm/utils/withResolvers.d.ts.map +1 -0
- package/dist/esm/utils/withResolvers.js +15 -8
- package/dist/esm/utils/withResolvers.js.map +1 -1
- package/dist/esm/utils/withRetry.d.ts +25 -13
- package/dist/esm/utils/withRetry.d.ts.map +1 -0
- package/dist/esm/utils/withRetry.js +28 -25
- package/dist/esm/utils/withRetry.js.map +1 -1
- package/dist/esm/utils/withTimeout.d.ts +19 -8
- package/dist/esm/utils/withTimeout.d.ts.map +1 -0
- package/dist/esm/utils/withTimeout.js +23 -30
- package/dist/esm/utils/withTimeout.js.map +1 -1
- package/dist/esm/version.d.ts +6 -2
- package/dist/esm/version.d.ts.map +1 -0
- package/dist/esm/version.js +6 -2
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/vite-env.d.ts +1 -0
- package/package.json +2 -2
- package/src/chains/bitcoin.ts +2 -1
- package/src/chains/signet.ts +2 -1
- package/src/errors/base.ts +2 -2
- package/src/errors/rpc.ts +3 -3
- package/src/errors/utils.ts +2 -2
- package/src/transports/ankr/ankr.ts +2 -2
- package/src/transports/blockchair/blockchair.ts +2 -2
- package/src/transports/blockcypher/blockcypher.ts +2 -2
- package/src/transports/fallback.ts +2 -2
- package/src/transports/mempool/mempool.ts +2 -2
- package/src/utils/buildRequest.ts +1 -1
- package/src/utils/deepEqual.ts +1 -1
- package/src/utils/idCache.ts +2 -1
- package/src/utils/lru.ts +2 -2
- package/src/utils/modifyFee.ts +5 -1
- package/src/utils/observe.ts +4 -6
- package/src/utils/poll.ts +1 -1
- package/src/utils/uid.ts +1 -1
- package/src/utils/url.ts +1 -1
- package/src/utils/wait.ts +1 -1
- package/src/utils/withDedupe.ts +1 -1
- package/src/utils/withRetry.ts +1 -1
- package/src/version.ts +1 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/transports/ankr/__mocks__/getBalance/valid.json +0 -9
- package/dist/cjs/transports/ankr/__mocks__/getTransactionFee/invalid.json +0 -3
- package/dist/cjs/transports/ankr/__mocks__/getTransactionFee/valid.json +0 -51
- package/dist/cjs/transports/ankr/__mocks__/getTransactions/valid.json +0 -1186
- package/dist/cjs/transports/ankr/ankr.types.js.map +0 -1
- package/dist/cjs/transports/blockchair/__mocks__/getBalance/invalidAddress.json +0 -29
- package/dist/cjs/transports/blockchair/__mocks__/getBalance/valid.json +0 -29
- package/dist/cjs/transports/blockchair/__mocks__/getBalance/zeroBalance.json +0 -29
- package/dist/cjs/transports/blockchair/__mocks__/getTransactionFee/invalid.json +0 -7
- package/dist/cjs/transports/blockchair/__mocks__/getTransactionFee/valid.json +0 -37
- package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/invalidAddress.json +0 -28
- package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/rateLimited.json +0 -28
- package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/valid.json +0 -95
- package/dist/cjs/transports/blockchair/__mocks__/getUTXOs/validPaginated.json +0 -869
- package/dist/cjs/transports/blockchair/__mocks__/getXPubAddresses/valid.json +0 -76
- package/dist/cjs/transports/blockchair/blockchair.types.js.map +0 -1
- package/dist/cjs/transports/blockcypher/__mocks__/getBalance/invalid.json +0 -3
- package/dist/cjs/transports/blockcypher/__mocks__/getBalance/valid.json +0 -13
- package/dist/cjs/transports/blockcypher/__mocks__/getTransactionFee/invalid.json +0 -3
- package/dist/cjs/transports/blockcypher/__mocks__/getTransactionFee/valid.json +0 -22
- package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/empty.json +0 -12
- package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/paginated.json +0 -2786
- package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/rateLimited.json +0 -3
- package/dist/cjs/transports/blockcypher/__mocks__/getUTXOs/valid.json +0 -27
- package/dist/cjs/transports/blockcypher/blockcypher.types.js.map +0 -1
- package/dist/cjs/transports/mempool/__mocks__/getBalance/invalid.json +0 -1
- package/dist/cjs/transports/mempool/__mocks__/getBalance/valid.json +0 -17
- package/dist/cjs/transports/mempool/__mocks__/getTransactionFee/invalid.json +0 -1
- package/dist/cjs/transports/mempool/__mocks__/getTransactionFee/valid.json +0 -58
- package/dist/cjs/transports/mempool/__mocks__/getTransactions/valid.json +0 -1268
- package/dist/cjs/transports/mempool/mempool.types.js.map +0 -1
- package/dist/cjs/types/account.js.map +0 -1
- package/dist/cjs/types/block.js.map +0 -1
- package/dist/cjs/types/blockStats.js.map +0 -1
- package/dist/cjs/types/client.js.map +0 -1
- package/dist/cjs/types/hash.js.map +0 -1
- package/dist/cjs/types/request.js.map +0 -1
- package/dist/cjs/types/rpc.js.map +0 -1
- package/dist/cjs/types/transaction.js.map +0 -1
- package/dist/cjs/types/transport.js.map +0 -1
- package/dist/cjs/types/utils.js.map +0 -1
- package/dist/cjs/types/xpub.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/transports/ankr/__mocks__/getBalance/valid.json +0 -9
- package/dist/esm/transports/ankr/__mocks__/getTransactionFee/invalid.json +0 -3
- package/dist/esm/transports/ankr/__mocks__/getTransactionFee/valid.json +0 -51
- package/dist/esm/transports/ankr/__mocks__/getTransactions/valid.json +0 -1186
- package/dist/esm/transports/ankr/ankr.types.js.map +0 -1
- package/dist/esm/transports/blockchair/__mocks__/getBalance/invalidAddress.json +0 -29
- package/dist/esm/transports/blockchair/__mocks__/getBalance/valid.json +0 -29
- package/dist/esm/transports/blockchair/__mocks__/getBalance/zeroBalance.json +0 -29
- package/dist/esm/transports/blockchair/__mocks__/getTransactionFee/invalid.json +0 -7
- package/dist/esm/transports/blockchair/__mocks__/getTransactionFee/valid.json +0 -37
- package/dist/esm/transports/blockchair/__mocks__/getUTXOs/invalidAddress.json +0 -28
- package/dist/esm/transports/blockchair/__mocks__/getUTXOs/rateLimited.json +0 -28
- package/dist/esm/transports/blockchair/__mocks__/getUTXOs/valid.json +0 -95
- package/dist/esm/transports/blockchair/__mocks__/getUTXOs/validPaginated.json +0 -869
- package/dist/esm/transports/blockchair/__mocks__/getXPubAddresses/valid.json +0 -76
- package/dist/esm/transports/blockchair/blockchair.types.js.map +0 -1
- package/dist/esm/transports/blockcypher/__mocks__/getBalance/invalid.json +0 -3
- package/dist/esm/transports/blockcypher/__mocks__/getBalance/valid.json +0 -13
- package/dist/esm/transports/blockcypher/__mocks__/getTransactionFee/invalid.json +0 -3
- package/dist/esm/transports/blockcypher/__mocks__/getTransactionFee/valid.json +0 -22
- package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/empty.json +0 -12
- package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/paginated.json +0 -2786
- package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/rateLimited.json +0 -3
- package/dist/esm/transports/blockcypher/__mocks__/getUTXOs/valid.json +0 -27
- package/dist/esm/transports/blockcypher/blockcypher.types.js.map +0 -1
- package/dist/esm/transports/mempool/__mocks__/getBalance/invalid.json +0 -1
- package/dist/esm/transports/mempool/__mocks__/getBalance/valid.json +0 -17
- package/dist/esm/transports/mempool/__mocks__/getTransactionFee/invalid.json +0 -1
- package/dist/esm/transports/mempool/__mocks__/getTransactionFee/valid.json +0 -58
- package/dist/esm/transports/mempool/__mocks__/getTransactions/valid.json +0 -1268
- package/dist/esm/transports/mempool/mempool.types.js.map +0 -1
- package/dist/esm/types/account.js.map +0 -1
- package/dist/esm/types/block.js.map +0 -1
- package/dist/esm/types/blockStats.js.map +0 -1
- package/dist/esm/types/client.js.map +0 -1
- package/dist/esm/types/hash.js.map +0 -1
- package/dist/esm/types/request.js.map +0 -1
- package/dist/esm/types/rpc.js.map +0 -1
- package/dist/esm/types/transaction.js.map +0 -1
- package/dist/esm/types/transport.js.map +0 -1
- package/dist/esm/types/utils.js.map +0 -1
- package/dist/esm/types/xpub.js.map +0 -1
- package/dist/types/actions/getBalance.d.ts +0 -12
- package/dist/types/actions/getBalance.d.ts.map +0 -1
- package/dist/types/actions/getBlock.d.ts +0 -16
- package/dist/types/actions/getBlock.d.ts.map +0 -1
- package/dist/types/actions/getBlockCount.d.ts +0 -8
- package/dist/types/actions/getBlockCount.d.ts.map +0 -1
- package/dist/types/actions/getBlockStats.d.ts +0 -18
- package/dist/types/actions/getBlockStats.d.ts.map +0 -1
- package/dist/types/actions/getTransactionFee.d.ts +0 -11
- package/dist/types/actions/getTransactionFee.d.ts.map +0 -1
- package/dist/types/actions/getTransactions.d.ts +0 -20
- package/dist/types/actions/getTransactions.d.ts.map +0 -1
- package/dist/types/actions/getUTXOTransaction.d.ts +0 -15
- package/dist/types/actions/getUTXOTransaction.d.ts.map +0 -1
- package/dist/types/actions/getUTXOs.d.ts +0 -13
- package/dist/types/actions/getUTXOs.d.ts.map +0 -1
- package/dist/types/actions/getXPubAddresses.d.ts +0 -34
- package/dist/types/actions/getXPubAddresses.d.ts.map +0 -1
- package/dist/types/actions/sendUTXOTransaction.d.ts +0 -14
- package/dist/types/actions/sendUTXOTransaction.d.ts.map +0 -1
- package/dist/types/actions/signPsbt.d.ts +0 -7
- package/dist/types/actions/signPsbt.d.ts.map +0 -1
- package/dist/types/actions/waitForTransaction.d.ts +0 -78
- package/dist/types/actions/waitForTransaction.d.ts.map +0 -1
- package/dist/types/actions/watchBlockNumber.d.ts +0 -28
- package/dist/types/actions/watchBlockNumber.d.ts.map +0 -1
- package/dist/types/chains/bitcoin.d.ts +0 -25
- package/dist/types/chains/bitcoin.d.ts.map +0 -1
- package/dist/types/chains/defineChain.d.ts +0 -4
- package/dist/types/chains/defineChain.d.ts.map +0 -1
- package/dist/types/chains/signet.d.ts +0 -25
- package/dist/types/chains/signet.d.ts.map +0 -1
- package/dist/types/clients/decorators/public.d.ts +0 -25
- package/dist/types/clients/decorators/public.d.ts.map +0 -1
- package/dist/types/clients/decorators/wallet.d.ts +0 -15
- package/dist/types/clients/decorators/wallet.d.ts.map +0 -1
- package/dist/types/errors/address.d.ts +0 -10
- package/dist/types/errors/address.d.ts.map +0 -1
- package/dist/types/errors/base.d.ts +0 -28
- package/dist/types/errors/base.d.ts.map +0 -1
- package/dist/types/errors/block.d.ts +0 -12
- package/dist/types/errors/block.d.ts.map +0 -1
- package/dist/types/errors/provider.d.ts +0 -5
- package/dist/types/errors/provider.d.ts.map +0 -1
- package/dist/types/errors/request.d.ts +0 -82
- package/dist/types/errors/request.d.ts.map +0 -1
- package/dist/types/errors/rpc.d.ts +0 -58
- package/dist/types/errors/rpc.d.ts.map +0 -1
- package/dist/types/errors/transaction.d.ts +0 -32
- package/dist/types/errors/transaction.d.ts.map +0 -1
- package/dist/types/errors/transport.d.ts +0 -39
- package/dist/types/errors/transport.d.ts.map +0 -1
- package/dist/types/errors/utils.d.ts +0 -7
- package/dist/types/errors/utils.d.ts.map +0 -1
- package/dist/types/errors/utxo.d.ts +0 -12
- package/dist/types/errors/utxo.d.ts.map +0 -1
- package/dist/types/factories/createClient.d.ts +0 -86
- package/dist/types/factories/createClient.d.ts.map +0 -1
- package/dist/types/factories/createTransport.d.ts +0 -6
- package/dist/types/factories/createTransport.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -84
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/test/utils.d.ts +0 -2
- package/dist/types/test/utils.d.ts.map +0 -1
- package/dist/types/transports/__mocks__/getTransactionFee.d.ts +0 -4
- package/dist/types/transports/__mocks__/getTransactionFee.d.ts.map +0 -1
- package/dist/types/transports/ankr/ankr.d.ts +0 -8
- package/dist/types/transports/ankr/ankr.d.ts.map +0 -1
- package/dist/types/transports/ankr/ankr.types.d.ts +0 -82
- package/dist/types/transports/ankr/ankr.types.d.ts.map +0 -1
- package/dist/types/transports/ankr/getBalance.d.ts +0 -3
- package/dist/types/transports/ankr/getBalance.d.ts.map +0 -1
- package/dist/types/transports/ankr/getTransactionFee.d.ts +0 -3
- package/dist/types/transports/ankr/getTransactionFee.d.ts.map +0 -1
- package/dist/types/transports/ankr/getTransactions.d.ts +0 -3
- package/dist/types/transports/ankr/getTransactions.d.ts.map +0 -1
- package/dist/types/transports/ankr/methods.d.ts +0 -3
- package/dist/types/transports/ankr/methods.d.ts.map +0 -1
- package/dist/types/transports/ankr/utils.d.ts +0 -4
- package/dist/types/transports/ankr/utils.d.ts.map +0 -1
- package/dist/types/transports/blockchair/blockchair.d.ts +0 -8
- package/dist/types/transports/blockchair/blockchair.d.ts.map +0 -1
- package/dist/types/transports/blockchair/blockchair.types.d.ts +0 -137
- package/dist/types/transports/blockchair/blockchair.types.d.ts.map +0 -1
- package/dist/types/transports/blockchair/getBalance.d.ts +0 -3
- package/dist/types/transports/blockchair/getBalance.d.ts.map +0 -1
- package/dist/types/transports/blockchair/getTransactionFee.d.ts +0 -3
- package/dist/types/transports/blockchair/getTransactionFee.d.ts.map +0 -1
- package/dist/types/transports/blockchair/getUTXOs.d.ts +0 -3
- package/dist/types/transports/blockchair/getUTXOs.d.ts.map +0 -1
- package/dist/types/transports/blockchair/getXPubAddresses.d.ts +0 -3
- package/dist/types/transports/blockchair/getXPubAddresses.d.ts.map +0 -1
- package/dist/types/transports/blockchair/methods.d.ts +0 -3
- package/dist/types/transports/blockchair/methods.d.ts.map +0 -1
- package/dist/types/transports/blockcypher/blockcypher.d.ts +0 -8
- package/dist/types/transports/blockcypher/blockcypher.d.ts.map +0 -1
- package/dist/types/transports/blockcypher/blockcypher.types.d.ts +0 -74
- package/dist/types/transports/blockcypher/blockcypher.types.d.ts.map +0 -1
- package/dist/types/transports/blockcypher/getBalance.d.ts +0 -3
- package/dist/types/transports/blockcypher/getBalance.d.ts.map +0 -1
- package/dist/types/transports/blockcypher/getTransactionFee.d.ts +0 -3
- package/dist/types/transports/blockcypher/getTransactionFee.d.ts.map +0 -1
- package/dist/types/transports/blockcypher/getUTXOs.d.ts +0 -3
- package/dist/types/transports/blockcypher/getUTXOs.d.ts.map +0 -1
- package/dist/types/transports/blockcypher/methods.d.ts +0 -3
- package/dist/types/transports/blockcypher/methods.d.ts.map +0 -1
- package/dist/types/transports/blockcypher/utils.d.ts +0 -3
- package/dist/types/transports/blockcypher/utils.d.ts.map +0 -1
- package/dist/types/transports/custom.d.ts +0 -25
- package/dist/types/transports/custom.d.ts.map +0 -1
- package/dist/types/transports/fallback.d.ts +0 -90
- package/dist/types/transports/fallback.d.ts.map +0 -1
- package/dist/types/transports/getHttpRpcClient.d.ts +0 -39
- package/dist/types/transports/getHttpRpcClient.d.ts.map +0 -1
- package/dist/types/transports/getRpcProviderMethods.d.ts +0 -5
- package/dist/types/transports/getRpcProviderMethods.d.ts.map +0 -1
- package/dist/types/transports/http.d.ts +0 -54
- package/dist/types/transports/http.d.ts.map +0 -1
- package/dist/types/transports/mempool/getBalance.d.ts +0 -3
- package/dist/types/transports/mempool/getBalance.d.ts.map +0 -1
- package/dist/types/transports/mempool/getTransactionFee.d.ts +0 -3
- package/dist/types/transports/mempool/getTransactionFee.d.ts.map +0 -1
- package/dist/types/transports/mempool/getTransactions.d.ts +0 -3
- package/dist/types/transports/mempool/getTransactions.d.ts.map +0 -1
- package/dist/types/transports/mempool/mempool.d.ts +0 -7
- package/dist/types/transports/mempool/mempool.d.ts.map +0 -1
- package/dist/types/transports/mempool/mempool.types.d.ts +0 -64
- package/dist/types/transports/mempool/mempool.types.d.ts.map +0 -1
- package/dist/types/transports/mempool/methods.d.ts +0 -3
- package/dist/types/transports/mempool/methods.d.ts.map +0 -1
- package/dist/types/transports/mempool/utils.d.ts +0 -4
- package/dist/types/transports/mempool/utils.d.ts.map +0 -1
- package/dist/types/transports/types.d.ts +0 -141
- package/dist/types/transports/types.d.ts.map +0 -1
- package/dist/types/transports/utxo.d.ts +0 -8
- package/dist/types/transports/utxo.d.ts.map +0 -1
- package/dist/types/types/account.d.ts +0 -8
- package/dist/types/types/account.d.ts.map +0 -1
- package/dist/types/types/address.d.ts +0 -18
- package/dist/types/types/address.d.ts.map +0 -1
- package/dist/types/types/block.d.ts +0 -20
- package/dist/types/types/block.d.ts.map +0 -1
- package/dist/types/types/blockStats.d.ts +0 -35
- package/dist/types/types/blockStats.d.ts.map +0 -1
- package/dist/types/types/chain.d.ts +0 -64
- package/dist/types/types/chain.d.ts.map +0 -1
- package/dist/types/types/client.d.ts +0 -69
- package/dist/types/types/client.d.ts.map +0 -1
- package/dist/types/types/hash.d.ts +0 -2
- package/dist/types/types/hash.d.ts.map +0 -1
- package/dist/types/types/request.d.ts +0 -50
- package/dist/types/types/request.d.ts.map +0 -1
- package/dist/types/types/rpc.d.ts +0 -35
- package/dist/types/types/rpc.d.ts.map +0 -1
- package/dist/types/types/transaction.d.ts +0 -50
- package/dist/types/types/transaction.d.ts.map +0 -1
- package/dist/types/types/transport.d.ts +0 -39
- package/dist/types/types/transport.d.ts.map +0 -1
- package/dist/types/types/utils.d.ts +0 -73
- package/dist/types/types/utils.d.ts.map +0 -1
- package/dist/types/types/xpub.d.ts +0 -11
- package/dist/types/types/xpub.d.ts.map +0 -1
- package/dist/types/utils/buildRequest.d.ts +0 -7
- package/dist/types/utils/buildRequest.d.ts.map +0 -1
- package/dist/types/utils/cancelTransaction.d.ts +0 -3
- package/dist/types/utils/cancelTransaction.d.ts.map +0 -1
- package/dist/types/utils/converter.d.ts +0 -6
- package/dist/types/utils/converter.d.ts.map +0 -1
- package/dist/types/utils/createBatchScheduler.d.ts +0 -22
- package/dist/types/utils/createBatchScheduler.d.ts.map +0 -1
- package/dist/types/utils/deepEqual.d.ts +0 -3
- package/dist/types/utils/deepEqual.d.ts.map +0 -1
- package/dist/types/utils/getAction.d.ts +0 -18
- package/dist/types/utils/getAction.d.ts.map +0 -1
- package/dist/types/utils/getAddressInfo.d.ts +0 -5
- package/dist/types/utils/getAddressInfo.d.ts.map +0 -1
- package/dist/types/utils/idCache.d.ts +0 -6
- package/dist/types/utils/idCache.d.ts.map +0 -1
- package/dist/types/utils/isAddress.d.ts +0 -3
- package/dist/types/utils/isAddress.d.ts.map +0 -1
- package/dist/types/utils/lru.d.ts +0 -12
- package/dist/types/utils/lru.d.ts.map +0 -1
- package/dist/types/utils/modifyFee.d.ts +0 -3
- package/dist/types/utils/modifyFee.d.ts.map +0 -1
- package/dist/types/utils/observe.d.ts +0 -19
- package/dist/types/utils/observe.d.ts.map +0 -1
- package/dist/types/utils/parseAccount.d.ts +0 -6
- package/dist/types/utils/parseAccount.d.ts.map +0 -1
- package/dist/types/utils/poll.d.ts +0 -13
- package/dist/types/utils/poll.d.ts.map +0 -1
- package/dist/types/utils/retryUntil.d.ts +0 -22
- package/dist/types/utils/retryUntil.d.ts.map +0 -1
- package/dist/types/utils/sleep.d.ts +0 -2
- package/dist/types/utils/sleep.d.ts.map +0 -1
- package/dist/types/utils/stringify.d.ts +0 -4
- package/dist/types/utils/stringify.d.ts.map +0 -1
- package/dist/types/utils/uid.d.ts +0 -2
- package/dist/types/utils/uid.d.ts.map +0 -1
- package/dist/types/utils/url.d.ts +0 -2
- package/dist/types/utils/url.d.ts.map +0 -1
- package/dist/types/utils/wait.d.ts +0 -2
- package/dist/types/utils/wait.d.ts.map +0 -1
- package/dist/types/utils/withDedupe.d.ts +0 -11
- package/dist/types/utils/withDedupe.d.ts.map +0 -1
- package/dist/types/utils/withResolvers.d.ts +0 -9
- package/dist/types/utils/withResolvers.d.ts.map +0 -1
- package/dist/types/utils/withRetry.d.ts +0 -15
- package/dist/types/utils/withRetry.d.ts.map +0 -1
- package/dist/types/utils/withTimeout.d.ts +0 -10
- package/dist/types/utils/withTimeout.d.ts.map +0 -1
- package/dist/types/version.d.ts +0 -3
- package/dist/types/version.d.ts.map +0 -1
|
@@ -1,187 +1,158 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
originalOutputAddresses.every((address) => replacementOutputAddresses.includes(address))) {
|
|
155
|
-
reason = 'repriced';
|
|
156
|
-
}
|
|
157
|
-
else if (senderAddress &&
|
|
158
|
-
replacementOutputAddresses.length === 1 &&
|
|
159
|
-
replacementOutputAddresses.includes(senderAddress)) {
|
|
160
|
-
reason = 'cancelled';
|
|
161
|
-
}
|
|
162
|
-
done(() => {
|
|
163
|
-
emit.onReplaced?.({
|
|
164
|
-
reason,
|
|
165
|
-
replacedTransaction: replacedTransaction,
|
|
166
|
-
transaction: transaction,
|
|
167
|
-
});
|
|
168
|
-
emit.resolve(transaction);
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
|
-
catch (err_) {
|
|
172
|
-
done(() => emit.reject(err_));
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
else {
|
|
176
|
-
done(() => emit.reject(err));
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
finally {
|
|
180
|
-
count++;
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
|
-
});
|
|
184
|
-
});
|
|
185
|
-
});
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
require("../_virtual/_rolldown/runtime.js");
|
|
3
|
+
const require_actions_getBlock = require("./getBlock.js");
|
|
4
|
+
const require_actions_getBlockStats = require("./getBlockStats.js");
|
|
5
|
+
const require_errors_transaction = require("../errors/transaction.js");
|
|
6
|
+
const require_actions_getUTXOTransaction = require("./getUTXOTransaction.js");
|
|
7
|
+
const require_utils_getAction = require("../utils/getAction.js");
|
|
8
|
+
const require_utils_observe = require("../utils/observe.js");
|
|
9
|
+
const require_utils_stringify = require("../utils/stringify.js");
|
|
10
|
+
const require_utils_withRetry = require("../utils/withRetry.js");
|
|
11
|
+
const require_actions_watchBlockNumber = require("./watchBlockNumber.js");
|
|
12
|
+
let bitcoinjs_lib = require("bitcoinjs-lib");
|
|
13
|
+
//#region src/actions/waitForTransaction.ts
|
|
14
|
+
/**
|
|
15
|
+
* Waits for the transaction to be included on a block (one confirmation), and then returns the transaction.
|
|
16
|
+
* - JSON-RPC Methods:
|
|
17
|
+
* - Polls getrawtransaction on each block until it has been processed.
|
|
18
|
+
* - If a transaction has been replaced:
|
|
19
|
+
* - Calls getblock and extracts the transactions
|
|
20
|
+
* - Checks if one of the transactions is a replacement
|
|
21
|
+
* - If so, calls getrawtransaction.
|
|
22
|
+
*
|
|
23
|
+
* The `waitForTransaction` action additionally supports replacement detection (e.g. RBF - transactions replaced-by-fee ).
|
|
24
|
+
*
|
|
25
|
+
* Transactions can be replaced when a user modifies their transaction in their wallet (to speed up or cancel).
|
|
26
|
+
* https://bitcoinops.org/en/topics/replace-by-fee/
|
|
27
|
+
*
|
|
28
|
+
* There are 3 types of Transaction Replacement reasons:
|
|
29
|
+
*
|
|
30
|
+
* - `repriced`: The fee has been modified (e.g. same outputs, different amounts)
|
|
31
|
+
* - `cancelled`: The Transaction has been cancelled (e.g. output is sender address)
|
|
32
|
+
* - `replaced`: The Transaction has been replaced (e.g. different outputs)
|
|
33
|
+
* @param client - Client to use
|
|
34
|
+
* @param parameters - {@link WaitForTransactionReceiptParameters}
|
|
35
|
+
* @returns The UTXO transaction. {@link WaitForTransactionReceiptReturnType}
|
|
36
|
+
*/
|
|
37
|
+
async function waitForTransaction(client, { confirmations = 1, txId, txHex, senderAddress, onReplaced, pollingInterval = client.pollingInterval, retryCount = 10, retryDelay = 3e3, timeout }) {
|
|
38
|
+
const observerId = require_utils_stringify.stringify([
|
|
39
|
+
"waitForTransaction",
|
|
40
|
+
client.uid,
|
|
41
|
+
txId
|
|
42
|
+
]);
|
|
43
|
+
let count = 0;
|
|
44
|
+
let transaction;
|
|
45
|
+
let replacedTransaction;
|
|
46
|
+
let retrying = false;
|
|
47
|
+
return new Promise((resolve, reject) => {
|
|
48
|
+
if (timeout) setTimeout(() => reject(new require_errors_transaction.WaitForTransactionReceiptTimeoutError({ hash: txId })), timeout);
|
|
49
|
+
const _unobserve = require_utils_observe.observe(observerId, {
|
|
50
|
+
onReplaced,
|
|
51
|
+
resolve,
|
|
52
|
+
reject
|
|
53
|
+
}, (emit) => {
|
|
54
|
+
const _unwatch = require_utils_getAction.getAction(client, require_actions_watchBlockNumber.watchBlockNumber, "watchBlockNumber")({
|
|
55
|
+
emitMissed: true,
|
|
56
|
+
emitOnBegin: true,
|
|
57
|
+
pollingInterval,
|
|
58
|
+
async onBlockNumber(blockNumber_) {
|
|
59
|
+
const done = (fn) => {
|
|
60
|
+
_unwatch();
|
|
61
|
+
fn();
|
|
62
|
+
_unobserve();
|
|
63
|
+
};
|
|
64
|
+
let blockNumber = blockNumber_;
|
|
65
|
+
if (retrying) return;
|
|
66
|
+
if (count > retryCount) done(() => emit.reject(new require_errors_transaction.WaitForTransactionReceiptTimeoutError({ hash: txId })));
|
|
67
|
+
try {
|
|
68
|
+
if (transaction?.blockhash) {
|
|
69
|
+
const blockStats = await require_utils_getAction.getAction(client, require_actions_getBlockStats.getBlockStats, "getBlockStats")({
|
|
70
|
+
blockHash: transaction.blockhash,
|
|
71
|
+
stats: ["height"]
|
|
72
|
+
});
|
|
73
|
+
if (confirmations > 1 && (!blockStats.height || blockNumber - blockStats.height + 1 < confirmations)) return;
|
|
74
|
+
done(() => emit.resolve(transaction));
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
retrying = true;
|
|
78
|
+
transaction = await require_utils_withRetry.withRetry(() => require_utils_getAction.getAction(client, require_actions_getUTXOTransaction.getUTXOTransaction, "getUTXOTransaction")({ txId: transaction?.txid || txId }), {
|
|
79
|
+
delay: retryDelay,
|
|
80
|
+
retryCount
|
|
81
|
+
});
|
|
82
|
+
if (transaction.blockhash) {
|
|
83
|
+
const blockStats = await require_utils_getAction.getAction(client, require_actions_getBlockStats.getBlockStats, "getBlockStats")({
|
|
84
|
+
blockHash: transaction.blockhash,
|
|
85
|
+
stats: ["height"]
|
|
86
|
+
});
|
|
87
|
+
if (blockStats.height) blockNumber = blockStats.height;
|
|
88
|
+
}
|
|
89
|
+
retrying = false;
|
|
90
|
+
if (!transaction?.confirmations) throw new require_errors_transaction.TransactionReceiptNotFoundError({ hash: txId });
|
|
91
|
+
if (transaction.confirmations < confirmations) return;
|
|
92
|
+
done(() => emit.resolve(transaction));
|
|
93
|
+
} catch (err) {
|
|
94
|
+
if (err instanceof require_errors_transaction.TransactionNotFoundError || err instanceof require_errors_transaction.TransactionReceiptNotFoundError) try {
|
|
95
|
+
replacedTransaction = bitcoinjs_lib.Transaction.fromHex(transaction?.hex || txHex);
|
|
96
|
+
retrying = true;
|
|
97
|
+
const block = await require_utils_withRetry.withRetry(() => require_utils_getAction.getAction(client, require_actions_getBlock.getBlock, "getBlock")({ blockNumber }), {
|
|
98
|
+
delay: retryDelay,
|
|
99
|
+
retryCount
|
|
100
|
+
});
|
|
101
|
+
retrying = false;
|
|
102
|
+
const replacedTransactionInputs = /* @__PURE__ */ new Set();
|
|
103
|
+
for (const input of replacedTransaction.ins) {
|
|
104
|
+
const inputId = `${Array.from(input.hash).reverse().map((byte) => `00${byte.toString(16)}`.slice(-2)).join("")}:${input.index}`;
|
|
105
|
+
replacedTransactionInputs.add(inputId);
|
|
106
|
+
}
|
|
107
|
+
let replacementTransaction;
|
|
108
|
+
for (const tx of block.transactions) {
|
|
109
|
+
if (tx.isCoinbase()) continue;
|
|
110
|
+
for (const input of tx.ins) {
|
|
111
|
+
const inputId = `${Array.from(input.hash).reverse().map((byte) => `00${byte.toString(16)}`.slice(-2)).join("")}:${input.index}`;
|
|
112
|
+
if (replacedTransactionInputs.has(inputId)) {
|
|
113
|
+
replacementTransaction = tx;
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (replacementTransaction) break;
|
|
118
|
+
}
|
|
119
|
+
if (!replacementTransaction) return;
|
|
120
|
+
transaction = await require_utils_getAction.getAction(client, require_actions_getUTXOTransaction.getUTXOTransaction, "getUTXOTransaction")({ txId: replacementTransaction.getId() });
|
|
121
|
+
if (transaction.confirmations && transaction.confirmations < confirmations) return;
|
|
122
|
+
let reason = "replaced";
|
|
123
|
+
function getOutputAddresses(tx) {
|
|
124
|
+
const addresses = [];
|
|
125
|
+
for (const output of tx.outs) try {
|
|
126
|
+
const outputAddress = bitcoinjs_lib.address.fromOutputScript(output.script);
|
|
127
|
+
addresses.push(outputAddress);
|
|
128
|
+
} catch (_e) {}
|
|
129
|
+
return addresses;
|
|
130
|
+
}
|
|
131
|
+
const originalOutputAddresses = getOutputAddresses(replacedTransaction);
|
|
132
|
+
const replacementOutputAddresses = getOutputAddresses(replacementTransaction);
|
|
133
|
+
if (originalOutputAddresses.length === replacementOutputAddresses.length && originalOutputAddresses.every((address) => replacementOutputAddresses.includes(address))) reason = "repriced";
|
|
134
|
+
else if (senderAddress && replacementOutputAddresses.length === 1 && replacementOutputAddresses.includes(senderAddress)) reason = "cancelled";
|
|
135
|
+
done(() => {
|
|
136
|
+
emit.onReplaced?.({
|
|
137
|
+
reason,
|
|
138
|
+
replacedTransaction,
|
|
139
|
+
transaction
|
|
140
|
+
});
|
|
141
|
+
emit.resolve(transaction);
|
|
142
|
+
});
|
|
143
|
+
} catch (err_) {
|
|
144
|
+
done(() => emit.reject(err_));
|
|
145
|
+
}
|
|
146
|
+
else done(() => emit.reject(err));
|
|
147
|
+
} finally {
|
|
148
|
+
count++;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
});
|
|
186
154
|
}
|
|
155
|
+
//#endregion
|
|
156
|
+
exports.waitForTransaction = waitForTransaction;
|
|
157
|
+
|
|
187
158
|
//# sourceMappingURL=waitForTransaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitForTransaction.js","sourceRoot":"","sources":["../../../src/actions/waitForTransaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"waitForTransaction.js","names":["stringify","WaitForTransactionReceiptTimeoutError","observe","getAction","watchBlockNumber","getBlockStats","withRetry","getUTXOTransaction","TransactionReceiptNotFoundError","TransactionNotFoundError","Transaction","getBlock","address"],"sources":["../../../src/actions/waitForTransaction.ts"],"sourcesContent":["import { address, Transaction } from 'bitcoinjs-lib'\nimport {\n TransactionNotFoundError,\n TransactionReceiptNotFoundError,\n WaitForTransactionReceiptTimeoutError,\n} from '../errors/transaction.js'\nimport type { Chain } from '../types/chain.js'\nimport type { Client } from '../types/client.js'\nimport type { UTXOTransaction } from '../types/transaction.js'\nimport type { Transport } from '../types/transport.js'\nimport { getAction } from '../utils/getAction.js'\nimport { observe } from '../utils/observe.js'\nimport { stringify } from '../utils/stringify.js'\nimport { withRetry } from '../utils/withRetry.js'\nimport { getBlock } from './getBlock.js'\nimport { getBlockStats } from './getBlockStats.js'\nimport { getUTXOTransaction } from './getUTXOTransaction.js'\nimport { watchBlockNumber } from './watchBlockNumber.js'\n\nexport type ReplacementReason = 'cancelled' | 'replaced' | 'repriced'\nexport type ReplacementReturnType = {\n reason: ReplacementReason\n replacedTransaction: Transaction\n transaction: UTXOTransaction\n}\n\nexport type WaitForTransactionReceiptReturnType = UTXOTransaction\n\nexport type WithRetryParameters = {\n // The delay (in ms) between retries.\n delay?:\n | ((config: { count: number; error: Error }) => number)\n | number\n | undefined\n // The max number of times to retry.\n retryCount?: number | undefined\n}\n\nexport type WaitForTransactionReceiptParameters = {\n /** The Id of the transaction. */\n txId: string\n /** The hex string of the raw transaction. */\n txHex: string\n /** The sender address of the transaction. */\n senderAddress?: string\n /**\n * The number of confirmations (blocks that have passed) to wait before resolving.\n * @default 1\n */\n confirmations?: number | undefined\n /** Optional callback to emit if the transaction has been replaced. */\n onReplaced?: ((response: ReplacementReturnType) => void) | undefined\n /**\n * Polling frequency (in ms). Defaults to the client's pollingInterval config.\n * @default client.pollingInterval\n */\n pollingInterval?: number | undefined\n /**\n * Number of times to retry if the transaction or block is not found.\n * @default 6 (exponential backoff)\n */\n retryCount?: number\n /**\n * Time to wait (in ms) between retries.\n */\n retryDelay?: ((config: { count: number; error: Error }) => number) | number\n /** Optional timeout (in milliseconds) to wait before stopping polling. */\n timeout?: number | undefined\n}\n\n/**\n * Waits for the transaction to be included on a block (one confirmation), and then returns the transaction.\n * - JSON-RPC Methods:\n * - Polls getrawtransaction on each block until it has been processed.\n * - If a transaction has been replaced:\n * - Calls getblock and extracts the transactions\n * - Checks if one of the transactions is a replacement\n * - If so, calls getrawtransaction.\n *\n * The `waitForTransaction` action additionally supports replacement detection (e.g. RBF - transactions replaced-by-fee ).\n *\n * Transactions can be replaced when a user modifies their transaction in their wallet (to speed up or cancel).\n * https://bitcoinops.org/en/topics/replace-by-fee/\n *\n * There are 3 types of Transaction Replacement reasons:\n *\n * - `repriced`: The fee has been modified (e.g. same outputs, different amounts)\n * - `cancelled`: The Transaction has been cancelled (e.g. output is sender address)\n * - `replaced`: The Transaction has been replaced (e.g. different outputs)\n * @param client - Client to use\n * @param parameters - {@link WaitForTransactionReceiptParameters}\n * @returns The UTXO transaction. {@link WaitForTransactionReceiptReturnType}\n */\nexport async function waitForTransaction<chain extends Chain | undefined>(\n client: Client<Transport, chain>,\n {\n confirmations = 1,\n txId,\n txHex,\n senderAddress,\n onReplaced,\n pollingInterval = client.pollingInterval,\n retryCount = 10,\n retryDelay = 3_000,\n timeout,\n }: WaitForTransactionReceiptParameters\n): Promise<WaitForTransactionReceiptReturnType> {\n const observerId = stringify(['waitForTransaction', client.uid, txId])\n\n let count = 0\n let transaction: UTXOTransaction | undefined\n let replacedTransaction: Transaction | undefined\n let retrying = false\n\n return new Promise((resolve, reject) => {\n if (timeout) {\n setTimeout(\n () =>\n reject(\n new WaitForTransactionReceiptTimeoutError({ hash: txId as never })\n ),\n timeout\n )\n }\n\n const _unobserve = observe(\n observerId,\n { onReplaced, resolve, reject },\n (emit) => {\n const _unwatch = getAction(\n client,\n watchBlockNumber,\n 'watchBlockNumber'\n )({\n emitMissed: true,\n emitOnBegin: true,\n pollingInterval,\n async onBlockNumber(blockNumber_) {\n const done = (fn: () => void) => {\n _unwatch()\n fn()\n _unobserve()\n }\n\n let blockNumber = blockNumber_\n\n if (retrying) {\n return\n }\n if (count > retryCount) {\n done(() =>\n emit.reject(\n new WaitForTransactionReceiptTimeoutError({\n hash: txId as never,\n })\n )\n )\n }\n\n try {\n // If we already have a valid receipt, let's check if we have enough\n // confirmations. If we do, then we can resolve.\n if (transaction?.blockhash) {\n const blockStats = await getAction(\n client,\n getBlockStats,\n 'getBlockStats'\n )({\n blockHash: transaction.blockhash,\n stats: ['height'],\n })\n if (\n confirmations > 1 &&\n (!blockStats.height ||\n blockNumber - blockStats.height + 1 < confirmations)\n ) {\n return\n }\n done(() => emit.resolve(transaction!))\n return\n }\n\n // Get the transaction to check if it's been replaced.\n // We need to retry as some RPC Providers may be slow to sync\n // up mined transactions.\n retrying = true\n transaction = await withRetry(\n () =>\n getAction(\n client,\n getUTXOTransaction,\n 'getUTXOTransaction'\n // If transaction exists it might be the replaced one with different txId\n )({ txId: transaction?.txid || txId }),\n {\n delay: retryDelay,\n retryCount,\n }\n )\n if (transaction.blockhash) {\n const blockStats = await getAction(\n client,\n getBlockStats,\n 'getBlockStats'\n )({\n blockHash: transaction.blockhash,\n stats: ['height'],\n })\n if (blockStats.height) {\n blockNumber = blockStats.height\n }\n }\n retrying = false\n\n // Check if transaction has been processed.\n if (!transaction?.confirmations) {\n throw new TransactionReceiptNotFoundError({\n hash: txId as never,\n })\n }\n\n // Check if we have enough confirmations. If not, continue polling.\n if (transaction.confirmations < confirmations) {\n return\n }\n\n done(() => emit.resolve(transaction!))\n } catch (err) {\n // If the receipt is not found, the transaction will be pending.\n // We need to check if it has potentially been replaced.\n if (\n err instanceof TransactionNotFoundError ||\n err instanceof TransactionReceiptNotFoundError\n ) {\n try {\n replacedTransaction = Transaction.fromHex(\n transaction?.hex || txHex\n )\n\n // Let's retrieve the transactions from the current block.\n // We need to retry as some RPC Providers may be slow to sync\n // up mined blocks.\n retrying = true\n const block = await withRetry(\n () =>\n getAction(\n client,\n getBlock,\n 'getBlock'\n )({\n blockNumber,\n }),\n {\n delay: retryDelay,\n retryCount,\n // shouldRetry: ({ error }) =>\n // error instanceof BlockNotFoundError,\n }\n )\n retrying = false\n\n // Create a set of input identifiers for mempool transaction\n const replacedTransactionInputs = new Set<string>()\n\n for (const input of replacedTransaction.ins) {\n const txid = Array.from(input.hash)\n .reverse()\n .map((byte) => `00${byte.toString(16)}`.slice(-2))\n .join('')\n const vout = input.index\n const inputId = `${txid}:${vout}`\n replacedTransactionInputs.add(inputId)\n }\n\n let replacementTransaction: Transaction | undefined\n\n for (const tx of block.transactions!) {\n if (tx.isCoinbase()) {\n continue\n }\n\n // Check if any input of this transaction matches an input of mempool transaction\n for (const input of tx.ins) {\n const txid = Array.from(input.hash)\n .reverse()\n .map((byte) => `00${byte.toString(16)}`.slice(-2))\n .join('')\n const vout = input.index\n const inputId = `${txid}:${vout}`\n if (replacedTransactionInputs.has(inputId)) {\n replacementTransaction = tx\n break\n }\n }\n if (replacementTransaction) {\n break\n }\n }\n\n // If we couldn't find a replacement transaction, continue polling.\n if (!replacementTransaction) {\n return\n }\n\n // If we found a replacement transaction, return it's receipt.\n transaction = await getAction(\n client,\n getUTXOTransaction,\n 'getUTXOTransaction'\n )({\n txId: replacementTransaction.getId(),\n })\n\n // Check if we have enough confirmations. If not, continue polling.\n if (\n transaction.confirmations &&\n transaction.confirmations < confirmations\n ) {\n return\n }\n\n let reason: ReplacementReason = 'replaced'\n\n // Function to get output addresses\n function getOutputAddresses(tx: Transaction): string[] {\n const addresses: string[] = []\n for (const output of tx.outs) {\n try {\n const outputAddress = address.fromOutputScript(\n output.script\n )\n addresses.push(outputAddress)\n } catch (_e) {\n // Handle non-standard scripts (e.g., OP_RETURN)\n }\n }\n return addresses\n }\n\n // Get the recipient addresses from the original transaction\n const originalOutputAddresses =\n getOutputAddresses(replacedTransaction)\n\n // Get the recipient addresses from the replacement transaction\n const replacementOutputAddresses = getOutputAddresses(\n replacementTransaction\n )\n\n if (\n originalOutputAddresses.length ===\n replacementOutputAddresses.length &&\n originalOutputAddresses.every((address) =>\n replacementOutputAddresses.includes(address)\n )\n ) {\n reason = 'repriced'\n } else if (\n senderAddress &&\n replacementOutputAddresses.length === 1 &&\n replacementOutputAddresses.includes(senderAddress)\n ) {\n reason = 'cancelled'\n }\n\n done(() => {\n emit.onReplaced?.({\n reason,\n replacedTransaction: replacedTransaction!,\n transaction: transaction!,\n })\n emit.resolve(transaction!)\n })\n } catch (err_) {\n done(() => emit.reject(err_))\n }\n } else {\n done(() => emit.reject(err))\n }\n } finally {\n count++\n }\n },\n })\n }\n )\n })\n}\n"],"mappings":"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"}
|
|
@@ -1,16 +1,33 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { Chain } from "../types/chain.js";
|
|
2
|
+
import { Transport } from "../types/transport.js";
|
|
3
|
+
import { Client } from "../types/client.js";
|
|
4
|
+
import { GetBlockCountReturnType } from "./getBlockCount.js";
|
|
5
|
+
|
|
6
|
+
//#region src/actions/watchBlockNumber.d.ts
|
|
7
|
+
type OnBlockNumberParameter = GetBlockCountReturnType;
|
|
8
|
+
type OnBlockNumberFn = (blockNumber: OnBlockNumberParameter, prevBlockNumber: OnBlockNumberParameter | undefined) => Promise<void>;
|
|
9
|
+
type WatchBlockNumberParameters = {
|
|
10
|
+
/** The callback to call when a new block number is received. */onBlockNumber: OnBlockNumberFn; /** The callback to call when an error occurred when trying to get for a new block. */
|
|
11
|
+
onError?: ((error: Error) => void) | undefined;
|
|
10
12
|
} & {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
/** Whether or not to emit the missed block numbers to the callback. */emitMissed?: boolean | undefined; /** Whether or not to emit the latest block number to the callback when the subscription opens. */
|
|
14
|
+
emitOnBegin?: boolean | undefined; /** Polling frequency (in ms). Defaults to Client's pollingInterval config. */
|
|
15
|
+
pollingInterval?: number | undefined;
|
|
14
16
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
type WatchBlockNumberReturnType = () => void;
|
|
18
|
+
/**
|
|
19
|
+
* Watches and returns incoming block numbers.
|
|
20
|
+
* @param client - Client to use
|
|
21
|
+
* @param parameters - {@link WatchBlockNumberParameters}
|
|
22
|
+
* @returns A function that can be invoked to stop watching for new block numbers. {@link WatchBlockNumberReturnType}
|
|
23
|
+
*/
|
|
24
|
+
declare function watchBlockNumber<chain extends Chain | undefined, transport extends Transport>(client: Client<transport, chain>, {
|
|
25
|
+
emitOnBegin,
|
|
26
|
+
emitMissed,
|
|
27
|
+
onBlockNumber,
|
|
28
|
+
onError,
|
|
29
|
+
pollingInterval
|
|
30
|
+
}: WatchBlockNumberParameters): WatchBlockNumberReturnType;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { OnBlockNumberFn, OnBlockNumberParameter, WatchBlockNumberParameters, WatchBlockNumberReturnType, watchBlockNumber };
|
|
33
|
+
//# sourceMappingURL=watchBlockNumber.d.ts.map
|
|
@@ -1,45 +1,50 @@
|
|
|
1
|
-
"
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_actions_getBlockCount = require("./getBlockCount.js");
|
|
3
|
+
const require_utils_getAction = require("../utils/getAction.js");
|
|
4
|
+
const require_utils_observe = require("../utils/observe.js");
|
|
5
|
+
const require_utils_stringify = require("../utils/stringify.js");
|
|
6
|
+
const require_utils_poll = require("../utils/poll.js");
|
|
7
|
+
//#region src/actions/watchBlockNumber.ts
|
|
8
|
+
/**
|
|
9
|
+
* Watches and returns incoming block numbers.
|
|
10
|
+
* @param client - Client to use
|
|
11
|
+
* @param parameters - {@link WatchBlockNumberParameters}
|
|
12
|
+
* @returns A function that can be invoked to stop watching for new block numbers. {@link WatchBlockNumberReturnType}
|
|
13
|
+
*/
|
|
14
|
+
function watchBlockNumber(client, { emitOnBegin = false, emitMissed = false, onBlockNumber, onError, pollingInterval = client.pollingInterval }) {
|
|
15
|
+
let prevBlockNumber;
|
|
16
|
+
return require_utils_observe.observe(require_utils_stringify.stringify([
|
|
17
|
+
"watchBlockNumber",
|
|
18
|
+
client.uid,
|
|
19
|
+
emitOnBegin,
|
|
20
|
+
emitMissed,
|
|
21
|
+
pollingInterval
|
|
22
|
+
]), {
|
|
23
|
+
onBlockNumber,
|
|
24
|
+
onError
|
|
25
|
+
}, (emit) => require_utils_poll.poll(async () => {
|
|
26
|
+
try {
|
|
27
|
+
const blockNumber = await require_utils_getAction.getAction(client, require_actions_getBlockCount.getBlockCount, "getBlockCount")({ cacheTime: 0 });
|
|
28
|
+
if (prevBlockNumber) {
|
|
29
|
+
if (blockNumber === prevBlockNumber) return;
|
|
30
|
+
if (blockNumber - prevBlockNumber > 1 && emitMissed) for (let i = prevBlockNumber + 1; i < blockNumber; i++) {
|
|
31
|
+
await emit.onBlockNumber(i, prevBlockNumber);
|
|
32
|
+
prevBlockNumber = i;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (!prevBlockNumber || blockNumber > prevBlockNumber) {
|
|
36
|
+
await emit.onBlockNumber(blockNumber, prevBlockNumber);
|
|
37
|
+
prevBlockNumber = blockNumber;
|
|
38
|
+
}
|
|
39
|
+
} catch (err) {
|
|
40
|
+
emit.onError?.(err);
|
|
41
|
+
}
|
|
42
|
+
}, {
|
|
43
|
+
emitOnBegin,
|
|
44
|
+
interval: pollingInterval
|
|
45
|
+
}));
|
|
44
46
|
}
|
|
47
|
+
//#endregion
|
|
48
|
+
exports.watchBlockNumber = watchBlockNumber;
|
|
49
|
+
|
|
45
50
|
//# sourceMappingURL=watchBlockNumber.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchBlockNumber.js","
|
|
1
|
+
{"version":3,"file":"watchBlockNumber.js","names":["observe","stringify","poll","getAction","getBlockCount"],"sources":["../../../src/actions/watchBlockNumber.ts"],"sourcesContent":["import type { Chain } from '../types/chain.js'\nimport type { Client } from '../types/client.js'\nimport type { Transport } from '../types/transport.js'\nimport { getAction } from '../utils/getAction.js'\nimport { observe } from '../utils/observe.js'\nimport { poll } from '../utils/poll.js'\nimport { stringify } from '../utils/stringify.js'\nimport { type GetBlockCountReturnType, getBlockCount } from './getBlockCount.js'\n\nexport type OnBlockNumberParameter = GetBlockCountReturnType\nexport type OnBlockNumberFn = (\n blockNumber: OnBlockNumberParameter,\n prevBlockNumber: OnBlockNumberParameter | undefined\n) => Promise<void>\n\nexport type WatchBlockNumberParameters = {\n /** The callback to call when a new block number is received. */\n onBlockNumber: OnBlockNumberFn\n /** The callback to call when an error occurred when trying to get for a new block. */\n onError?: ((error: Error) => void) | undefined\n} & {\n /** Whether or not to emit the missed block numbers to the callback. */\n emitMissed?: boolean | undefined\n /** Whether or not to emit the latest block number to the callback when the subscription opens. */\n emitOnBegin?: boolean | undefined\n /** Polling frequency (in ms). Defaults to Client's pollingInterval config. */\n pollingInterval?: number | undefined\n}\n\nexport type WatchBlockNumberReturnType = () => void\n\n/**\n * Watches and returns incoming block numbers.\n * @param client - Client to use\n * @param parameters - {@link WatchBlockNumberParameters}\n * @returns A function that can be invoked to stop watching for new block numbers. {@link WatchBlockNumberReturnType}\n */\nexport function watchBlockNumber<\n chain extends Chain | undefined,\n transport extends Transport,\n>(\n client: Client<transport, chain>,\n {\n emitOnBegin = false,\n emitMissed = false,\n onBlockNumber,\n onError,\n pollingInterval = client.pollingInterval,\n }: WatchBlockNumberParameters\n): WatchBlockNumberReturnType {\n let prevBlockNumber: GetBlockCountReturnType | undefined\n\n const observerId = stringify([\n 'watchBlockNumber',\n client.uid,\n emitOnBegin,\n emitMissed,\n pollingInterval,\n ])\n\n // TODO (edge cases):\n // 1) Stop iterating block numbers if we are happy with the result of one onBlockNumber execution but there is more in the queue.\n // 2) If we missed some time - user closed the page and came back when the block is already mined.\n // In this case we probably want to save the block when we send the transaction and track the currently checked blocks until we find the relevant one.\n return observe(observerId, { onBlockNumber, onError }, (emit) =>\n poll(\n async () => {\n try {\n const blockNumber = await getAction(\n client,\n getBlockCount,\n 'getBlockCount'\n )({ cacheTime: 0 })\n\n if (prevBlockNumber) {\n // If the current block number is the same as the previous,\n // we can skip.\n if (blockNumber === prevBlockNumber) {\n return\n }\n\n // If we have missed out on some previous blocks, and the\n // `emitMissed` flag is truthy, let's emit those blocks.\n if (blockNumber - prevBlockNumber > 1 && emitMissed) {\n for (let i = prevBlockNumber + 1; i < blockNumber; i++) {\n await emit.onBlockNumber(i, prevBlockNumber)\n prevBlockNumber = i\n }\n }\n }\n\n // If the next block number is greater than the previous,\n // it is not in the past, and we can emit the new block number.\n if (!prevBlockNumber || blockNumber > prevBlockNumber) {\n await emit.onBlockNumber(blockNumber, prevBlockNumber)\n prevBlockNumber = blockNumber\n }\n } catch (err) {\n emit.onError?.(err as Error)\n }\n },\n {\n emitOnBegin,\n interval: pollingInterval,\n }\n )\n )\n}\n"],"mappings":";;;;;;;;;;;;;AAqCA,SAAgB,iBAId,QACA,EACE,cAAc,OACd,aAAa,OACb,eACA,SACA,kBAAkB,OAAO,mBAEC;CAC5B,IAAI;AAcJ,QAAOA,sBAAAA,QAZYC,wBAAAA,UAAU;EAC3B;EACA,OAAO;EACP;EACA;EACA;EACD,CAAC,EAMyB;EAAE;EAAe;EAAS,GAAG,SACtDC,mBAAAA,KACE,YAAY;AACV,MAAI;GACF,MAAM,cAAc,MAAMC,wBAAAA,UACxB,QACAC,8BAAAA,eACA,gBACD,CAAC,EAAE,WAAW,GAAG,CAAC;AAEnB,OAAI,iBAAiB;AAGnB,QAAI,gBAAgB,gBAClB;AAKF,QAAI,cAAc,kBAAkB,KAAK,WACvC,MAAK,IAAI,IAAI,kBAAkB,GAAG,IAAI,aAAa,KAAK;AACtD,WAAM,KAAK,cAAc,GAAG,gBAAgB;AAC5C,uBAAkB;;;AAOxB,OAAI,CAAC,mBAAmB,cAAc,iBAAiB;AACrD,UAAM,KAAK,cAAc,aAAa,gBAAgB;AACtD,sBAAkB;;WAEb,KAAK;AACZ,QAAK,UAAU,IAAa;;IAGhC;EACE;EACA,UAAU;EACX,CACF,CACF"}
|
|
@@ -1,24 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
};
|
|
9
|
-
id: ChainId.BITCOIN_MAINNET;
|
|
10
|
-
name: "Bitcoin";
|
|
11
|
-
rpcUrls: {
|
|
12
|
-
readonly default: {
|
|
13
|
-
readonly http: readonly ["https://node-router.thorswap.net/bitcoin"];
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
testnet?: boolean | undefined | undefined;
|
|
17
|
-
custom?: Record<string, unknown> | undefined;
|
|
18
|
-
formatters?: undefined;
|
|
19
|
-
readonly nativeCurrency: {
|
|
20
|
-
readonly name: "Bitcoin";
|
|
21
|
-
readonly symbol: "BTC";
|
|
22
|
-
readonly decimals: 8;
|
|
23
|
-
};
|
|
24
|
-
};
|
|
1
|
+
import { Chain } from "../types/chain.js";
|
|
2
|
+
|
|
3
|
+
//#region src/chains/bitcoin.d.ts
|
|
4
|
+
declare const bitcoin: Chain;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { bitcoin };
|
|
7
|
+
//# sourceMappingURL=bitcoin.d.ts.map
|