UNPKG

@btc-vision/bitcoin-rpc

Version:

The one and only fully typed Bitcoin RPC client for Node.js

42 lines (41 loc) 1.72 kB
export type BlockTemplateRule = 'segwit' | 'signet' | 'csv' | 'taproot' | (string & {}); export type BlockTemplateMutable = 'time' | 'transactions' | 'transactions/add' | 'transactions/remove' | 'prevblock' | 'coinbase' | 'coinbase/append' | 'generation' | (string & {}); export type BlockTemplateCapability = 'longpoll' | 'coinbasetxn' | 'coinbasevalue' | 'proposal' | 'serverlist' | 'workid' | (string & {}); export interface BlockTemplateTx { readonly data: string; readonly txid: string; readonly hash: string; readonly fee: number; readonly sigops: number; readonly weight: number; readonly depends?: readonly number[]; } export interface CoinbaseAux { readonly flags?: string; readonly [key: string]: string | undefined; } export interface BlockTemplate { readonly capabilities?: readonly string[]; readonly version: number; readonly rules?: readonly BlockTemplateRule[]; readonly vbavailable?: Readonly<Record<string, number>>; readonly vbrequired?: number; readonly previousblockhash: string; readonly transactions: readonly BlockTemplateTx[]; readonly coinbaseaux: CoinbaseAux; readonly coinbasevalue: number; readonly coinbasetxn?: Readonly<Record<string, unknown>>; readonly longpollid?: string; readonly target: string; readonly mintime: number; readonly mutable?: readonly BlockTemplateMutable[]; readonly noncerange?: string; readonly curtime: number; readonly bits: string; readonly height: number; readonly signet_challenge?: string; readonly default_witness_commitment?: string; readonly weightlimit?: number; readonly sigoplimit?: number; readonly sizelimit?: number; }