@btc-vision/bitcoin-rpc
Version:
The one and only fully typed Bitcoin RPC client for Node.js
42 lines (41 loc) • 1.72 kB
TypeScript
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;
}