@bsv/wallet-toolbox-mobile
Version:
Client only Wallet Storage
171 lines (169 loc) • 6.68 kB
TypeScript
import { Chain } from '../../../../sdk/types';
import { BlockHeader } from '../../../../sdk/WalletServices.interfaces';
export type StopListenerToken = {
stop: (() => void) | undefined;
};
/**
* High speed WebSocket based based old block header listener
* @param fromHeight
* @param enqueue returns headers received from WebSocket service
* @param error notifies of abnormal events, return false to close websocket, true to ignore the error.
* @param stop an object with a stop property which gets set to a method to stop listener
* @param chain 'test' | 'main'
* @param idleWait how many milliseconds to timeout between completion checks.
* @returns true on normal completion, false if should restart if no error received.
*/
export declare function WocHeadersBulkListener(fromHeight: number, toHeight: number, enqueue: (header: BlockHeader) => void, error: (code: number, message: string) => boolean, stop: StopListenerToken, chain?: Chain, idleWait?: number): Promise<boolean>;
/** v2
{
"message": {
"data": {
"version": 872415232,
"previousblockhash": "00000000000000000ea1f9ba0817a0f922ee227be306fd9097a4e76caf5ff411",
"merkleroot": "dcd7efb3c39e8e2d597e4757b9a49c98f52f77a6df39d1d5936ac3abb2559944",
"time": 1750182239,
"bits": 403926191,
"nonce": 1043732575,
"hash": "0000000000000000032d09ca772ca5b3bc5b90a79a5bbcc4a05c99fb6d3b23d8",
"height": 901658
}
}
}
*/
export declare function WocHeadersBulkListener_test(): Promise<void>;
/**
* High speed WebSocket based based new block header listener
* @param enqueue returns headers received from WebSocket service
* @param error notifies of abnormal events, return false to close websocket, true to ignore the error.
* @param stop an object with a stop property which gets set to a method to stop listener
* @param chain 'test' | 'main'
* @param idleWait without any input, after this many milliseconds, assume dead service and exit.
* @returns true only if exit caused by `stop`
*/
export declare function WocHeadersLiveListener(enqueue: (header: BlockHeader) => void, error: (code: number, message: string) => boolean, stop: StopListenerToken, chain?: Chain, idleWait?: number): Promise<boolean>;
export declare function WocHeadersLiveListener_test(): Promise<void>;
/**
* v1 json data format:
*
{
"hash": "0000000000000000010cb155a44577ff3541940ec4355c026dc2706fb7e261d6",
"confirmations": 4,
"size": 1229956,
"height": 676421,
"version": 541065216,
"versionHex": "20400000",
"merkleroot": "e2f64e87c0362314b65dc28b4367c41d904c22b891b652951779336ef735386b",
"txcount": 654,
"time": 1614534798,
"mediantime": 1614527058,
"nonce": 610133701,
"bits": "180d359d",
"difficulty": 83235621087.7299,
"chainwork": "00000000000000000000000000000000000000000127d3854a414d8ec8f53190",
"previousblockhash": "00000000000000000428ca33597675bd85f5a2ef464ba25e4db7b4a74d898d33",
"nextblockhash": "00000000000000000cb40c1d850dece5cd3747e08a1e4066ef887251388c4ae6",
"coinbaseTx": {
"hex": "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff410345520a2f7461616c2e636f6d2f506c656173652070617920302e3520736174732f627974652c20696e666f407461616c2e636f6d6eead6b0ad91f2ce86be0400ffffffff0176674325000000001976a9148e9170be3f733a9773c907517fb9b786f1c884c688ac00000000",
"txid": "13686a10870d23b4c94642bf0b78d6630e2640fc0de83bc30af835d96bb17482",
"hash": "13686a10870d23b4c94642bf0b78d6630e2640fc0de83bc30af835d96bb17482",
"size": 150,
"version": 1,
"locktime": 0,
"vin": [
{
"coinbase": "0345520a2f7461616c2e636f6d2f506c656173652070617920302e3520736174732f627974652c20696e666f407461616c2e636f6d6eead6b0ad91f2ce86be0400",
"sequence": 4294967295
}
],
"vout": [
{
"value": 6.2517439,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 8e9170be3f733a9773c907517fb9b786f1c884c6 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a9148e9170be3f733a9773c907517fb9b786f1c884c688ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"1DzqBck9oyCBzxJbbje2s15deZis6BeATi"
],
"isTruncated": false
}
}
],
"blockhash": "0000000000000000010cb155a44577ff3541940ec4355c026dc2706fb7e261d6",
"confirmations": 4,
"time": 1614534798,
"blocktime": 1614534798
}
}
*/
/**
* v2 json data format:
{
"channel": "woc:blockHeader",
"pub": {
"data": {
"hash": "000000000000000007405fd882e9d4bf3d7b2388010081fe443ee1e323d8a668",
"confirmations": 1,
"size": 368170789,
"height": 892466,
"version": 939524096,
"versionHex": "38000000",
"merkleroot": "b0ac43a40a42775d8f533a8eda00bed3257e12a5fca3c8cade47188e6b7aa382",
"txcount": 9230,
"time": 1744648860,
"mediantime": 1744645401,
"nonce": 2893086732,
"bits": "181246e3",
"difficulty": 60157618395.71893,
"chainwork": "00000000000000000000000000000000000000000164d487adbc2b84d47d2831",
"previousblockhash": "0000000000000000090fa4de4c971b0b3609acc1061b2020d22dc8d8bf72746a",
"nextblockhash": "",
"coinbaseTx": {
"hex": "...",
"txid": "1932aa0229b6b44be4b749b9e7279c02136374e2e77b4e890db761f8e74d2111",
"hash": "1932aa0229b6b44be4b749b9e7279c02136374e2e77b4e890db761f8e74d2111",
"size": 111,
"version": 1,
"locktime": 0,
"vin": [
{
"n": 0,
"coinbase": "03329e0d2f7461616c2e636f6d2fb9df41e723a18d95e09d0200",
"sequence": 4294967295
}
],
"vout": [
{
"value": 3.13276008,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 522cf9e7626d9bd8729e5a1398ece40dad1b6a2f OP_EQUALVERIFY OP_CHECKSIG",
"hex": "...",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"18VWHjMt4ixHddPPbs6righWTs3Sg2QNcn"
],
"isTruncated": false
},
"scripthash": "1981f116576960fab6ac9a71ba3c12e4f98c2d9b34532bdb40f2e8cc03337fa2"
}
],
"blockhash": "000000000000000007405fd882e9d4bf3d7b2388010081fe443ee1e323d8a668",
"confirmations": 1,
"time": 1744648860,
"blocktime": 1744648860,
// New properties in v2
"blockheight": 892466,
"vincount": 1,
"voutcount": 1,
"voutvalue": 3.13276008
},
"totalFees": 0.007760080000000169
}
}
}
*/
//# sourceMappingURL=WhatsOnChainIngestorWs.d.ts.map