@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,195 +1,163 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
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
|
-
|
|
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
|
-
ping: rankOptions.ping,
|
|
108
|
-
sampleCount: rankOptions.sampleCount,
|
|
109
|
-
timeout: rankOptions.timeout,
|
|
110
|
-
transports,
|
|
111
|
-
weights: rankOptions.weights,
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
return transport;
|
|
115
|
-
});
|
|
1
|
+
import { wait } from "../utils/wait.js";
|
|
2
|
+
import { RpcErrorCode } from "../errors/rpc.js";
|
|
3
|
+
import { AllTransportsFailedError, TransportMethodNotSupportedError } from "../errors/transport.js";
|
|
4
|
+
import { InsufficientUTXOBalanceError } from "../errors/utxo.js";
|
|
5
|
+
import { createTransport } from "../factories/createTransport.js";
|
|
6
|
+
//#region src/transports/fallback.ts
|
|
7
|
+
function fallback(transports_, config = {}) {
|
|
8
|
+
const { key = "fallback", name = "Fallback", rank = false, shouldThrow: shouldThrow_ = shouldThrow, retryCount, retryDelay } = config;
|
|
9
|
+
return (({ chain, pollingInterval = 4e3, timeout, ...rest }) => {
|
|
10
|
+
let transports = transports_;
|
|
11
|
+
let onResponse = () => {};
|
|
12
|
+
const transport = createTransport({
|
|
13
|
+
key,
|
|
14
|
+
name,
|
|
15
|
+
async request({ method, params }) {
|
|
16
|
+
const supportedTransports = transports.reduce((supportedTransports, transport) => {
|
|
17
|
+
const instance = transport({
|
|
18
|
+
...rest,
|
|
19
|
+
chain,
|
|
20
|
+
retryCount: 0,
|
|
21
|
+
timeout
|
|
22
|
+
});
|
|
23
|
+
const { include, exclude } = instance.config.methods || {};
|
|
24
|
+
if (include) {
|
|
25
|
+
if (include.includes(method)) supportedTransports.push(instance);
|
|
26
|
+
return supportedTransports;
|
|
27
|
+
}
|
|
28
|
+
if (exclude) {
|
|
29
|
+
if (!exclude.includes(method)) supportedTransports.push(instance);
|
|
30
|
+
return supportedTransports;
|
|
31
|
+
}
|
|
32
|
+
supportedTransports.push(instance);
|
|
33
|
+
return supportedTransports;
|
|
34
|
+
}, []);
|
|
35
|
+
if (!supportedTransports.length) throw new TransportMethodNotSupportedError({ method });
|
|
36
|
+
const collectedErrors = [];
|
|
37
|
+
const fetch = async (i = 0) => {
|
|
38
|
+
const transport = supportedTransports[i];
|
|
39
|
+
try {
|
|
40
|
+
const response = await transport.request({
|
|
41
|
+
method,
|
|
42
|
+
params
|
|
43
|
+
});
|
|
44
|
+
onResponse({
|
|
45
|
+
method,
|
|
46
|
+
params,
|
|
47
|
+
response,
|
|
48
|
+
transport,
|
|
49
|
+
status: "success"
|
|
50
|
+
});
|
|
51
|
+
return response;
|
|
52
|
+
} catch (err) {
|
|
53
|
+
onResponse({
|
|
54
|
+
error: err,
|
|
55
|
+
method,
|
|
56
|
+
params,
|
|
57
|
+
transport,
|
|
58
|
+
status: "error"
|
|
59
|
+
});
|
|
60
|
+
if (shouldThrow_(err)) throw err;
|
|
61
|
+
collectedErrors.push({
|
|
62
|
+
transport: transport.config.name,
|
|
63
|
+
error: err,
|
|
64
|
+
attempt: i + 1
|
|
65
|
+
});
|
|
66
|
+
if (i === supportedTransports.length - 1) throw new AllTransportsFailedError({
|
|
67
|
+
method,
|
|
68
|
+
params,
|
|
69
|
+
errors: collectedErrors,
|
|
70
|
+
totalAttempts: i + 1
|
|
71
|
+
});
|
|
72
|
+
return fetch(i + 1);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
return fetch();
|
|
76
|
+
},
|
|
77
|
+
retryCount,
|
|
78
|
+
retryDelay,
|
|
79
|
+
type: "fallback"
|
|
80
|
+
}, {
|
|
81
|
+
onResponse: (fn) => {
|
|
82
|
+
onResponse = fn;
|
|
83
|
+
},
|
|
84
|
+
transports: transports.map((fn) => fn({
|
|
85
|
+
chain,
|
|
86
|
+
retryCount: 0
|
|
87
|
+
}))
|
|
88
|
+
});
|
|
89
|
+
if (rank) {
|
|
90
|
+
const rankOptions = typeof rank === "object" ? rank : {};
|
|
91
|
+
rankTransports({
|
|
92
|
+
chain,
|
|
93
|
+
interval: rankOptions.interval ?? pollingInterval,
|
|
94
|
+
onTransports: (transports_) => {
|
|
95
|
+
transports = transports_;
|
|
96
|
+
},
|
|
97
|
+
ping: rankOptions.ping,
|
|
98
|
+
sampleCount: rankOptions.sampleCount,
|
|
99
|
+
timeout: rankOptions.timeout,
|
|
100
|
+
transports,
|
|
101
|
+
weights: rankOptions.weights
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
return transport;
|
|
105
|
+
});
|
|
116
106
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
error.code === RpcErrorCode.USER_REJECTION ||
|
|
124
|
-
error.code === 5000 // CAIP UserRejectedRequestError
|
|
125
|
-
) {
|
|
126
|
-
return true;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return false;
|
|
107
|
+
function shouldThrow(error) {
|
|
108
|
+
if (error instanceof InsufficientUTXOBalanceError) return true;
|
|
109
|
+
if ("code" in error && typeof error.code === "number") {
|
|
110
|
+
if (error.code === RpcErrorCode.INTERNAL_ERROR || error.code === RpcErrorCode.USER_REJECTION || error.code === 5e3) return true;
|
|
111
|
+
}
|
|
112
|
+
return false;
|
|
130
113
|
}
|
|
131
114
|
/** @internal */
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
const stabilityScore = successes.reduce((acc, success) => acc + success, 0) /
|
|
177
|
-
successes.length;
|
|
178
|
-
if (stabilityScore === 0) {
|
|
179
|
-
return [0, i];
|
|
180
|
-
}
|
|
181
|
-
return [
|
|
182
|
-
latencyWeight * latencyScore + stabilityWeight * stabilityScore,
|
|
183
|
-
i,
|
|
184
|
-
];
|
|
185
|
-
})
|
|
186
|
-
.sort((a, b) => b[0] - a[0]);
|
|
187
|
-
// 5. Sort the Transports by score.
|
|
188
|
-
onTransports(scores.map(([, i]) => transports[i]));
|
|
189
|
-
// 6. Wait, and then rank again.
|
|
190
|
-
await wait(interval);
|
|
191
|
-
rankTransports_();
|
|
192
|
-
};
|
|
193
|
-
rankTransports_();
|
|
115
|
+
function rankTransports({ chain, interval = 4e3, onTransports, ping, sampleCount = 10, timeout = 1e3, transports, weights = {} }) {
|
|
116
|
+
const { stability: stabilityWeight = .7, latency: latencyWeight = .3 } = weights;
|
|
117
|
+
const samples = [];
|
|
118
|
+
const rankTransports_ = async () => {
|
|
119
|
+
const sample = await Promise.all(transports.map(async (transport) => {
|
|
120
|
+
const transport_ = transport({
|
|
121
|
+
chain,
|
|
122
|
+
retryCount: 0,
|
|
123
|
+
timeout
|
|
124
|
+
});
|
|
125
|
+
const start = Date.now();
|
|
126
|
+
let end;
|
|
127
|
+
let success;
|
|
128
|
+
try {
|
|
129
|
+
await (ping ? ping({ transport: transport_ }) : transport_.request({
|
|
130
|
+
method: "net_listening",
|
|
131
|
+
params: void 0
|
|
132
|
+
}));
|
|
133
|
+
success = 1;
|
|
134
|
+
} catch {
|
|
135
|
+
success = 0;
|
|
136
|
+
} finally {
|
|
137
|
+
end = Date.now();
|
|
138
|
+
}
|
|
139
|
+
return {
|
|
140
|
+
latency: end - start,
|
|
141
|
+
success
|
|
142
|
+
};
|
|
143
|
+
}));
|
|
144
|
+
samples.push(sample);
|
|
145
|
+
if (samples.length > sampleCount) samples.shift();
|
|
146
|
+
const maxLatency = Math.max(...samples.map((sample) => Math.max(...sample.map(({ latency }) => latency))));
|
|
147
|
+
onTransports(transports.map((_, i) => {
|
|
148
|
+
const latencies = samples.map((sample) => sample[i].latency);
|
|
149
|
+
const latencyScore = 1 - latencies.reduce((acc, latency) => acc + latency, 0) / latencies.length / maxLatency;
|
|
150
|
+
const successes = samples.map((sample) => sample[i].success);
|
|
151
|
+
const stabilityScore = successes.reduce((acc, success) => acc + success, 0) / successes.length;
|
|
152
|
+
if (stabilityScore === 0) return [0, i];
|
|
153
|
+
return [latencyWeight * latencyScore + stabilityWeight * stabilityScore, i];
|
|
154
|
+
}).sort((a, b) => b[0] - a[0]).map(([, i]) => transports[i]));
|
|
155
|
+
await wait(interval);
|
|
156
|
+
rankTransports_();
|
|
157
|
+
};
|
|
158
|
+
rankTransports_();
|
|
194
159
|
}
|
|
160
|
+
//#endregion
|
|
161
|
+
export { fallback, rankTransports, shouldThrow };
|
|
162
|
+
|
|
195
163
|
//# sourceMappingURL=fallback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/transports/fallback.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fallback.js","names":[],"sources":["../../../src/transports/fallback.ts"],"sourcesContent":["import { RpcErrorCode } from '../errors/rpc.js'\nimport {\n AllTransportsFailedError,\n TransportMethodNotSupportedError,\n} from '../errors/transport.js'\nimport type { ErrorType } from '../errors/utils.js'\nimport { InsufficientUTXOBalanceError } from '../errors/utxo.js'\nimport { createTransport } from '../factories/createTransport.js'\nimport type { Chain } from '../types/chain.js'\nimport type {\n CreateTransportErrorType,\n Transport,\n TransportConfig,\n} from '../types/transport.js'\nimport { wait } from '../utils/wait.js'\n\n// TODO: Narrow `method` & `params` types.\nexport type OnResponseFn = (\n args: {\n method: string\n params: unknown[]\n transport: ReturnType<Transport>\n } & (\n | {\n error?: undefined\n response: unknown\n status: 'success'\n }\n | {\n error: Error\n response?: undefined\n status: 'error'\n }\n )\n) => void\n\ntype RankOptions = {\n /**\n * The polling interval (in ms) at which the ranker should ping the RPC URL.\n * @default client.pollingInterval\n */\n interval?: number | undefined\n /**\n * Ping method to determine latency.\n */\n ping?: (parameters: {\n transport: ReturnType<Transport>\n }) => Promise<unknown> | undefined\n /**\n * The number of previous samples to perform ranking on.\n * @default 10\n */\n sampleCount?: number | undefined\n /**\n * Timeout when sampling transports.\n * @default 1_000\n */\n timeout?: number | undefined\n /**\n * Weights to apply to the scores. Weight values are proportional.\n */\n weights?:\n | {\n /**\n * The weight to apply to the latency score.\n * @default 0.3\n */\n latency?: number | undefined\n /**\n * The weight to apply to the stability score.\n * @default 0.7\n */\n stability?: number | undefined\n }\n | undefined\n}\n\nexport type FallbackTransportConfig = {\n /** The key of the Fallback transport. */\n key?: TransportConfig['key'] | undefined\n /** The name of the Fallback transport. */\n name?: TransportConfig['name'] | undefined\n /** Toggle to enable ranking, or rank options. */\n rank?: boolean | RankOptions | undefined\n /** The max number of times to retry. */\n retryCount?: TransportConfig['retryCount'] | undefined\n /** The base delay (in ms) between retries. */\n retryDelay?: TransportConfig['retryDelay'] | undefined\n /** Callback on whether an error should throw or try the next transport in the fallback. */\n shouldThrow?: (error: Error) => boolean | undefined\n}\n\nexport type FallbackTransport<\n transports extends readonly Transport[] = readonly Transport[],\n> = Transport<\n 'fallback',\n {\n onResponse: (fn: OnResponseFn) => void\n transports: {\n [key in keyof transports]: ReturnType<transports[key]>\n }\n }\n>\n\nexport type FallbackTransportErrorType = CreateTransportErrorType | ErrorType\n\nexport function fallback<const transports extends readonly Transport[]>(\n transports_: transports,\n config: FallbackTransportConfig = {}\n): FallbackTransport<transports> {\n const {\n key = 'fallback',\n name = 'Fallback',\n rank = false,\n shouldThrow: shouldThrow_ = shouldThrow,\n retryCount,\n retryDelay,\n } = config\n return (({ chain, pollingInterval = 4_000, timeout, ...rest }) => {\n let transports = transports_\n\n let onResponse: OnResponseFn = () => {}\n\n const transport = createTransport(\n {\n key,\n name,\n async request({ method, params }) {\n // Filter transports to only those that support the requested method\n const supportedTransports = transports.reduce<\n ReturnType<Transport>[]\n >((supportedTransports, transport) => {\n const instance = transport({\n ...rest,\n chain,\n retryCount: 0,\n timeout,\n })\n const { include, exclude } = instance.config.methods || {}\n if (include) {\n if (include.includes(method)) {\n supportedTransports.push(instance)\n }\n return supportedTransports\n }\n if (exclude) {\n if (!exclude.includes(method)) {\n supportedTransports.push(instance)\n }\n return supportedTransports\n }\n supportedTransports.push(instance)\n return supportedTransports\n }, [])\n\n if (!supportedTransports.length) {\n throw new TransportMethodNotSupportedError({ method })\n }\n\n const collectedErrors: Array<{\n transport: string\n error: Error\n attempt: number\n }> = []\n\n const fetch = async (i = 0): Promise<any> => {\n const transport = supportedTransports[i]\n try {\n const response = await transport.request({\n method,\n params,\n })\n\n onResponse({\n method,\n params: params as unknown[],\n response,\n transport,\n status: 'success',\n })\n\n return response\n } catch (err) {\n onResponse({\n error: err as Error,\n method,\n params: params as unknown[],\n transport,\n status: 'error',\n })\n\n if (shouldThrow_(err as Error)) {\n throw err\n }\n\n collectedErrors.push({\n transport: transport.config.name,\n error: err as Error,\n attempt: i + 1,\n })\n\n // If we've reached the end of the fallbacks, throw all collected errors.\n if (i === supportedTransports.length - 1) {\n throw new AllTransportsFailedError({\n method,\n params,\n errors: collectedErrors,\n totalAttempts: i + 1,\n })\n }\n\n // Otherwise, try the next fallback.\n return fetch(i + 1)\n }\n }\n return fetch()\n },\n retryCount,\n retryDelay,\n type: 'fallback',\n },\n {\n onResponse: (fn: OnResponseFn) => {\n onResponse = fn\n },\n transports: transports.map((fn) => fn({ chain, retryCount: 0 })),\n }\n )\n\n if (rank) {\n const rankOptions = (typeof rank === 'object' ? rank : {}) as RankOptions\n rankTransports({\n chain,\n interval: rankOptions.interval ?? pollingInterval,\n onTransports: (transports_) => {\n transports = transports_ as transports\n },\n ping: rankOptions.ping,\n sampleCount: rankOptions.sampleCount,\n timeout: rankOptions.timeout,\n transports,\n weights: rankOptions.weights,\n })\n }\n return transport\n }) as FallbackTransport<transports>\n}\n\nexport function shouldThrow(error: Error): boolean {\n if (error instanceof InsufficientUTXOBalanceError) {\n return true\n }\n\n if ('code' in error && typeof error.code === 'number') {\n if (\n error.code === RpcErrorCode.INTERNAL_ERROR ||\n error.code === RpcErrorCode.USER_REJECTION ||\n error.code === 5000 // CAIP UserRejectedRequestError\n ) {\n return true\n }\n }\n\n return false\n}\n\n/** @internal */\nexport function rankTransports({\n chain,\n interval = 4_000,\n onTransports,\n ping,\n sampleCount = 10,\n timeout = 1_000,\n transports,\n weights = {},\n}: {\n chain?: Chain | undefined\n interval: RankOptions['interval']\n onTransports: (transports: readonly Transport[]) => void\n ping?: RankOptions['ping'] | undefined\n sampleCount?: RankOptions['sampleCount'] | undefined\n timeout?: RankOptions['timeout'] | undefined\n transports: readonly Transport[]\n weights?: RankOptions['weights'] | undefined\n}): void {\n const { stability: stabilityWeight = 0.7, latency: latencyWeight = 0.3 } =\n weights\n\n type SampleData = { latency: number; success: number }\n type Sample = SampleData[]\n const samples: Sample[] = []\n\n const rankTransports_ = async () => {\n // 1. Take a sample from each Transport.\n const sample: Sample = await Promise.all(\n transports.map(async (transport) => {\n const transport_ = transport({ chain, retryCount: 0, timeout })\n\n const start = Date.now()\n let end: number\n let success: number\n try {\n await (ping\n ? ping({ transport: transport_ })\n : transport_.request({\n method: 'net_listening',\n params: undefined,\n }))\n success = 1\n } catch {\n success = 0\n } finally {\n end = Date.now()\n }\n const latency = end - start\n return { latency, success }\n })\n )\n\n // 2. Store the sample. If we have more than `sampleCount` samples, remove\n // the oldest sample.\n samples.push(sample)\n if (samples.length > sampleCount) {\n samples.shift()\n }\n\n // 3. Calculate the max latency from samples.\n const maxLatency = Math.max(\n ...samples.map((sample) =>\n Math.max(...sample.map(({ latency }) => latency))\n )\n )\n\n // 4. Calculate the score for each Transport.\n const scores = transports\n .map((_, i) => {\n const latencies = samples.map((sample) => sample[i].latency)\n const meanLatency =\n latencies.reduce((acc, latency) => acc + latency, 0) /\n latencies.length\n const latencyScore = 1 - meanLatency / maxLatency\n\n const successes = samples.map((sample) => sample[i].success)\n const stabilityScore =\n successes.reduce((acc, success) => acc + success, 0) /\n successes.length\n\n if (stabilityScore === 0) {\n return [0, i]\n }\n return [\n latencyWeight * latencyScore + stabilityWeight * stabilityScore,\n i,\n ]\n })\n .sort((a, b) => b[0] - a[0])\n\n // 5. Sort the Transports by score.\n onTransports(scores.map(([, i]) => transports[i]))\n\n // 6. Wait, and then rank again.\n await wait(interval)\n rankTransports_()\n }\n rankTransports_()\n}\n"],"mappings":"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"}
|
|
@@ -1,38 +1,34 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { RpcResponse } from "../types/rpc.js";
|
|
2
|
+
import { MaybePromise } from "../types/utils.js";
|
|
3
|
+
|
|
4
|
+
//#region src/transports/getHttpRpcClient.d.ts
|
|
5
|
+
type RpcRequest = {
|
|
6
|
+
jsonrpc?: "2.0";
|
|
7
|
+
method: string;
|
|
8
|
+
params?: any;
|
|
9
|
+
id?: number;
|
|
8
10
|
};
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
/** A callback to handle the response. */
|
|
18
|
-
onResponse?: ((response: Response) => Promise<void> | void) | undefined;
|
|
19
|
-
/** The timeout (in ms) for the request. */
|
|
20
|
-
timeout?: number | undefined;
|
|
11
|
+
type HttpRequestReturnType<body extends RpcRequest | RpcRequest[] = RpcRequest> = body extends RpcRequest[] ? RpcResponse[] : RpcResponse;
|
|
12
|
+
type HttpRpcClientOptions = {
|
|
13
|
+
/** Request configuration to pass to `fetch`. */fetchOptions?: Omit<RequestInit, "body"> | undefined; /** A callback to handle the request. */
|
|
14
|
+
onRequest?: ((request: Request, init: RequestInit) => MaybePromise<void | undefined | (RequestInit & {
|
|
15
|
+
url?: string | undefined;
|
|
16
|
+
})>) | undefined; /** A callback to handle the response. */
|
|
17
|
+
onResponse?: ((response: Response) => Promise<void> | void) | undefined; /** The timeout (in ms) for the request. */
|
|
18
|
+
timeout?: number | undefined;
|
|
21
19
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
onRequest?: ((request: Request) => Promise<void> | void) | undefined;
|
|
30
|
-
/** A callback to handle the response. */
|
|
31
|
-
onResponse?: ((response: Response) => Promise<void> | void) | undefined;
|
|
32
|
-
/** The timeout (in ms) for the request. */
|
|
33
|
-
timeout?: HttpRpcClientOptions['timeout'] | undefined;
|
|
20
|
+
type HttpRequestParameters<body extends RpcRequest | RpcRequest[] = RpcRequest> = {
|
|
21
|
+
url?: string; /** The RPC request body. */
|
|
22
|
+
body?: body; /** Request configuration to pass to `fetch`. */
|
|
23
|
+
fetchOptions?: HttpRpcClientOptions["fetchOptions"] | undefined; /** A callback to handle the response. */
|
|
24
|
+
onRequest?: ((request: Request) => Promise<void> | void) | undefined; /** A callback to handle the response. */
|
|
25
|
+
onResponse?: ((response: Response) => Promise<void> | void) | undefined; /** The timeout (in ms) for the request. */
|
|
26
|
+
timeout?: HttpRpcClientOptions["timeout"] | undefined;
|
|
34
27
|
};
|
|
35
|
-
|
|
36
|
-
|
|
28
|
+
type HttpRpcClient = {
|
|
29
|
+
request<body extends RpcRequest | RpcRequest[]>(params: HttpRequestParameters<body>): Promise<HttpRequestReturnType<body>>;
|
|
37
30
|
};
|
|
38
|
-
|
|
31
|
+
declare function getHttpRpcClient(url: string, options?: HttpRpcClientOptions): HttpRpcClient;
|
|
32
|
+
//#endregion
|
|
33
|
+
export { HttpRequestParameters, HttpRequestReturnType, HttpRpcClient, HttpRpcClientOptions, RpcRequest, getHttpRpcClient };
|
|
34
|
+
//# sourceMappingURL=getHttpRpcClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getHttpRpcClient.d.ts","names":[],"sources":["../../../src/transports/getHttpRpcClient.ts"],"mappings":";;;;KAOY,UAAA;EACV,OAAA;EACA,MAAA;EACA,MAAA;EACA,EAAA;AAAA;AAAA,KAGU,qBAAA,cACG,UAAA,GAAa,UAAA,KAAe,UAAA,IACvC,IAAA,SAAa,UAAA,KAAe,WAAA,KAAgB,WAAA;AAAA,KAEpC,oBAAA;kDAEV,YAAA,GAAe,IAAA,CAAK,WAAA;EAEpB,SAAA,KAEM,OAAA,EAAS,OAAA,EACT,IAAA,EAAM,WAAA,KACH,YAAA,qBACiB,WAAA;IAAgB,GAAA;EAAA;EAI1C,UAAA,KAAe,QAAA,EAAU,QAAA,KAAa,OAAA;EAEtC,OAAA;AAAA;AAAA,KAGU,qBAAA,cACG,UAAA,GAAa,UAAA,KAAe,UAAA;EAEzC,GAAA;EAEA,IAAA,GAAO,IAAA,EAzBuC;EA2B9C,YAAA,GAAe,oBAAA;EAEf,SAAA,KAAc,OAAA,EAAS,OAAA,KAAY,OAAA;EAEnC,UAAA,KAAe,QAAA,EAAU,QAAA,KAAa,OAAA;EAEtC,OAAA,GAAU,oBAAA;AAAA;AAAA,KAGA,aAAA;EACV,OAAA,cAAqB,UAAA,GAAa,UAAA,IAChC,MAAA,EAAQ,qBAAA,CAAsB,IAAA,IAC7B,OAAA,CAAQ,qBAAA,CAAsB,IAAA;AAAA;AAAA,iBAGnB,gBAAA,CACd,GAAA,UACA,OAAA,GAAS,oBAAA,GACR,aAAA"}
|