@bigmi/core 0.1.1 → 0.2.0-beta.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/README.md +6 -4
- package/dist/cjs/actions/getBalance.d.ts +6 -3
- package/dist/cjs/actions/getBalance.js.map +1 -1
- package/dist/cjs/actions/getBlock.d.ts +4 -1
- package/dist/cjs/actions/getBlock.js +3 -3
- package/dist/cjs/actions/getBlock.js.map +1 -1
- package/dist/cjs/actions/getBlockCount.d.ts +4 -1
- package/dist/cjs/actions/getBlockCount.js.map +1 -1
- package/dist/cjs/actions/getBlockStats.d.ts +4 -1
- package/dist/cjs/actions/getBlockStats.js +3 -3
- package/dist/cjs/actions/getBlockStats.js.map +1 -1
- package/dist/cjs/actions/getUTXOTransaction.d.ts +4 -1
- package/dist/cjs/actions/getUTXOTransaction.js +2 -2
- package/dist/cjs/actions/getUTXOTransaction.js.map +1 -1
- package/dist/cjs/actions/sendUTXOTransaction.d.ts +4 -1
- package/dist/cjs/actions/sendUTXOTransaction.js.map +1 -1
- package/dist/cjs/actions/signPsbt.d.ts +5 -2
- package/dist/cjs/actions/signPsbt.js.map +1 -1
- package/dist/cjs/actions/waitForTransaction.d.ts +3 -1
- package/dist/cjs/actions/waitForTransaction.js +16 -14
- package/dist/cjs/actions/waitForTransaction.js.map +1 -1
- package/dist/cjs/actions/watchBlockNumber.d.ts +3 -1
- package/dist/cjs/actions/watchBlockNumber.js +4 -4
- package/dist/cjs/actions/watchBlockNumber.js.map +1 -1
- package/dist/cjs/chains/bitcoin.d.ts +5 -17
- package/dist/cjs/chains/bitcoin.js +2 -2
- package/dist/cjs/chains/bitcoin.js.map +1 -1
- package/dist/cjs/chains/defineChain.d.ts +3 -0
- package/dist/cjs/chains/defineChain.js +12 -0
- package/dist/cjs/chains/defineChain.js.map +1 -0
- package/dist/cjs/clients/decorators/public.d.ts +18 -0
- package/dist/cjs/clients/decorators/public.js +18 -0
- package/dist/cjs/clients/decorators/public.js.map +1 -0
- package/dist/cjs/clients/decorators/wallet.d.ts +11 -0
- package/dist/cjs/clients/decorators/wallet.js +12 -0
- package/dist/cjs/clients/decorators/wallet.js.map +1 -0
- package/dist/cjs/errors/address.d.ts +9 -0
- package/dist/cjs/errors/address.js +17 -0
- package/dist/cjs/errors/address.js.map +1 -0
- package/dist/cjs/errors/base.d.ts +27 -0
- package/dist/cjs/errors/base.js +55 -0
- package/dist/cjs/errors/base.js.map +1 -0
- package/dist/cjs/errors/block.d.ts +11 -0
- package/dist/cjs/errors/block.js +18 -0
- package/dist/cjs/errors/block.js.map +1 -0
- package/dist/cjs/errors/config.d.ts +61 -0
- package/dist/cjs/errors/config.js +65 -0
- package/dist/cjs/errors/config.js.map +1 -0
- package/dist/cjs/errors/provider.d.ts +4 -0
- package/dist/cjs/errors/provider.js +15 -0
- package/dist/cjs/errors/provider.js.map +1 -0
- package/dist/cjs/errors/request.d.ts +80 -0
- package/dist/cjs/errors/request.js +72 -0
- package/dist/cjs/errors/request.js.map +1 -0
- package/dist/cjs/errors/rpc.d.ts +23 -0
- package/dist/cjs/errors/rpc.js +49 -0
- package/dist/cjs/errors/rpc.js.map +1 -0
- package/dist/cjs/errors/transaction.d.ts +31 -0
- package/dist/cjs/errors/transaction.js +40 -0
- package/dist/cjs/errors/transaction.js.map +1 -0
- package/dist/cjs/errors/transport.d.ts +7 -0
- package/dist/cjs/errors/transport.js +13 -0
- package/dist/cjs/errors/transport.js.map +1 -0
- package/dist/cjs/errors/utils.d.ts +6 -0
- package/dist/cjs/errors/utils.js +8 -0
- package/dist/cjs/errors/utils.js.map +1 -0
- package/dist/cjs/factories/createClient.d.ts +50 -0
- package/dist/cjs/factories/createClient.js +45 -0
- package/dist/cjs/factories/createClient.js.map +1 -0
- package/dist/cjs/factories/createTransport.d.ts +31 -0
- package/dist/cjs/factories/createTransport.js +23 -0
- package/dist/cjs/factories/createTransport.js.map +1 -0
- package/dist/cjs/index.d.ts +37 -4
- package/dist/cjs/index.js +63 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/transports/custom.d.ts +16 -0
- package/dist/cjs/transports/custom.js +17 -0
- package/dist/cjs/transports/custom.js.map +1 -0
- package/dist/cjs/transports/fallback.d.ts +56 -0
- package/dist/cjs/transports/fallback.js +165 -0
- package/dist/cjs/transports/fallback.js.map +1 -0
- package/dist/cjs/transports/getHttpRpcClient.d.ts +11 -1
- package/dist/cjs/transports/getHttpRpcClient.js +12 -10
- package/dist/cjs/transports/getHttpRpcClient.js.map +1 -1
- package/dist/cjs/transports/http.d.ts +28 -0
- package/dist/cjs/transports/http.js +72 -0
- package/dist/cjs/transports/http.js.map +1 -0
- package/dist/cjs/transports/types.d.ts +20 -5
- package/dist/cjs/transports/utxo.d.ts +1 -1
- package/dist/cjs/transports/utxo.js +6 -4
- package/dist/cjs/transports/utxo.js.map +1 -1
- package/dist/cjs/types/account.d.ts +9 -0
- package/dist/cjs/types/account.js +3 -0
- package/dist/cjs/types/account.js.map +1 -0
- package/dist/cjs/types/actions.d.ts +17 -0
- package/dist/cjs/types/actions.js +3 -0
- package/dist/cjs/types/actions.js.map +1 -0
- package/dist/cjs/types/address.d.ts +1 -0
- package/dist/cjs/types/address.js +3 -0
- package/dist/cjs/types/address.js.map +1 -0
- package/dist/cjs/types/base.d.ts +0 -0
- package/dist/cjs/types/base.js +2 -0
- package/dist/cjs/types/base.js.map +1 -0
- package/dist/cjs/types/block.d.ts +1 -0
- package/dist/cjs/{clients/types.js → types/block.js} +1 -1
- package/dist/cjs/types/block.js.map +1 -0
- package/dist/cjs/types/chain.d.ts +37 -0
- package/dist/cjs/types/chain.js +3 -0
- package/dist/cjs/types/chain.js.map +1 -0
- package/dist/cjs/types/client.d.ts +41 -0
- package/dist/cjs/types/client.js +3 -0
- package/dist/cjs/types/client.js.map +1 -0
- package/dist/cjs/types/hash.d.ts +1 -0
- package/dist/cjs/types/hash.js +3 -0
- package/dist/cjs/types/hash.js.map +1 -0
- package/dist/cjs/types/request.d.ts +43 -0
- package/dist/cjs/types/request.js +3 -0
- package/dist/cjs/types/request.js.map +1 -0
- package/dist/cjs/types/rpc.d.ts +34 -0
- package/dist/cjs/types/rpc.js +3 -0
- package/dist/cjs/types/rpc.js.map +1 -0
- package/dist/cjs/types/storage.d.ts +22 -0
- package/dist/cjs/types/storage.js +3 -0
- package/dist/cjs/types/storage.js.map +1 -0
- package/dist/cjs/types/transport.d.ts +29 -0
- package/dist/cjs/types/transport.js +3 -0
- package/dist/cjs/types/transport.js.map +1 -0
- package/dist/cjs/types/utils.d.ts +36 -0
- package/dist/cjs/types/utils.js +3 -0
- package/dist/cjs/types/utils.js.map +1 -0
- package/dist/cjs/utils/buildRequest.d.ts +5 -0
- package/dist/cjs/utils/buildRequest.js +102 -0
- package/dist/cjs/utils/buildRequest.js.map +1 -0
- package/dist/cjs/utils/converter.d.ts +3 -0
- package/dist/cjs/utils/converter.js +28 -0
- package/dist/cjs/utils/converter.js.map +1 -0
- package/dist/cjs/utils/createBatchScheduler.d.ts +20 -0
- package/dist/cjs/utils/createBatchScheduler.js +54 -0
- package/dist/cjs/utils/createBatchScheduler.js.map +1 -0
- package/dist/cjs/utils/deepEqual.d.ts +1 -0
- package/dist/cjs/utils/deepEqual.js +52 -0
- package/dist/cjs/utils/deepEqual.js.map +1 -0
- package/dist/cjs/utils/getAction.d.ts +10 -0
- package/dist/cjs/utils/getAction.js +15 -0
- package/dist/cjs/utils/getAction.js.map +1 -0
- package/dist/cjs/utils/getUTXOAddress.d.ts +3 -2
- package/dist/cjs/utils/getUTXOAddress.js.map +1 -1
- package/dist/cjs/utils/isUTXOAddress.js.map +1 -1
- package/dist/cjs/utils/lru.d.ts +6 -0
- package/dist/cjs/utils/lru.js +29 -0
- package/dist/cjs/utils/lru.js.map +1 -0
- package/dist/cjs/utils/observe.d.ts +1 -1
- package/dist/cjs/utils/parseAccount.d.ts +5 -0
- package/dist/cjs/utils/parseAccount.js +10 -0
- package/dist/cjs/utils/parseAccount.js.map +1 -0
- package/dist/cjs/utils/stringify.d.ts +3 -0
- package/dist/cjs/utils/stringify.js +9 -0
- package/dist/cjs/utils/stringify.js.map +1 -0
- package/dist/cjs/utils/uid.d.ts +1 -0
- package/dist/cjs/utils/uid.js +17 -0
- package/dist/cjs/utils/uid.js.map +1 -0
- package/dist/cjs/utils/wait.d.ts +1 -0
- package/dist/cjs/utils/wait.js +7 -0
- package/dist/cjs/utils/wait.js.map +1 -0
- package/dist/cjs/utils/withDedupe.d.ts +8 -0
- package/dist/cjs/utils/withDedupe.js +18 -0
- package/dist/cjs/utils/withDedupe.js.map +1 -0
- package/dist/cjs/utils/withResolvers.d.ts +6 -0
- package/dist/cjs/utils/withResolvers.js +13 -0
- package/dist/cjs/utils/withResolvers.js.map +1 -0
- package/dist/cjs/utils/withRetry.d.ts +14 -0
- package/dist/cjs/utils/withRetry.js +30 -0
- package/dist/cjs/utils/withRetry.js.map +1 -0
- package/dist/cjs/utils/withTimeout.d.ts +9 -0
- package/dist/cjs/utils/withTimeout.js +35 -0
- package/dist/cjs/utils/withTimeout.js.map +1 -0
- package/dist/cjs/version.d.ts +1 -0
- package/dist/cjs/version.js +5 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/actions/getBalance.d.ts +6 -3
- package/dist/esm/actions/getBalance.js.map +1 -1
- package/dist/esm/actions/getBlock.d.ts +4 -1
- package/dist/esm/actions/getBlock.js +1 -1
- package/dist/esm/actions/getBlock.js.map +1 -1
- package/dist/esm/actions/getBlockCount.d.ts +4 -1
- package/dist/esm/actions/getBlockCount.js.map +1 -1
- package/dist/esm/actions/getBlockStats.d.ts +4 -1
- package/dist/esm/actions/getBlockStats.js +1 -1
- package/dist/esm/actions/getBlockStats.js.map +1 -1
- package/dist/esm/actions/getUTXOTransaction.d.ts +4 -1
- package/dist/esm/actions/getUTXOTransaction.js +1 -1
- package/dist/esm/actions/getUTXOTransaction.js.map +1 -1
- package/dist/esm/actions/sendUTXOTransaction.d.ts +4 -1
- package/dist/esm/actions/sendUTXOTransaction.js.map +1 -1
- package/dist/esm/actions/signPsbt.d.ts +5 -2
- package/dist/esm/actions/signPsbt.js.map +1 -1
- package/dist/esm/actions/waitForTransaction.d.ts +3 -1
- package/dist/esm/actions/waitForTransaction.js +4 -2
- package/dist/esm/actions/waitForTransaction.js.map +1 -1
- package/dist/esm/actions/watchBlockNumber.d.ts +3 -1
- package/dist/esm/actions/watchBlockNumber.js +2 -2
- package/dist/esm/actions/watchBlockNumber.js.map +1 -1
- package/dist/esm/chains/bitcoin.d.ts +5 -17
- package/dist/esm/chains/bitcoin.js +1 -1
- package/dist/esm/chains/bitcoin.js.map +1 -1
- package/dist/esm/chains/defineChain.d.ts +3 -0
- package/dist/esm/chains/defineChain.js +9 -0
- package/dist/esm/chains/defineChain.js.map +1 -0
- package/dist/esm/clients/decorators/public.d.ts +18 -0
- package/dist/esm/clients/decorators/public.js +15 -0
- package/dist/esm/clients/decorators/public.js.map +1 -0
- package/dist/esm/clients/decorators/wallet.d.ts +14 -0
- package/dist/esm/clients/decorators/wallet.js +9 -0
- package/dist/esm/clients/decorators/wallet.js.map +1 -0
- package/dist/esm/errors/address.d.ts +9 -0
- package/dist/esm/errors/address.js +13 -0
- package/dist/esm/errors/address.js.map +1 -0
- package/dist/esm/errors/base.d.ts +27 -0
- package/dist/esm/errors/base.js +50 -0
- package/dist/esm/errors/base.js.map +1 -0
- package/dist/esm/errors/block.d.ts +11 -0
- package/dist/esm/errors/block.js +14 -0
- package/dist/esm/errors/block.js.map +1 -0
- package/dist/esm/errors/config.d.ts +61 -0
- package/dist/esm/errors/config.js +55 -0
- package/dist/esm/errors/config.js.map +1 -0
- package/dist/esm/errors/provider.d.ts +4 -0
- package/dist/esm/errors/provider.js +11 -0
- package/dist/esm/errors/provider.js.map +1 -0
- package/dist/esm/errors/request.d.ts +80 -0
- package/dist/esm/errors/request.js +64 -0
- package/dist/esm/errors/request.js.map +1 -0
- package/dist/esm/errors/rpc.d.ts +53 -0
- package/dist/esm/errors/rpc.js +73 -0
- package/dist/esm/errors/rpc.js.map +1 -0
- package/dist/esm/errors/transaction.d.ts +31 -0
- package/dist/esm/errors/transaction.js +34 -0
- package/dist/esm/errors/transaction.js.map +1 -0
- package/dist/esm/errors/transport.d.ts +7 -0
- package/dist/esm/errors/transport.js +9 -0
- package/dist/esm/errors/transport.js.map +1 -0
- package/dist/esm/errors/utils.d.ts +6 -0
- package/dist/esm/errors/utils.js +3 -0
- package/dist/esm/errors/utils.js.map +1 -0
- package/dist/esm/factories/createClient.d.ts +85 -0
- package/dist/esm/factories/createClient.js +45 -0
- package/dist/esm/factories/createClient.js.map +1 -0
- package/dist/esm/factories/createTransport.d.ts +42 -0
- package/dist/esm/factories/createTransport.js +23 -0
- package/dist/esm/factories/createTransport.js.map +1 -0
- package/dist/esm/index.d.ts +37 -4
- package/dist/esm/index.js +26 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/transports/custom.d.ts +24 -0
- package/dist/esm/transports/custom.js +17 -0
- package/dist/esm/transports/custom.js.map +1 -0
- package/dist/esm/transports/fallback.d.ts +89 -0
- package/dist/esm/transports/fallback.js +172 -0
- package/dist/esm/transports/fallback.js.map +1 -0
- package/dist/esm/transports/getHttpRpcClient.d.ts +15 -1
- package/dist/esm/transports/getHttpRpcClient.js +4 -2
- package/dist/esm/transports/getHttpRpcClient.js.map +1 -1
- package/dist/esm/transports/http.d.ts +53 -0
- package/dist/esm/transports/http.js +74 -0
- package/dist/esm/transports/http.js.map +1 -0
- package/dist/esm/transports/types.d.ts +36 -5
- package/dist/esm/transports/utxo.d.ts +1 -1
- package/dist/esm/transports/utxo.js +3 -1
- package/dist/esm/transports/utxo.js.map +1 -1
- package/dist/esm/types/account.d.ts +9 -0
- package/dist/esm/types/account.js +2 -0
- package/dist/esm/types/account.js.map +1 -0
- package/dist/esm/types/actions.d.ts +20 -0
- package/dist/esm/types/actions.js +2 -0
- package/dist/esm/types/actions.js.map +1 -0
- package/dist/esm/types/address.d.ts +1 -0
- package/dist/esm/types/address.js +2 -0
- package/dist/esm/types/address.js.map +1 -0
- package/dist/esm/types/base.d.ts +0 -0
- package/dist/esm/types/base.js +2 -0
- package/dist/esm/types/base.js.map +1 -0
- package/dist/esm/types/block.d.ts +19 -0
- package/dist/esm/types/block.js +2 -0
- package/dist/esm/types/block.js.map +1 -0
- package/dist/esm/types/chain.d.ts +48 -0
- package/dist/esm/types/chain.js +2 -0
- package/dist/esm/types/chain.js.map +1 -0
- package/dist/esm/types/client.d.ts +68 -0
- package/dist/esm/types/client.js +2 -0
- package/dist/esm/types/client.js.map +1 -0
- package/dist/esm/types/hash.d.ts +1 -0
- package/dist/esm/types/hash.js +2 -0
- package/dist/esm/types/hash.js.map +1 -0
- package/dist/esm/types/request.d.ts +48 -0
- package/dist/esm/types/request.js +2 -0
- package/dist/esm/types/request.js.map +1 -0
- package/dist/esm/types/rpc.d.ts +34 -0
- package/dist/esm/types/rpc.js +2 -0
- package/dist/esm/types/rpc.js.map +1 -0
- package/dist/esm/types/storage.d.ts +22 -0
- package/dist/esm/types/storage.js +2 -0
- package/dist/esm/types/storage.js.map +1 -0
- package/dist/esm/types/transport.d.ts +37 -0
- package/dist/esm/types/transport.js +2 -0
- package/dist/esm/types/transport.js.map +1 -0
- package/dist/esm/types/utils.d.ts +72 -0
- package/dist/esm/types/utils.js +2 -0
- package/dist/esm/types/utils.js.map +1 -0
- package/dist/esm/utils/buildRequest.d.ts +6 -0
- package/dist/esm/utils/buildRequest.js +111 -0
- package/dist/esm/utils/buildRequest.js.map +1 -0
- package/dist/esm/utils/converter.d.ts +3 -0
- package/dist/esm/utils/converter.js +23 -0
- package/dist/esm/utils/converter.js.map +1 -0
- package/dist/esm/utils/createBatchScheduler.d.ts +21 -0
- package/dist/esm/utils/createBatchScheduler.js +52 -0
- package/dist/esm/utils/createBatchScheduler.js.map +1 -0
- package/dist/esm/utils/deepEqual.d.ts +2 -0
- package/dist/esm/utils/deepEqual.js +52 -0
- package/dist/esm/utils/deepEqual.js.map +1 -0
- package/dist/esm/utils/getAction.d.ts +17 -0
- package/dist/esm/utils/getAction.js +23 -0
- package/dist/esm/utils/getAction.js.map +1 -0
- package/dist/esm/utils/getUTXOAddress.d.ts +3 -2
- package/dist/esm/utils/getUTXOAddress.js.map +1 -1
- package/dist/esm/utils/isUTXOAddress.js.map +1 -1
- package/dist/esm/utils/lru.d.ts +11 -0
- package/dist/esm/utils/lru.js +30 -0
- package/dist/esm/utils/lru.js.map +1 -0
- package/dist/esm/utils/observe.d.ts +1 -1
- package/dist/esm/utils/parseAccount.d.ts +5 -0
- package/dist/esm/utils/parseAccount.js +7 -0
- package/dist/esm/utils/parseAccount.js.map +1 -0
- package/dist/esm/utils/stringify.d.ts +3 -0
- package/dist/esm/utils/stringify.js +5 -0
- package/dist/esm/utils/stringify.js.map +1 -0
- package/dist/esm/utils/uid.d.ts +1 -0
- package/dist/esm/utils/uid.js +14 -0
- package/dist/esm/utils/uid.js.map +1 -0
- package/dist/esm/utils/wait.d.ts +1 -0
- package/dist/esm/utils/wait.js +4 -0
- package/dist/esm/utils/wait.js.map +1 -0
- package/dist/esm/utils/withDedupe.d.ts +10 -0
- package/dist/esm/utils/withDedupe.js +16 -0
- package/dist/esm/utils/withDedupe.js.map +1 -0
- package/dist/esm/utils/withResolvers.d.ts +8 -0
- package/dist/esm/utils/withResolvers.js +11 -0
- package/dist/esm/utils/withResolvers.js.map +1 -0
- package/dist/esm/utils/withRetry.d.ts +14 -0
- package/dist/esm/utils/withRetry.js +27 -0
- package/dist/esm/utils/withRetry.js.map +1 -0
- package/dist/esm/utils/withTimeout.d.ts +9 -0
- package/dist/esm/utils/withTimeout.js +32 -0
- package/dist/esm/utils/withTimeout.js.map +1 -0
- package/dist/esm/version.d.ts +1 -0
- package/dist/esm/version.js +2 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/types/actions/getBalance.d.ts +6 -3
- package/dist/types/actions/getBalance.d.ts.map +1 -1
- package/dist/types/actions/getBlock.d.ts +4 -1
- package/dist/types/actions/getBlock.d.ts.map +1 -1
- package/dist/types/actions/getBlockCount.d.ts +4 -1
- package/dist/types/actions/getBlockCount.d.ts.map +1 -1
- package/dist/types/actions/getBlockStats.d.ts +4 -1
- package/dist/types/actions/getBlockStats.d.ts.map +1 -1
- package/dist/types/actions/getUTXOTransaction.d.ts +4 -1
- package/dist/types/actions/getUTXOTransaction.d.ts.map +1 -1
- package/dist/types/actions/sendUTXOTransaction.d.ts +4 -1
- package/dist/types/actions/sendUTXOTransaction.d.ts.map +1 -1
- package/dist/types/actions/signPsbt.d.ts +5 -2
- package/dist/types/actions/signPsbt.d.ts.map +1 -1
- package/dist/types/actions/waitForTransaction.d.ts +3 -1
- package/dist/types/actions/waitForTransaction.d.ts.map +1 -1
- package/dist/types/actions/watchBlockNumber.d.ts +3 -1
- package/dist/types/actions/watchBlockNumber.d.ts.map +1 -1
- package/dist/types/chains/bitcoin.d.ts +5 -17
- package/dist/types/chains/bitcoin.d.ts.map +1 -1
- package/dist/types/chains/defineChain.d.ts +4 -0
- package/dist/types/chains/defineChain.d.ts.map +1 -0
- package/dist/types/clients/decorators/public.d.ts +19 -0
- package/dist/types/clients/decorators/public.d.ts.map +1 -0
- package/dist/types/clients/decorators/wallet.d.ts +15 -0
- package/dist/types/clients/decorators/wallet.d.ts.map +1 -0
- package/dist/types/errors/address.d.ts +10 -0
- package/dist/types/errors/address.d.ts.map +1 -0
- package/dist/types/errors/base.d.ts +28 -0
- package/dist/types/errors/base.d.ts.map +1 -0
- package/dist/types/errors/block.d.ts +12 -0
- package/dist/types/errors/block.d.ts.map +1 -0
- package/dist/types/errors/config.d.ts +62 -0
- package/dist/types/errors/config.d.ts.map +1 -0
- package/dist/types/errors/provider.d.ts +5 -0
- package/dist/types/errors/provider.d.ts.map +1 -0
- package/dist/types/errors/request.d.ts +81 -0
- package/dist/types/errors/request.d.ts.map +1 -0
- package/dist/types/errors/rpc.d.ts +54 -0
- package/dist/types/errors/rpc.d.ts.map +1 -0
- package/dist/types/errors/transaction.d.ts +32 -0
- package/dist/types/errors/transaction.d.ts.map +1 -0
- package/dist/types/errors/transport.d.ts +8 -0
- package/dist/types/errors/transport.d.ts.map +1 -0
- package/dist/types/errors/utils.d.ts +7 -0
- package/dist/types/errors/utils.d.ts.map +1 -0
- package/dist/types/factories/createClient.d.ts +86 -0
- package/dist/types/factories/createClient.d.ts.map +1 -0
- package/dist/types/factories/createTransport.d.ts +43 -0
- package/dist/types/factories/createTransport.d.ts.map +1 -0
- package/dist/types/index.d.ts +37 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/transports/custom.d.ts +25 -0
- package/dist/types/transports/custom.d.ts.map +1 -0
- package/dist/types/transports/fallback.d.ts +90 -0
- package/dist/types/transports/fallback.d.ts.map +1 -0
- package/dist/types/transports/getHttpRpcClient.d.ts +15 -1
- package/dist/types/transports/getHttpRpcClient.d.ts.map +1 -1
- package/dist/types/transports/http.d.ts +54 -0
- package/dist/types/transports/http.d.ts.map +1 -0
- package/dist/types/transports/types.d.ts +36 -5
- package/dist/types/transports/types.d.ts.map +1 -1
- package/dist/types/transports/utxo.d.ts +1 -1
- package/dist/types/transports/utxo.d.ts.map +1 -1
- package/dist/types/types/account.d.ts +10 -0
- package/dist/types/types/account.d.ts.map +1 -0
- package/dist/types/types/actions.d.ts +21 -0
- package/dist/types/types/actions.d.ts.map +1 -0
- package/dist/types/types/address.d.ts +2 -0
- package/dist/types/types/address.d.ts.map +1 -0
- package/dist/types/types/base.d.ts +1 -0
- package/dist/types/types/base.d.ts.map +1 -0
- package/dist/types/types/block.d.ts +20 -0
- package/dist/types/types/block.d.ts.map +1 -0
- package/dist/types/types/chain.d.ts +49 -0
- package/dist/types/types/chain.d.ts.map +1 -0
- package/dist/types/types/client.d.ts +69 -0
- package/dist/types/types/client.d.ts.map +1 -0
- package/dist/types/types/hash.d.ts +2 -0
- package/dist/types/types/hash.d.ts.map +1 -0
- package/dist/types/types/request.d.ts +49 -0
- package/dist/types/types/request.d.ts.map +1 -0
- package/dist/types/types/rpc.d.ts +35 -0
- package/dist/types/types/rpc.d.ts.map +1 -0
- package/dist/types/types/storage.d.ts +23 -0
- package/dist/types/types/storage.d.ts.map +1 -0
- package/dist/types/types/transport.d.ts +38 -0
- package/dist/types/types/transport.d.ts.map +1 -0
- package/dist/types/types/utils.d.ts +73 -0
- package/dist/types/types/utils.d.ts.map +1 -0
- package/dist/types/utils/buildRequest.d.ts +7 -0
- package/dist/types/utils/buildRequest.d.ts.map +1 -0
- package/dist/types/utils/converter.d.ts +4 -0
- package/dist/types/utils/converter.d.ts.map +1 -0
- package/dist/types/utils/createBatchScheduler.d.ts +22 -0
- package/dist/types/utils/createBatchScheduler.d.ts.map +1 -0
- package/dist/types/utils/deepEqual.d.ts +3 -0
- package/dist/types/utils/deepEqual.d.ts.map +1 -0
- package/dist/types/utils/getAction.d.ts +18 -0
- package/dist/types/utils/getAction.d.ts.map +1 -0
- package/dist/types/utils/getUTXOAddress.d.ts +3 -2
- package/dist/types/utils/getUTXOAddress.d.ts.map +1 -1
- package/dist/types/utils/isUTXOAddress.d.ts.map +1 -1
- package/dist/types/utils/lru.d.ts +12 -0
- package/dist/types/utils/lru.d.ts.map +1 -0
- package/dist/types/utils/observe.d.ts +1 -1
- package/dist/types/utils/observe.d.ts.map +1 -1
- package/dist/types/utils/parseAccount.d.ts +6 -0
- package/dist/types/utils/parseAccount.d.ts.map +1 -0
- package/dist/types/utils/stringify.d.ts +4 -0
- package/dist/types/utils/stringify.d.ts.map +1 -0
- package/dist/types/utils/uid.d.ts +2 -0
- package/dist/types/utils/uid.d.ts.map +1 -0
- package/dist/types/utils/wait.d.ts +2 -0
- package/dist/types/utils/wait.d.ts.map +1 -0
- package/dist/types/utils/withDedupe.d.ts +11 -0
- package/dist/types/utils/withDedupe.d.ts.map +1 -0
- package/dist/types/utils/withResolvers.d.ts +9 -0
- package/dist/types/utils/withResolvers.d.ts.map +1 -0
- package/dist/types/utils/withRetry.d.ts +15 -0
- package/dist/types/utils/withRetry.d.ts.map +1 -0
- package/dist/types/utils/withTimeout.d.ts +10 -0
- package/dist/types/utils/withTimeout.d.ts.map +1 -0
- package/dist/types/version.d.ts +2 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +4 -3
- package/package.json.tmp +4 -3
- package/src/actions/getBalance.ts +6 -3
- package/src/actions/getBlock.ts +7 -7
- package/src/actions/getBlockCount.ts +4 -1
- package/src/actions/getBlockStats.ts +5 -7
- package/src/actions/getUTXOTransaction.ts +5 -7
- package/src/actions/sendUTXOTransaction.ts +4 -1
- package/src/actions/signPsbt.ts +5 -2
- package/src/actions/waitForTransaction.ts +9 -7
- package/src/actions/watchBlockNumber.ts +5 -2
- package/src/chains/bitcoin.ts +1 -1
- package/src/chains/defineChain.ts +14 -0
- package/src/clients/decorators/public.ts +62 -0
- package/src/clients/decorators/wallet.ts +37 -0
- package/src/errors/address.ts +16 -0
- package/src/errors/base.ts +85 -0
- package/src/errors/block.ts +24 -0
- package/src/errors/config.ts +102 -0
- package/src/errors/provider.ts +11 -0
- package/src/errors/request.ts +134 -0
- package/src/errors/rpc.ts +77 -0
- package/src/errors/transaction.ts +67 -0
- package/src/errors/transport.ts +15 -0
- package/src/errors/utils.ts +6 -0
- package/src/factories/createClient.ts +199 -0
- package/src/factories/createTransport.ts +93 -0
- package/src/index.ts +114 -13
- package/src/transports/custom.ts +56 -0
- package/src/transports/fallback.ts +332 -0
- package/src/transports/getHttpRpcClient.ts +28 -4
- package/src/transports/http.ts +176 -0
- package/src/transports/types.ts +38 -5
- package/src/transports/utxo.ts +6 -9
- package/src/types/account.ts +10 -0
- package/src/types/actions.ts +38 -0
- package/src/types/address.ts +1 -0
- package/src/types/base.ts +0 -0
- package/src/types/block.ts +19 -0
- package/src/types/chain.ts +72 -0
- package/src/types/client.ts +108 -0
- package/src/types/hash.ts +1 -0
- package/src/types/request.ts +87 -0
- package/src/types/rpc.ts +37 -0
- package/src/types/storage.ts +44 -0
- package/src/types/transport.ts +54 -0
- package/src/types/utils.ts +131 -0
- package/src/utils/buildRequest.ts +145 -0
- package/src/utils/converter.ts +25 -0
- package/src/utils/createBatchScheduler.ts +116 -0
- package/src/utils/deepEqual.ts +62 -0
- package/src/utils/getAction.ts +45 -0
- package/src/utils/getUTXOAddress.ts +4 -3
- package/src/utils/isUTXOAddress.ts +2 -1
- package/src/utils/lru.ts +35 -0
- package/src/utils/observe.ts +1 -1
- package/src/utils/parseAccount.ts +14 -0
- package/src/utils/stringify.ts +13 -0
- package/src/utils/uid.ts +14 -0
- package/src/utils/wait.ts +3 -0
- package/src/utils/withDedupe.ts +25 -0
- package/src/utils/withResolvers.ts +19 -0
- package/src/utils/withRetry.ts +60 -0
- package/src/utils/withTimeout.ts +47 -0
- package/src/version.ts +1 -0
- package/tsconfig.json +2 -1
- package/dist/cjs/clients/types.d.ts +0 -27
- package/dist/cjs/clients/types.js.map +0 -1
- package/dist/cjs/decorators/UTXOAPIActions.d.ts +0 -6
- package/dist/cjs/decorators/UTXOAPIActions.js +0 -10
- package/dist/cjs/decorators/UTXOAPIActions.js.map +0 -1
- package/dist/cjs/decorators/UTXOActions.d.ts +0 -10
- package/dist/cjs/decorators/UTXOActions.js +0 -14
- package/dist/cjs/decorators/UTXOActions.js.map +0 -1
- package/dist/esm/clients/types.d.ts +0 -43
- package/dist/esm/clients/types.js +0 -2
- package/dist/esm/clients/types.js.map +0 -1
- package/dist/esm/decorators/UTXOAPIActions.d.ts +0 -6
- package/dist/esm/decorators/UTXOAPIActions.js +0 -7
- package/dist/esm/decorators/UTXOAPIActions.js.map +0 -1
- package/dist/esm/decorators/UTXOActions.d.ts +0 -10
- package/dist/esm/decorators/UTXOActions.js +0 -11
- package/dist/esm/decorators/UTXOActions.js.map +0 -1
- package/dist/types/clients/types.d.ts +0 -44
- package/dist/types/clients/types.d.ts.map +0 -1
- package/dist/types/decorators/UTXOAPIActions.d.ts +0 -7
- package/dist/types/decorators/UTXOAPIActions.d.ts.map +0 -1
- package/dist/types/decorators/UTXOActions.d.ts +0 -11
- package/dist/types/decorators/UTXOActions.d.ts.map +0 -1
- package/src/clients/types.ts +0 -48
- package/src/decorators/UTXOAPIActions.ts +0 -20
- package/src/decorators/UTXOActions.ts +0 -37
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getHttpRpcClient = getHttpRpcClient;
|
|
4
|
-
const
|
|
4
|
+
const request_js_1 = require("../errors/request.js");
|
|
5
|
+
const stringify_js_1 = require("../utils/stringify.js");
|
|
6
|
+
const withTimeout_js_1 = require("../utils/withTimeout.js");
|
|
5
7
|
function getHttpRpcClient(url, options = {}) {
|
|
6
8
|
return {
|
|
7
9
|
async request(params) {
|
|
@@ -12,17 +14,17 @@ function getHttpRpcClient(url, options = {}) {
|
|
|
12
14
|
};
|
|
13
15
|
const { headers, method, signal: signal_ } = fetchOptions;
|
|
14
16
|
try {
|
|
15
|
-
const response = await (0,
|
|
17
|
+
const response = await (0, withTimeout_js_1.withTimeout)(async ({ signal }) => {
|
|
16
18
|
const init = {
|
|
17
19
|
...fetchOptions,
|
|
18
|
-
body: body ? (0,
|
|
20
|
+
body: body ? (0, stringify_js_1.stringify)(body) : undefined,
|
|
19
21
|
headers: {
|
|
20
22
|
...(method !== 'GET'
|
|
21
23
|
? { 'Content-Type': 'application/json' }
|
|
22
24
|
: undefined),
|
|
23
25
|
...headers,
|
|
24
26
|
},
|
|
25
|
-
method: method,
|
|
27
|
+
method: method || 'POST',
|
|
26
28
|
signal: signal_ || (timeout > 0 ? signal : null),
|
|
27
29
|
};
|
|
28
30
|
const request = new Request(params.url ?? url, init);
|
|
@@ -32,7 +34,7 @@ function getHttpRpcClient(url, options = {}) {
|
|
|
32
34
|
const response = await fetch(params.url ?? url, init);
|
|
33
35
|
return response;
|
|
34
36
|
}, {
|
|
35
|
-
errorInstance: new
|
|
37
|
+
errorInstance: new request_js_1.TimeoutError({ body: body ?? {}, url }),
|
|
36
38
|
timeout,
|
|
37
39
|
signal: true,
|
|
38
40
|
});
|
|
@@ -48,9 +50,9 @@ function getHttpRpcClient(url, options = {}) {
|
|
|
48
50
|
data = JSON.parse(data || '{}');
|
|
49
51
|
}
|
|
50
52
|
if (!response.ok) {
|
|
51
|
-
throw new
|
|
53
|
+
throw new request_js_1.HttpRequestError({
|
|
52
54
|
body,
|
|
53
|
-
details: (0,
|
|
55
|
+
details: (0, stringify_js_1.stringify)(data.error) || response.statusText,
|
|
54
56
|
headers: response.headers,
|
|
55
57
|
status: response.status,
|
|
56
58
|
url,
|
|
@@ -59,13 +61,13 @@ function getHttpRpcClient(url, options = {}) {
|
|
|
59
61
|
return data;
|
|
60
62
|
}
|
|
61
63
|
catch (err) {
|
|
62
|
-
if (err instanceof
|
|
64
|
+
if (err instanceof request_js_1.HttpRequestError) {
|
|
63
65
|
throw err;
|
|
64
66
|
}
|
|
65
|
-
if (err instanceof
|
|
67
|
+
if (err instanceof request_js_1.TimeoutError) {
|
|
66
68
|
throw err;
|
|
67
69
|
}
|
|
68
|
-
throw new
|
|
70
|
+
throw new request_js_1.HttpRequestError({
|
|
69
71
|
body,
|
|
70
72
|
cause: err,
|
|
71
73
|
url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getHttpRpcClient.js","sourceRoot":"","sources":["../../../src/transports/getHttpRpcClient.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getHttpRpcClient.js","sourceRoot":"","sources":["../../../src/transports/getHttpRpcClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type UrlRequiredErrorType } from '../errors/transport.js';
|
|
2
|
+
import type { ErrorType } from '../errors/utils.js';
|
|
3
|
+
import { type CreateTransportErrorType, type Transport, type TransportConfig } from '../factories/createTransport.js';
|
|
4
|
+
import type { BtcRpcRequestFn, RpcSchema } from '../types/request.js';
|
|
5
|
+
import { type HttpRpcClientOptions } from './getHttpRpcClient.js';
|
|
6
|
+
export type HttpTransportConfig<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false> = {
|
|
7
|
+
batch?: boolean | {
|
|
8
|
+
batchSize?: number | undefined;
|
|
9
|
+
wait?: number | undefined;
|
|
10
|
+
} | undefined;
|
|
11
|
+
fetchOptions?: HttpRpcClientOptions['fetchOptions'] | undefined;
|
|
12
|
+
onFetchRequest?: HttpRpcClientOptions['onRequest'] | undefined;
|
|
13
|
+
onFetchResponse?: HttpRpcClientOptions['onResponse'] | undefined;
|
|
14
|
+
key?: TransportConfig['key'] | undefined;
|
|
15
|
+
methods?: TransportConfig['methods'] | undefined;
|
|
16
|
+
name?: TransportConfig['name'] | undefined;
|
|
17
|
+
raw?: raw | boolean | undefined;
|
|
18
|
+
retryCount?: TransportConfig['retryCount'] | undefined;
|
|
19
|
+
retryDelay?: TransportConfig['retryDelay'] | undefined;
|
|
20
|
+
rpcSchema?: rpcSchema | RpcSchema | undefined;
|
|
21
|
+
timeout?: TransportConfig['timeout'] | undefined;
|
|
22
|
+
};
|
|
23
|
+
export type HttpTransport<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false> = Transport<'http', {
|
|
24
|
+
fetchOptions?: HttpTransportConfig['fetchOptions'] | undefined;
|
|
25
|
+
url?: string | undefined;
|
|
26
|
+
}, BtcRpcRequestFn<rpcSchema, raw>>;
|
|
27
|
+
export type HttpTransportErrorType = CreateTransportErrorType | UrlRequiredErrorType | ErrorType;
|
|
28
|
+
export declare function http<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false>(url?: string | undefined, config?: HttpTransportConfig<rpcSchema, raw>): HttpTransport<rpcSchema, raw>;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.http = http;
|
|
4
|
+
const request_js_1 = require("../errors/request.js");
|
|
5
|
+
const transport_js_1 = require("../errors/transport.js");
|
|
6
|
+
const createTransport_js_1 = require("../factories/createTransport.js");
|
|
7
|
+
const createBatchScheduler_js_1 = require("../utils/createBatchScheduler.js");
|
|
8
|
+
const getHttpRpcClient_js_1 = require("./getHttpRpcClient.js");
|
|
9
|
+
function http(url, config = {}) {
|
|
10
|
+
const { batch, fetchOptions, key = 'http', methods, name = 'HTTP JSON-RPC', onFetchRequest, onFetchResponse, retryDelay, raw, } = config;
|
|
11
|
+
return ({ chain, retryCount: retryCount_, timeout: timeout_ }) => {
|
|
12
|
+
const { batchSize = 1000, wait = 0 } = typeof batch === 'object' ? batch : {};
|
|
13
|
+
const retryCount = config.retryCount ?? retryCount_;
|
|
14
|
+
const timeout = timeout_ ?? config.timeout ?? 10000;
|
|
15
|
+
const url_ = url || chain?.rpcUrls.default.http[0];
|
|
16
|
+
if (!url_) {
|
|
17
|
+
throw new transport_js_1.UrlRequiredError();
|
|
18
|
+
}
|
|
19
|
+
const rpcClient = (0, getHttpRpcClient_js_1.getHttpRpcClient)(url_, {
|
|
20
|
+
fetchOptions,
|
|
21
|
+
onRequest: onFetchRequest,
|
|
22
|
+
onResponse: onFetchResponse,
|
|
23
|
+
timeout,
|
|
24
|
+
});
|
|
25
|
+
return (0, createTransport_js_1.createTransport)({
|
|
26
|
+
key,
|
|
27
|
+
methods,
|
|
28
|
+
name,
|
|
29
|
+
async request({ method, params }) {
|
|
30
|
+
const body = { method, params };
|
|
31
|
+
const { schedule } = (0, createBatchScheduler_js_1.createBatchScheduler)({
|
|
32
|
+
id: url_,
|
|
33
|
+
wait,
|
|
34
|
+
shouldSplitBatch(requests) {
|
|
35
|
+
return requests.length > batchSize;
|
|
36
|
+
},
|
|
37
|
+
fn: (body) => rpcClient.request({
|
|
38
|
+
body,
|
|
39
|
+
}),
|
|
40
|
+
sort: (a, b) => a.id - b.id,
|
|
41
|
+
});
|
|
42
|
+
const fn = async (body) => batch
|
|
43
|
+
? schedule(body)
|
|
44
|
+
: [
|
|
45
|
+
await rpcClient.request({
|
|
46
|
+
body,
|
|
47
|
+
}),
|
|
48
|
+
];
|
|
49
|
+
const [{ error, result }] = await fn(body);
|
|
50
|
+
if (raw) {
|
|
51
|
+
return { error, result };
|
|
52
|
+
}
|
|
53
|
+
if (error) {
|
|
54
|
+
throw new request_js_1.RpcRequestError({
|
|
55
|
+
body,
|
|
56
|
+
error,
|
|
57
|
+
url: url_,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return result;
|
|
61
|
+
},
|
|
62
|
+
retryCount,
|
|
63
|
+
retryDelay,
|
|
64
|
+
timeout,
|
|
65
|
+
type: 'http',
|
|
66
|
+
}, {
|
|
67
|
+
fetchOptions,
|
|
68
|
+
url: url_,
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/transports/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,9 +31,7 @@ export type UTXOSchema = [
|
|
|
31
31
|
Method: 'getrawtransaction';
|
|
32
32
|
Parameters: [string, boolean, string?];
|
|
33
33
|
ReturnType: UTXOTransaction;
|
|
34
|
-
}
|
|
35
|
-
];
|
|
36
|
-
export type UTXOAPISchema = [
|
|
34
|
+
},
|
|
37
35
|
{
|
|
38
36
|
Method: 'getBalance';
|
|
39
37
|
Parameters: {
|
|
@@ -42,7 +40,24 @@ export type UTXOAPISchema = [
|
|
|
42
40
|
ReturnType: bigint;
|
|
43
41
|
}
|
|
44
42
|
];
|
|
45
|
-
export type
|
|
43
|
+
export type SignPsbtParameters = {
|
|
44
|
+
psbt: string;
|
|
45
|
+
inputsToSign: {
|
|
46
|
+
sigHash?: number;
|
|
47
|
+
address: string;
|
|
48
|
+
signingIndexes: number[];
|
|
49
|
+
}[];
|
|
50
|
+
finalize?: boolean;
|
|
51
|
+
};
|
|
52
|
+
export type SignPsbtReturnType = string;
|
|
53
|
+
export type UTXOWalletSchema = readonly [
|
|
54
|
+
{
|
|
55
|
+
Method: 'signPsbt';
|
|
56
|
+
Parameters: SignPsbtParameters;
|
|
57
|
+
ReturnType: SignPsbtReturnType;
|
|
58
|
+
}
|
|
59
|
+
];
|
|
60
|
+
export type UTXOMethod = UTXOSchema[number]['Method'];
|
|
46
61
|
export type SuccessResult<result> = {
|
|
47
62
|
method?: undefined;
|
|
48
63
|
result: result;
|
|
@@ -56,5 +71,5 @@ export type ErrorResult<error> = {
|
|
|
56
71
|
export type RpcResponse<result = any, error = any> = SuccessResult<result> | ErrorResult<error>;
|
|
57
72
|
export type RpcMethodHandler = (client: HttpRpcClient, baseUrl: string, params: any) => Promise<RpcResponse>;
|
|
58
73
|
export type RpcMethods = {
|
|
59
|
-
[key in
|
|
74
|
+
[key in UTXOMethod]?: RpcMethodHandler;
|
|
60
75
|
};
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.utxo = utxo;
|
|
4
|
-
const
|
|
4
|
+
const request_js_1 = require("../errors/request.js");
|
|
5
|
+
const transport_js_1 = require("../errors/transport.js");
|
|
6
|
+
const createTransport_js_1 = require("../factories/createTransport.js");
|
|
5
7
|
const getHttpRpcClient_js_1 = require("./getHttpRpcClient.js");
|
|
6
8
|
const getRpcProviderMethods_js_1 = require("./getRpcProviderMethods.js");
|
|
7
9
|
function utxo(url, config = {}) {
|
|
@@ -15,7 +17,7 @@ function utxo(url, config = {}) {
|
|
|
15
17
|
url_ = `${url}${chainName ? `/${chainName}` : ''}`;
|
|
16
18
|
}
|
|
17
19
|
if (!url_) {
|
|
18
|
-
throw new
|
|
20
|
+
throw new transport_js_1.UrlRequiredError();
|
|
19
21
|
}
|
|
20
22
|
const client = (0, getHttpRpcClient_js_1.getHttpRpcClient)(url_, {
|
|
21
23
|
fetchOptions,
|
|
@@ -24,7 +26,7 @@ function utxo(url, config = {}) {
|
|
|
24
26
|
timeout,
|
|
25
27
|
});
|
|
26
28
|
const rpcMethods = (0, getRpcProviderMethods_js_1.getRpcProviderMethods)(key);
|
|
27
|
-
return (0,
|
|
29
|
+
return (0, createTransport_js_1.createTransport)({
|
|
28
30
|
key,
|
|
29
31
|
name,
|
|
30
32
|
async request({ method, params }) {
|
|
@@ -35,7 +37,7 @@ function utxo(url, config = {}) {
|
|
|
35
37
|
body,
|
|
36
38
|
}));
|
|
37
39
|
if (error) {
|
|
38
|
-
throw new
|
|
40
|
+
throw new request_js_1.RpcRequestError({
|
|
39
41
|
body,
|
|
40
42
|
error,
|
|
41
43
|
url: url_,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utxo.js","sourceRoot":"","sources":["../../../src/transports/utxo.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"utxo.js","sourceRoot":"","sources":["../../../src/transports/utxo.ts"],"names":[],"mappings":";;AAYA,oBAoEC;AAhFD,qDAAsD;AACtD,yDAAyD;AACzD,wEAAiE;AACjE,+DAAwD;AACxD,yEAAkE;AAQlE,SAAgB,IAAI,CAClB,GAAY,EACZ,SAAkC,EAAE;IAEpC,MAAM,EACJ,YAAY,EACZ,GAAG,GAAG,MAAM,EACZ,IAAI,GAAG,eAAe,EACtB,cAAc,EACd,eAAe,EACf,UAAU,GACX,GAAG,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAA;QACnD,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,KAAM,CAAA;QACpD,IAAI,IAAI,GAAG,GAAG,CAAA;QACd,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YAC7D,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACpD,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,+BAAgB,EAAE,CAAA;QAC9B,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,sCAAgB,EAAC,IAAI,EAAE;YACpC,YAAY;YACZ,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,eAAe;YAC3B,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,IAAA,gDAAqB,EAAC,GAAG,CAAC,CAAA;QAE7C,OAAO,IAAA,oCAAe,EACpB;YACE,GAAG;YACH,IAAI;YACJ,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;gBAC9B,MAAM,IAAI,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;gBAC/B,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC,MAAoB,CAAC,CAAA;gBACxD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAC9C,MAAM,EACN,IAAI,EACJ,MAAM,CACP;oBACC,MAAM,CAAC,OAAO,CAAC;wBACb,IAAI;qBACL,CAAC,CAAC,CAAA;gBACL,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,IAAI,4BAAe,CAAC;wBACxB,IAAI;wBACJ,KAAK;wBACL,GAAG,EAAE,IAAI;qBACV,CAAC,CAAA;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAA;YACf,CAAC;YACD,UAAU;YACV,UAAU;YACV,OAAO;YACP,IAAI,EAAE,MAAM;SACb,EACD;YACE,YAAY;YACZ,GAAG,EAAE,IAAI;SACV,CACF,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Address } from './address.js';
|
|
2
|
+
export interface Account {
|
|
3
|
+
address: Address;
|
|
4
|
+
addressType: 'p2tr' | 'p2wpkh' | 'p2wsh' | 'p2sh' | 'p2pkh';
|
|
5
|
+
publicKey: string;
|
|
6
|
+
purpose: 'payment' | 'ordinals';
|
|
7
|
+
}
|
|
8
|
+
export interface BtcAccount extends Account {
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/types/account.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SendUTXOTransactionParameters, SendUTXOTransactionReturnType } from '../actions/sendUTXOTransaction';
|
|
2
|
+
import type { WaitForTransactionReceiptParameters } from '../actions/waitForTransaction';
|
|
3
|
+
import type { SignPsbtParameters, SignPsbtReturnType } from '../transports/types';
|
|
4
|
+
import type { UTXOTransaction } from './transaction';
|
|
5
|
+
export type WaitForTransactionReceiptReturnType = UTXOTransaction;
|
|
6
|
+
export type WithRetryParameters = {
|
|
7
|
+
delay?: ((config: {
|
|
8
|
+
count: number;
|
|
9
|
+
error: Error;
|
|
10
|
+
}) => number) | number | undefined;
|
|
11
|
+
retryCount?: number | undefined;
|
|
12
|
+
};
|
|
13
|
+
export type WalletActions = {
|
|
14
|
+
sendUTXOTransaction: (args: SendUTXOTransactionParameters) => Promise<SendUTXOTransactionReturnType>;
|
|
15
|
+
signPbst: (args: SignPsbtParameters) => Promise<SignPsbtReturnType>;
|
|
16
|
+
waitForTransactionReceipt: (args: WaitForTransactionReceiptParameters) => Promise<WaitForTransactionReceiptReturnType>;
|
|
17
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/types/actions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Address = string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/types/address.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/types/base.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type BlockTag = 'latest' | 'earliest' | 'pending' | 'safe' | 'finalized';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/types/block.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export type Chain<formatters extends ChainFormatters | undefined = ChainFormatters | undefined, custom extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = {
|
|
2
|
+
blockExplorers?: {
|
|
3
|
+
[key: string]: ChainBlockExplorer;
|
|
4
|
+
default: ChainBlockExplorer;
|
|
5
|
+
} | undefined;
|
|
6
|
+
id: number;
|
|
7
|
+
name: string;
|
|
8
|
+
rpcUrls: {
|
|
9
|
+
[key: string]: ChainRpcUrls;
|
|
10
|
+
default: ChainRpcUrls;
|
|
11
|
+
};
|
|
12
|
+
testnet?: boolean | undefined;
|
|
13
|
+
} & ChainConfig<formatters, custom>;
|
|
14
|
+
export type ChainConfig<formatters extends ChainFormatters | undefined = ChainFormatters | undefined, custom extends Record<string, unknown> | undefined = Record<string, unknown> | undefined> = {
|
|
15
|
+
custom?: custom | undefined;
|
|
16
|
+
formatters?: formatters | undefined;
|
|
17
|
+
};
|
|
18
|
+
export type ChainFormatters = {
|
|
19
|
+
block?: ChainFormatter<'block'> | undefined;
|
|
20
|
+
transaction?: ChainFormatter<'transaction'> | undefined;
|
|
21
|
+
transactionReceipt?: ChainFormatter<'transactionReceipt'> | undefined;
|
|
22
|
+
transactionRequest?: ChainFormatter<'transactionRequest'> | undefined;
|
|
23
|
+
};
|
|
24
|
+
export type ChainFormatter<type extends string = string> = {
|
|
25
|
+
format: (args: any) => any;
|
|
26
|
+
type: type;
|
|
27
|
+
};
|
|
28
|
+
type ChainBlockExplorer = {
|
|
29
|
+
name: string;
|
|
30
|
+
url: string;
|
|
31
|
+
apiUrl?: string | undefined;
|
|
32
|
+
};
|
|
33
|
+
type ChainRpcUrls = {
|
|
34
|
+
http: readonly string[];
|
|
35
|
+
webSocket?: readonly string[] | undefined;
|
|
36
|
+
};
|
|
37
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/types/chain.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ErrorType } from '../errors/utils.js';
|
|
2
|
+
import type { Account } from './account.js';
|
|
3
|
+
import type { Address } from './address.js';
|
|
4
|
+
import type { Chain } from './chain.js';
|
|
5
|
+
import type { BtcRpcRequestFn, RpcSchema } from './request.js';
|
|
6
|
+
import type { BitcoinRpcMethods } from './rpc.js';
|
|
7
|
+
import type { Transport } from './transport.js';
|
|
8
|
+
import type { Prettify } from './utils.js';
|
|
9
|
+
export type ClientConfig<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, accountOrAddress extends Account | Address | undefined = Account | Address | undefined, rpcSchema extends RpcSchema | undefined = undefined> = {
|
|
10
|
+
account?: accountOrAddress | Account | Address | undefined;
|
|
11
|
+
cacheTime?: number | undefined;
|
|
12
|
+
chain?: Chain | undefined | chain;
|
|
13
|
+
key?: string | undefined;
|
|
14
|
+
name?: string | undefined;
|
|
15
|
+
pollingInterval?: number | undefined;
|
|
16
|
+
rpcSchema?: rpcSchema | undefined;
|
|
17
|
+
transport: transport;
|
|
18
|
+
type?: string | undefined;
|
|
19
|
+
};
|
|
20
|
+
export type Client<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined, rpcSchema extends RpcSchema | undefined = undefined, extended extends Extended | undefined = Extended | undefined> = Client_Base<transport, chain, account, rpcSchema> & (extended extends Extended ? extended : unknown) & {
|
|
21
|
+
extend: <const client extends Extended>(fn: (client: Client<transport, chain, account, rpcSchema, extended>) => client) => Client<transport, chain, account, rpcSchema, Prettify<client> & (extended extends Extended ? extended : unknown)>;
|
|
22
|
+
};
|
|
23
|
+
type Client_Base<transport extends Transport = Transport, chain extends Chain | undefined = Chain | undefined, account extends Account | undefined = Account | undefined, rpcSchema extends RpcSchema | undefined = undefined> = {
|
|
24
|
+
account: account;
|
|
25
|
+
cacheTime: number;
|
|
26
|
+
chain: chain;
|
|
27
|
+
key: string;
|
|
28
|
+
name: string;
|
|
29
|
+
pollingInterval: number;
|
|
30
|
+
request: BtcRpcRequestFn<rpcSchema extends undefined ? BitcoinRpcMethods : rpcSchema>;
|
|
31
|
+
transport: ReturnType<transport>['config'] & ReturnType<transport>['value'];
|
|
32
|
+
type: string;
|
|
33
|
+
uid: string;
|
|
34
|
+
};
|
|
35
|
+
type Extended = Prettify<{
|
|
36
|
+
[_ in keyof Client_Base]?: undefined;
|
|
37
|
+
} & {
|
|
38
|
+
[key: string]: unknown;
|
|
39
|
+
}>;
|
|
40
|
+
export type CreateClientErrorType = ErrorType;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/types/client.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Hash = `0x${string}`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../src/types/hash.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ErrorType } from '../errors/utils.js';
|
|
2
|
+
import type { OneOf } from './utils.js';
|
|
3
|
+
export type RpcSchema = readonly {
|
|
4
|
+
Method: string;
|
|
5
|
+
Parameters?: unknown | undefined;
|
|
6
|
+
ReturnType: unknown;
|
|
7
|
+
}[];
|
|
8
|
+
export type RpcSchemaOverride = Omit<RpcSchema[number], 'Method'>;
|
|
9
|
+
type DerivedRpcSchema<rpcSchema extends RpcSchema | undefined> = rpcSchema extends RpcSchema ? rpcSchema : never;
|
|
10
|
+
export type RpcParameters<rpcSchema extends RpcSchema | undefined = undefined> = rpcSchema extends RpcSchema ? {
|
|
11
|
+
[K in keyof rpcSchema]: rpcSchema[K] extends RpcSchema[number] ? {
|
|
12
|
+
method: rpcSchema[K]['Method'];
|
|
13
|
+
params: rpcSchema[K]['Parameters'];
|
|
14
|
+
} : never;
|
|
15
|
+
}[number] : {
|
|
16
|
+
method: string;
|
|
17
|
+
params?: unknown | undefined;
|
|
18
|
+
};
|
|
19
|
+
export type BtcRpcRequestOptions = {
|
|
20
|
+
dedupe?: boolean | undefined;
|
|
21
|
+
methods?: OneOf<{
|
|
22
|
+
include?: string[] | undefined;
|
|
23
|
+
} | {
|
|
24
|
+
exclude?: string[] | undefined;
|
|
25
|
+
}> | undefined;
|
|
26
|
+
retryDelay?: number | undefined;
|
|
27
|
+
retryCount?: number | undefined;
|
|
28
|
+
uid?: string | undefined;
|
|
29
|
+
};
|
|
30
|
+
export type BtcRpcRequestFn<rpcSchema extends RpcSchema | undefined = undefined, raw extends boolean = false> = <_parameters extends RpcParameters<DerivedRpcSchema<rpcSchema>> = RpcParameters<DerivedRpcSchema<rpcSchema>>, _returnType = DerivedRpcSchema<rpcSchema> extends RpcSchema ? raw extends true ? OneOf<{
|
|
31
|
+
result: Extract<DerivedRpcSchema<rpcSchema>[number], {
|
|
32
|
+
Method: _parameters['method'];
|
|
33
|
+
}>['ReturnType'];
|
|
34
|
+
} | {
|
|
35
|
+
error: ErrorType;
|
|
36
|
+
}> : Extract<DerivedRpcSchema<rpcSchema>[number], {
|
|
37
|
+
Method: _parameters['method'];
|
|
38
|
+
}>['ReturnType'] : raw extends true ? OneOf<{
|
|
39
|
+
result: unknown;
|
|
40
|
+
} | {
|
|
41
|
+
error: ErrorType;
|
|
42
|
+
}> : unknown>(args: _parameters, options?: BtcRpcRequestOptions | undefined) => Promise<_returnType>;
|
|
43
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/types/request.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export type RpcRequest = {
|
|
2
|
+
jsonrpc?: '2.0' | undefined;
|
|
3
|
+
method: string;
|
|
4
|
+
params?: any | undefined;
|
|
5
|
+
id?: number | undefined;
|
|
6
|
+
};
|
|
7
|
+
export type RpcResponse<result = any, error = any> = {
|
|
8
|
+
jsonrpc: `${number}`;
|
|
9
|
+
id: number;
|
|
10
|
+
} & (SuccessResult<result> | ErrorResult<error>);
|
|
11
|
+
type SuccessResult<result> = {
|
|
12
|
+
method?: undefined;
|
|
13
|
+
result: result;
|
|
14
|
+
error?: undefined;
|
|
15
|
+
};
|
|
16
|
+
type ErrorResult<error> = {
|
|
17
|
+
method?: undefined;
|
|
18
|
+
result?: undefined;
|
|
19
|
+
error: error;
|
|
20
|
+
};
|
|
21
|
+
export type BitcoinRpcMethods = [...WalletRpcSchema];
|
|
22
|
+
export type WalletRpcSchema = [
|
|
23
|
+
{
|
|
24
|
+
Method: 'getAddressInfo';
|
|
25
|
+
Parameters?: undefined;
|
|
26
|
+
ReturnType: string;
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
Method: 'getBalance';
|
|
30
|
+
Parameters?: undefined;
|
|
31
|
+
ReturnType: bigint;
|
|
32
|
+
}
|
|
33
|
+
];
|
|
34
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../../src/types/rpc.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Compute } from './utils.js';
|
|
2
|
+
export type StorageItemMap = {
|
|
3
|
+
recentConnectorId: string;
|
|
4
|
+
state: any;
|
|
5
|
+
};
|
|
6
|
+
export type Storage<itemMap extends Record<string, unknown> = Record<string, unknown>, storageItemMap extends StorageItemMap = StorageItemMap & itemMap> = {
|
|
7
|
+
key: string;
|
|
8
|
+
getItem<key extends keyof storageItemMap, value extends storageItemMap[key], defaultValue extends value | null | undefined>(key: key, defaultValue?: defaultValue | undefined): (defaultValue extends null ? value | null : value) | Promise<defaultValue extends null ? value | null : value>;
|
|
9
|
+
setItem<key extends keyof storageItemMap, value extends storageItemMap[key] | null>(key: key, value: value): void | Promise<void>;
|
|
10
|
+
removeItem(key: keyof storageItemMap): void | Promise<void>;
|
|
11
|
+
};
|
|
12
|
+
export type BaseStorage = {
|
|
13
|
+
getItem(key: string): string | null | undefined | Promise<string | null | undefined>;
|
|
14
|
+
setItem(key: string, value: string): void | Promise<void>;
|
|
15
|
+
removeItem(key: string): void | Promise<void>;
|
|
16
|
+
};
|
|
17
|
+
export type CreateStorageParameters = {
|
|
18
|
+
deserialize?: (<type>(value: string) => type | unknown) | undefined;
|
|
19
|
+
key?: string | undefined;
|
|
20
|
+
serialize?: (<type>(value: type | any) => string) | undefined;
|
|
21
|
+
storage?: Compute<BaseStorage> | undefined;
|
|
22
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/types/storage.ts"],"names":[],"mappings":""}
|