@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,232 +1,156 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
1
|
+
import { getBlock } from "./getBlock.js";
|
|
2
|
+
import { getBlockStats } from "./getBlockStats.js";
|
|
3
|
+
import { TransactionNotFoundError, TransactionReceiptNotFoundError, WaitForTransactionReceiptTimeoutError } from "../errors/transaction.js";
|
|
4
|
+
import { getUTXOTransaction } from "./getUTXOTransaction.js";
|
|
5
|
+
import { getAction } from "../utils/getAction.js";
|
|
6
|
+
import { observe } from "../utils/observe.js";
|
|
7
|
+
import { stringify } from "../utils/stringify.js";
|
|
8
|
+
import { withRetry } from "../utils/withRetry.js";
|
|
9
|
+
import { watchBlockNumber } from "./watchBlockNumber.js";
|
|
10
|
+
import { Transaction, address } from "bitcoinjs-lib";
|
|
11
|
+
//#region src/actions/waitForTransaction.ts
|
|
11
12
|
/**
|
|
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
|
-
.reverse()
|
|
152
|
-
.map((byte) => `00${byte.toString(16)}`.slice(-2))
|
|
153
|
-
.join('');
|
|
154
|
-
const vout = input.index;
|
|
155
|
-
const inputId = `${txid}:${vout}`;
|
|
156
|
-
if (replacedTransactionInputs.has(inputId)) {
|
|
157
|
-
replacementTransaction = tx;
|
|
158
|
-
break;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
if (replacementTransaction) {
|
|
162
|
-
break;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
// If we couldn't find a replacement transaction, continue polling.
|
|
166
|
-
if (!replacementTransaction) {
|
|
167
|
-
return;
|
|
168
|
-
}
|
|
169
|
-
// If we found a replacement transaction, return it's receipt.
|
|
170
|
-
transaction = await getAction(client, getUTXOTransaction, 'getUTXOTransaction')({
|
|
171
|
-
txId: replacementTransaction.getId(),
|
|
172
|
-
});
|
|
173
|
-
// Check if we have enough confirmations. If not, continue polling.
|
|
174
|
-
if (transaction.confirmations &&
|
|
175
|
-
transaction.confirmations < confirmations) {
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
let reason = 'replaced';
|
|
179
|
-
// Function to get output addresses
|
|
180
|
-
function getOutputAddresses(tx) {
|
|
181
|
-
const addresses = [];
|
|
182
|
-
for (const output of tx.outs) {
|
|
183
|
-
try {
|
|
184
|
-
const outputAddress = address.fromOutputScript(output.script);
|
|
185
|
-
addresses.push(outputAddress);
|
|
186
|
-
}
|
|
187
|
-
catch (_e) {
|
|
188
|
-
// Handle non-standard scripts (e.g., OP_RETURN)
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
return addresses;
|
|
192
|
-
}
|
|
193
|
-
// Get the recipient addresses from the original transaction
|
|
194
|
-
const originalOutputAddresses = getOutputAddresses(replacedTransaction);
|
|
195
|
-
// Get the recipient addresses from the replacement transaction
|
|
196
|
-
const replacementOutputAddresses = getOutputAddresses(replacementTransaction);
|
|
197
|
-
if (originalOutputAddresses.length ===
|
|
198
|
-
replacementOutputAddresses.length &&
|
|
199
|
-
originalOutputAddresses.every((address) => replacementOutputAddresses.includes(address))) {
|
|
200
|
-
reason = 'repriced';
|
|
201
|
-
}
|
|
202
|
-
else if (senderAddress &&
|
|
203
|
-
replacementOutputAddresses.length === 1 &&
|
|
204
|
-
replacementOutputAddresses.includes(senderAddress)) {
|
|
205
|
-
reason = 'cancelled';
|
|
206
|
-
}
|
|
207
|
-
done(() => {
|
|
208
|
-
emit.onReplaced?.({
|
|
209
|
-
reason,
|
|
210
|
-
replacedTransaction: replacedTransaction,
|
|
211
|
-
transaction: transaction,
|
|
212
|
-
});
|
|
213
|
-
emit.resolve(transaction);
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
catch (err_) {
|
|
217
|
-
done(() => emit.reject(err_));
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
else {
|
|
221
|
-
done(() => emit.reject(err));
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
finally {
|
|
225
|
-
count++;
|
|
226
|
-
}
|
|
227
|
-
},
|
|
228
|
-
});
|
|
229
|
-
});
|
|
230
|
-
});
|
|
13
|
+
* Waits for the transaction to be included on a block (one confirmation), and then returns the transaction.
|
|
14
|
+
* - JSON-RPC Methods:
|
|
15
|
+
* - Polls getrawtransaction on each block until it has been processed.
|
|
16
|
+
* - If a transaction has been replaced:
|
|
17
|
+
* - Calls getblock and extracts the transactions
|
|
18
|
+
* - Checks if one of the transactions is a replacement
|
|
19
|
+
* - If so, calls getrawtransaction.
|
|
20
|
+
*
|
|
21
|
+
* The `waitForTransaction` action additionally supports replacement detection (e.g. RBF - transactions replaced-by-fee ).
|
|
22
|
+
*
|
|
23
|
+
* Transactions can be replaced when a user modifies their transaction in their wallet (to speed up or cancel).
|
|
24
|
+
* https://bitcoinops.org/en/topics/replace-by-fee/
|
|
25
|
+
*
|
|
26
|
+
* There are 3 types of Transaction Replacement reasons:
|
|
27
|
+
*
|
|
28
|
+
* - `repriced`: The fee has been modified (e.g. same outputs, different amounts)
|
|
29
|
+
* - `cancelled`: The Transaction has been cancelled (e.g. output is sender address)
|
|
30
|
+
* - `replaced`: The Transaction has been replaced (e.g. different outputs)
|
|
31
|
+
* @param client - Client to use
|
|
32
|
+
* @param parameters - {@link WaitForTransactionReceiptParameters}
|
|
33
|
+
* @returns The UTXO transaction. {@link WaitForTransactionReceiptReturnType}
|
|
34
|
+
*/
|
|
35
|
+
async function waitForTransaction(client, { confirmations = 1, txId, txHex, senderAddress, onReplaced, pollingInterval = client.pollingInterval, retryCount = 10, retryDelay = 3e3, timeout }) {
|
|
36
|
+
const observerId = stringify([
|
|
37
|
+
"waitForTransaction",
|
|
38
|
+
client.uid,
|
|
39
|
+
txId
|
|
40
|
+
]);
|
|
41
|
+
let count = 0;
|
|
42
|
+
let transaction;
|
|
43
|
+
let replacedTransaction;
|
|
44
|
+
let retrying = false;
|
|
45
|
+
return new Promise((resolve, reject) => {
|
|
46
|
+
if (timeout) setTimeout(() => reject(new WaitForTransactionReceiptTimeoutError({ hash: txId })), timeout);
|
|
47
|
+
const _unobserve = observe(observerId, {
|
|
48
|
+
onReplaced,
|
|
49
|
+
resolve,
|
|
50
|
+
reject
|
|
51
|
+
}, (emit) => {
|
|
52
|
+
const _unwatch = getAction(client, watchBlockNumber, "watchBlockNumber")({
|
|
53
|
+
emitMissed: true,
|
|
54
|
+
emitOnBegin: true,
|
|
55
|
+
pollingInterval,
|
|
56
|
+
async onBlockNumber(blockNumber_) {
|
|
57
|
+
const done = (fn) => {
|
|
58
|
+
_unwatch();
|
|
59
|
+
fn();
|
|
60
|
+
_unobserve();
|
|
61
|
+
};
|
|
62
|
+
let blockNumber = blockNumber_;
|
|
63
|
+
if (retrying) return;
|
|
64
|
+
if (count > retryCount) done(() => emit.reject(new WaitForTransactionReceiptTimeoutError({ hash: txId })));
|
|
65
|
+
try {
|
|
66
|
+
if (transaction?.blockhash) {
|
|
67
|
+
const blockStats = await getAction(client, getBlockStats, "getBlockStats")({
|
|
68
|
+
blockHash: transaction.blockhash,
|
|
69
|
+
stats: ["height"]
|
|
70
|
+
});
|
|
71
|
+
if (confirmations > 1 && (!blockStats.height || blockNumber - blockStats.height + 1 < confirmations)) return;
|
|
72
|
+
done(() => emit.resolve(transaction));
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
retrying = true;
|
|
76
|
+
transaction = await withRetry(() => getAction(client, getUTXOTransaction, "getUTXOTransaction")({ txId: transaction?.txid || txId }), {
|
|
77
|
+
delay: retryDelay,
|
|
78
|
+
retryCount
|
|
79
|
+
});
|
|
80
|
+
if (transaction.blockhash) {
|
|
81
|
+
const blockStats = await getAction(client, getBlockStats, "getBlockStats")({
|
|
82
|
+
blockHash: transaction.blockhash,
|
|
83
|
+
stats: ["height"]
|
|
84
|
+
});
|
|
85
|
+
if (blockStats.height) blockNumber = blockStats.height;
|
|
86
|
+
}
|
|
87
|
+
retrying = false;
|
|
88
|
+
if (!transaction?.confirmations) throw new TransactionReceiptNotFoundError({ hash: txId });
|
|
89
|
+
if (transaction.confirmations < confirmations) return;
|
|
90
|
+
done(() => emit.resolve(transaction));
|
|
91
|
+
} catch (err) {
|
|
92
|
+
if (err instanceof TransactionNotFoundError || err instanceof TransactionReceiptNotFoundError) try {
|
|
93
|
+
replacedTransaction = Transaction.fromHex(transaction?.hex || txHex);
|
|
94
|
+
retrying = true;
|
|
95
|
+
const block = await withRetry(() => getAction(client, getBlock, "getBlock")({ blockNumber }), {
|
|
96
|
+
delay: retryDelay,
|
|
97
|
+
retryCount
|
|
98
|
+
});
|
|
99
|
+
retrying = false;
|
|
100
|
+
const replacedTransactionInputs = /* @__PURE__ */ new Set();
|
|
101
|
+
for (const input of replacedTransaction.ins) {
|
|
102
|
+
const inputId = `${Array.from(input.hash).reverse().map((byte) => `00${byte.toString(16)}`.slice(-2)).join("")}:${input.index}`;
|
|
103
|
+
replacedTransactionInputs.add(inputId);
|
|
104
|
+
}
|
|
105
|
+
let replacementTransaction;
|
|
106
|
+
for (const tx of block.transactions) {
|
|
107
|
+
if (tx.isCoinbase()) continue;
|
|
108
|
+
for (const input of tx.ins) {
|
|
109
|
+
const inputId = `${Array.from(input.hash).reverse().map((byte) => `00${byte.toString(16)}`.slice(-2)).join("")}:${input.index}`;
|
|
110
|
+
if (replacedTransactionInputs.has(inputId)) {
|
|
111
|
+
replacementTransaction = tx;
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (replacementTransaction) break;
|
|
116
|
+
}
|
|
117
|
+
if (!replacementTransaction) return;
|
|
118
|
+
transaction = await getAction(client, getUTXOTransaction, "getUTXOTransaction")({ txId: replacementTransaction.getId() });
|
|
119
|
+
if (transaction.confirmations && transaction.confirmations < confirmations) return;
|
|
120
|
+
let reason = "replaced";
|
|
121
|
+
function getOutputAddresses(tx) {
|
|
122
|
+
const addresses = [];
|
|
123
|
+
for (const output of tx.outs) try {
|
|
124
|
+
const outputAddress = address.fromOutputScript(output.script);
|
|
125
|
+
addresses.push(outputAddress);
|
|
126
|
+
} catch (_e) {}
|
|
127
|
+
return addresses;
|
|
128
|
+
}
|
|
129
|
+
const originalOutputAddresses = getOutputAddresses(replacedTransaction);
|
|
130
|
+
const replacementOutputAddresses = getOutputAddresses(replacementTransaction);
|
|
131
|
+
if (originalOutputAddresses.length === replacementOutputAddresses.length && originalOutputAddresses.every((address) => replacementOutputAddresses.includes(address))) reason = "repriced";
|
|
132
|
+
else if (senderAddress && replacementOutputAddresses.length === 1 && replacementOutputAddresses.includes(senderAddress)) reason = "cancelled";
|
|
133
|
+
done(() => {
|
|
134
|
+
emit.onReplaced?.({
|
|
135
|
+
reason,
|
|
136
|
+
replacedTransaction,
|
|
137
|
+
transaction
|
|
138
|
+
});
|
|
139
|
+
emit.resolve(transaction);
|
|
140
|
+
});
|
|
141
|
+
} catch (err_) {
|
|
142
|
+
done(() => emit.reject(err_));
|
|
143
|
+
}
|
|
144
|
+
else done(() => emit.reject(err));
|
|
145
|
+
} finally {
|
|
146
|
+
count++;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
});
|
|
231
152
|
}
|
|
153
|
+
//#endregion
|
|
154
|
+
export { waitForTransaction };
|
|
155
|
+
|
|
232
156
|
//# 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":[],"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,27 +1,33 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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;
|
|
12
12
|
} & {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
emitOnBegin?: boolean | undefined;
|
|
17
|
-
/** Polling frequency (in ms). Defaults to Client's pollingInterval config. */
|
|
18
|
-
pollingInterval?: number | undefined;
|
|
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;
|
|
19
16
|
};
|
|
20
|
-
|
|
17
|
+
type WatchBlockNumberReturnType = () => void;
|
|
21
18
|
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watchBlockNumber.d.ts","names":[],"sources":["../../../src/actions/watchBlockNumber.ts"],"mappings":";;;;;;KASY,sBAAA,GAAyB,uBAAA;AAAA,KACzB,eAAA,IACV,WAAA,EAAa,sBAAA,EACb,eAAA,EAAiB,sBAAA,iBACd,OAAA;AAAA,KAEO,0BAAA;EANA,gEAQV,aAAA,EAAe,eAAA,EARoB;EAUnC,OAAA,KAAY,KAAA,EAAO,KAAA;AAAA;EATT,uEAYV,UAAA;EAEA,WAAA;EAEA,eAAA;AAAA;AAAA,KAGU,0BAAA;;;;;;;iBAQI,gBAAA,eACA,KAAA,gCACI,SAAA,CAAA,CAElB,MAAA,EAAQ,MAAA,CAAO,SAAA,EAAW,KAAA;EAExB,WAAA;EACA,UAAA;EACA,aAAA;EACA,OAAA;EACA;AAAA,GACC,0BAAA,GACF,0BAAA"}
|
|
@@ -1,58 +1,49 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { stringify } from
|
|
5
|
-
import {
|
|
1
|
+
import { getBlockCount } from "./getBlockCount.js";
|
|
2
|
+
import { getAction } from "../utils/getAction.js";
|
|
3
|
+
import { observe } from "../utils/observe.js";
|
|
4
|
+
import { stringify } from "../utils/stringify.js";
|
|
5
|
+
import { poll } from "../utils/poll.js";
|
|
6
|
+
//#region src/actions/watchBlockNumber.ts
|
|
6
7
|
/**
|
|
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
|
-
|
|
44
|
-
// it is not in the past, and we can emit the new block number.
|
|
45
|
-
if (!prevBlockNumber || blockNumber > prevBlockNumber) {
|
|
46
|
-
await emit.onBlockNumber(blockNumber, prevBlockNumber);
|
|
47
|
-
prevBlockNumber = blockNumber;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
catch (err) {
|
|
51
|
-
emit.onError?.(err);
|
|
52
|
-
}
|
|
53
|
-
}, {
|
|
54
|
-
emitOnBegin,
|
|
55
|
-
interval: pollingInterval,
|
|
56
|
-
}));
|
|
8
|
+
* Watches and returns incoming block numbers.
|
|
9
|
+
* @param client - Client to use
|
|
10
|
+
* @param parameters - {@link WatchBlockNumberParameters}
|
|
11
|
+
* @returns A function that can be invoked to stop watching for new block numbers. {@link WatchBlockNumberReturnType}
|
|
12
|
+
*/
|
|
13
|
+
function watchBlockNumber(client, { emitOnBegin = false, emitMissed = false, onBlockNumber, onError, pollingInterval = client.pollingInterval }) {
|
|
14
|
+
let prevBlockNumber;
|
|
15
|
+
return observe(stringify([
|
|
16
|
+
"watchBlockNumber",
|
|
17
|
+
client.uid,
|
|
18
|
+
emitOnBegin,
|
|
19
|
+
emitMissed,
|
|
20
|
+
pollingInterval
|
|
21
|
+
]), {
|
|
22
|
+
onBlockNumber,
|
|
23
|
+
onError
|
|
24
|
+
}, (emit) => poll(async () => {
|
|
25
|
+
try {
|
|
26
|
+
const blockNumber = await getAction(client, getBlockCount, "getBlockCount")({ cacheTime: 0 });
|
|
27
|
+
if (prevBlockNumber) {
|
|
28
|
+
if (blockNumber === prevBlockNumber) return;
|
|
29
|
+
if (blockNumber - prevBlockNumber > 1 && emitMissed) for (let i = prevBlockNumber + 1; i < blockNumber; i++) {
|
|
30
|
+
await emit.onBlockNumber(i, prevBlockNumber);
|
|
31
|
+
prevBlockNumber = i;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (!prevBlockNumber || blockNumber > prevBlockNumber) {
|
|
35
|
+
await emit.onBlockNumber(blockNumber, prevBlockNumber);
|
|
36
|
+
prevBlockNumber = blockNumber;
|
|
37
|
+
}
|
|
38
|
+
} catch (err) {
|
|
39
|
+
emit.onError?.(err);
|
|
40
|
+
}
|
|
41
|
+
}, {
|
|
42
|
+
emitOnBegin,
|
|
43
|
+
interval: pollingInterval
|
|
44
|
+
}));
|
|
57
45
|
}
|
|
46
|
+
//#endregion
|
|
47
|
+
export { watchBlockNumber };
|
|
48
|
+
|
|
58
49
|
//# sourceMappingURL=watchBlockNumber.js.map
|