@btc-vision/bitcoin-rpc
Version:
The one and only fully typed Bitcoin RPC client for Node.js
764 lines (763 loc) • 25.8 kB
TypeScript
import { RESTClient, RESTIniOptions } from './rest.js';
import { BlockData } from '../types/BlockData.js';
import { RawTransaction } from '../types/BitcoinRawTransaction.js';
import { BitcoinVerbosity } from '../types/BitcoinVerbosity.js';
import { BlockTemplateCapability, BlockTemplateRule } from '../types/BlockTemplate.js';
export type RPCIniOptions = RESTIniOptions & {
user?: string;
pass: string;
wallet?: string;
fullResponse?: boolean;
};
export type JSONRPC = {
jsonrpc?: string | number;
id?: string | number;
method: string;
params?: object;
};
export type Verbosity = {
verbosity?: 0 | 1 | 2;
};
export type Verbose = {
verbose?: boolean;
};
export type Height = {
height: number;
};
export type Blockhash = {
blockhash: string;
};
export type TxId = {
txid: string;
};
export type GetBlockParams = Verbosity & Blockhash;
export type GetBlockFilterParams = Blockhash & {
filtertype?: string;
};
export type GetBlockHeaderParams = Blockhash & Verbose;
export type GetBlockStatsParams = {
hash_or_height: string | number;
stats?: string[];
};
export type GetChainTxStatsParams = {
nblocks?: number;
blockhash?: string;
};
export type GetMemPoolParams = TxId & Verbose;
export type GetTxOutParams = TxId & {
n: number;
include_mempool?: boolean;
};
export type GetTxOutProofParams = {
txids: string[];
blockhash?: string;
};
export type Descriptor = string | {
desc: string;
range: number | [number, number];
};
export type ScanTxOutSetParams = {
action: 'start' | 'abort' | 'status';
scanobjects: Descriptor[];
};
export type HelpParams = {
command?: string;
};
export type LoggingParams = {
include?: string[] | 'all' | 'none' | 0 | 1;
exclude?: string[] | 'all' | 'none' | 0 | 1;
};
export type GenerateParams = {
nblocks: number;
maxtries?: number;
};
export type GenerateToAddressParams = GenerateParams & {
address: string;
};
export declare enum GetBlockTemplateMode {
TEMPLATE = "template",
PROPOSAL = "proposal"
}
export type GetBlockTemplateParams = {
template_request: {
mode?: GetBlockTemplateMode;
capabilities?: BlockTemplateCapability[];
rules: BlockTemplateRule[];
};
};
export type PrioritiseTransactionParams = TxId & {
fee_delta: number;
};
export type HexData = {
hexdata: string;
};
export type AddNodeParams = {
node: string;
command: 'add' | 'remove' | 'onetry';
};
export type DisconnectNodeParams = {
address: string;
} | {
nodeid: number;
};
export type SetBanParams = {
subnet: string;
command: 'add' | 'remove';
bantime?: number;
absolute?: boolean;
};
export type AddressType = 'legacy' | 'p2sh-segwit' | 'bech32';
export type CreateMultiSigParams = {
nrequired: number;
keys: string[];
address_type?: AddressType;
};
export type DeriveAddressesParams = {
descriptor: string;
range?: number | [number, number];
};
export type EstimateMode = {
estimate_mode?: 'UNSET' | 'ECONOMICAL' | 'CONSERVATIVE';
};
export type EstimateSmartFeeParams = EstimateMode & {
conf_target: number;
};
export type SignMessageWithPrivKeyParams = {
privkey: string;
message: string;
};
export type VerifyMessageParams = {
address: string;
signature: string;
message: string;
};
export type HexString = {
hexstring: string;
};
export type ConvertToPsbtParams = HexString & {
permitsigdata?: boolean;
iswitness?: boolean;
};
export type BaseTransactionInput = {
txid: string;
vout: number;
};
export type TransactionInput = BaseTransactionInput & {
sequence?: number;
};
export type TransactionOutput = {
[address: string]: string | number;
} | {
data: string;
};
export type BaseCreateTransaction = {
inputs: TransactionInput[];
outputs: TransactionOutput[];
locktime?: number;
};
export type CreateTransactionParams = BaseCreateTransaction & {
replaceable?: boolean;
};
export type DecodeRawTransactionParams = HexString & {
iswitness?: boolean;
};
export type FinalizePsbtParams = {
psbt: string;
extract?: boolean;
};
export type BaseFundOptions = {
options?: EstimateMode & {
changeAddress?: string;
changePosition?: number;
change_type?: string;
includeWatching?: boolean;
lockUnspents?: boolean;
feeRate?: number | string;
subtractFeeFromOutputs?: number[];
replaceable?: boolean;
conf_target?: number;
};
};
export type FundRawTransactionParams = HexString & {
options?: BaseFundOptions;
iswitness?: boolean;
};
export type GetRawTransactionParams = TxId & Verbose & {
blockhash?: string;
};
export type SendRawTransactionParams = HexString & {
maxfeerate?: number | string;
};
export type PrevTx = {
txid: string;
vout: number;
scriptPubKey: string;
redeemScript?: string;
witnessScript?: string;
amount: number | string;
};
export type SigHashType = 'ALL' | 'NONE' | 'SINGLE' | 'ALL|ANYONECANPAY' | 'NONE|ANYONECANPAY' | 'SINGLE|ANYONECANPAY';
export type SignRawTransactionWithWalletParams = HexString & {
prevtxs?: PrevTx[];
sighashtype?: SigHashType;
};
export type SignRawTransactionWithKeyParams = {
privkeys: string[];
} & SignRawTransactionWithWalletParams;
export type TestmemPoolAcceptParams = {
rawtxs: string[];
maxfeerate?: string | number;
};
export type UtxoUpdatePsbtParams = {
psbt: string;
descriptors?: (string | {
desc: string;
range?: number | [number, number];
})[];
};
export type Label = {
label?: string;
};
export type AddMultiSigAddressParams = CreateMultiSigParams & Label;
export type BumpFeeParams = {
txid: string;
options?: EstimateMode & {
replaceable?: boolean;
} & ({
confTarget?: number;
} | {
totalFee?: number;
});
};
export type CreateWalletParams = {
passphrase?: string;
avoid_reuse?: boolean;
wallet_name: string;
disable_private_keys?: boolean;
blank?: boolean;
};
export type GetBalanceParams = {
avoid_reuse?: boolean;
minconf?: number;
include_watchonly?: boolean;
};
export type GetNewAddressParams = {
address_type?: AddressType;
} & Label;
export type GetReceivedByAddressParams = {
address: string;
minconf?: number;
};
export type GetReceivedByLabelParams = {
label: string;
minconf?: number;
};
export type GetTransactionParams = TxId & {
include_watchonly?: boolean;
verbose?: boolean;
};
export type ImportAddressParams = {
address: string;
label?: string;
rescan?: boolean;
p2sh?: boolean;
};
export type ImportMultiRequest = {
timestamp: number | 'now';
internal?: boolean;
watchonly?: boolean;
label?: string;
keypool?: boolean;
} & ({
desc: string;
range?: number | [number, number];
} | {
scriptPubKey: {
address: string;
} | string;
redeemscript?: string;
witnessscript?: string;
pubkeys?: string[];
keys?: string[];
});
export type ImportMultiParams = {
requests: ImportMultiRequest[];
options?: {
rescan?: boolean;
};
};
export type ImportPrivKeyParams = {
privkey: string;
label?: string;
rescan?: boolean;
};
export type ImportPrunedFundsParams = {
rawtransaction: string;
txoutproof: string;
};
export type ImportPubKeyParams = {
pubkey: string;
label?: string;
rescan?: boolean;
};
export type ListLabelsParams = {
purpose: 'receive' | 'send';
};
export type ListReceivedByAddressParams = ListReceivedByLabelParams & {
address_filter?: string;
};
export type ListReceivedByLabelParams = {
minconf?: number;
include_empty?: boolean;
include_watchonly?: boolean;
};
export type ListSinceBlockParams = {
blockhash?: string;
target_confirmations?: number;
include_watchonly?: boolean;
include_removed?: boolean;
};
export type ListTransactionsParams = {
label?: string;
count?: number;
skip?: number;
include_watchonly?: boolean;
};
export type ListUnspentParams = {
minconf?: number;
maxconf?: number;
addresses?: string[];
include_unsafe?: boolean;
query_options?: {
minimumAmount?: number | string;
maximumAmount?: number | string;
maximumCount?: number;
minimumSumAmount?: number | string;
};
};
export type LockUnspentParams = {
unlock: boolean;
transactions?: BaseTransactionInput[];
};
export type RescanBlockchainParams = {
start_height?: number;
stop_height?: number;
};
export type BaseSendParams = EstimateMode & {
comment?: string;
replaceable?: boolean;
conf_target?: number;
};
export type SendManyParams = BaseSendParams & {
amounts: {
[address: string]: number | string;
};
subtractfeefrom?: string[];
};
export type SendToAddressParams = BaseSendParams & {
avoid_reuse?: boolean;
address: string;
amount: string | number;
comment_to?: string;
subtractfeefromamount?: boolean;
};
export type SetHDSeedParams = {
newkeypool?: boolean;
seed?: string;
};
export type SetLabelParams = {
address: string;
label: string;
};
export type SetWalletFlagParams = {
flag: string;
value?: boolean;
};
export type SignMessageParams = {
address: string;
message: string;
};
export type WalletCreateFundedPsbtParams = BaseCreateTransaction & BaseFundOptions & {
bip32derivs?: boolean;
};
export type WalletPassphraseParams = {
passphrase: string;
timeout: number;
};
export type WalletPassphraseChangeParams = {
oldpassphrase: string;
newpassphrase: string;
};
export type WalletProcessPsbtParams = {
psbt: string;
sign?: boolean;
sighashtype?: SigHashType;
bip32derivs?: boolean;
};
interface JSONRPCError {
code: number;
message: string;
}
interface JSONRPCResult {
result: object | null;
error: JSONRPCError | null;
id: string;
}
export type GetBestBlockHeaderParams = Verbose;
export type GetDeploymentInfoParams = {
blockhash?: string;
};
export type GetMempoolEntryByIdParams = {
wtxid: string;
};
export type GenerateBlockParams = {
output: string;
transactions?: string[];
submit?: boolean;
};
export type AddPeerAddressParams = {
address: string;
port: number;
tried?: boolean;
};
export type GetNodeAddressesParams = {
count?: number;
};
export type SendMsgToPeerParams = {
peer_id: number;
msg_type: string;
data: string;
};
export type SubmitPackageParams = {
package: string[];
maxfeerate?: number | string;
maxburnamount?: number | string;
};
export type GetIndexInfoParams = {
index_name?: string;
};
export type VerifyChainLockParams = {
blockhash: string;
signature: string;
height: number;
};
export type CreateWalletDescriptorParams = {
type: 'wpkh' | 'pkh' | 'sh' | 'tr';
internal?: boolean;
hdkey?: string;
};
export type GetHDKeysParams = {
active_only?: boolean;
private?: boolean;
};
export type ImportDescriptorRequest = {
desc: string;
timestamp: number | 'now';
active?: boolean;
range?: number | [number, number];
next_index?: number;
internal?: boolean;
label?: string;
};
export type ImportDescriptorsParams = {
requests: ImportDescriptorRequest[];
};
export type ListDescriptorsParams = {
private?: boolean;
};
export type MigrateWalletParams = {
wallet_name?: string;
passphrase?: string;
};
export type PsbtBumpFeeParams = {
txid: string;
options?: EstimateMode & {
conf_target?: number;
fee_rate?: number | string;
replaceable?: boolean;
outputs?: Array<{
[address: string]: number | string;
}>;
reduce_output?: number;
};
};
export type SendParams = {
outputs: Array<{
[address: string]: number | string;
}>;
conf_target?: number;
estimate_mode?: 'UNSET' | 'ECONOMICAL' | 'CONSERVATIVE';
fee_rate?: number | string;
options?: {
add_inputs?: boolean;
include_unsafe?: boolean;
add_to_wallet?: boolean;
change_address?: string;
change_position?: number;
change_type?: string;
fee_rate?: number | string;
include_watching?: boolean;
inputs?: Array<{
txid: string;
vout: number;
weight?: number;
}>;
lock_unspents?: boolean;
locktime?: number;
max_tx_weight?: number;
psbt?: boolean;
subtract_fee_from_outputs?: number[];
conf_target?: number;
replaceable?: boolean;
};
};
export type SendAllParams = {
recipients: Array<{
[address: string]: number | string;
}> | string[];
conf_target?: number;
estimate_mode?: 'UNSET' | 'ECONOMICAL' | 'CONSERVATIVE';
fee_rate?: number | string;
options?: {
add_to_wallet?: boolean;
fee_rate?: number | string;
include_watching?: boolean;
inputs?: Array<{
txid: string;
vout: number;
weight?: number;
}>;
lock_unspents?: boolean;
locktime?: number;
max_tx_weight?: number;
minconf?: number;
maxconf?: number;
psbt?: boolean;
send_max?: boolean;
conf_target?: number;
replaceable?: boolean;
};
};
export type SimulateRawTransactionParams = {
rawtxs?: string[];
options?: {
include_watchonly?: boolean;
};
};
export type UpgradeWalletParams = {
version?: number;
};
export declare class RPCClient extends RESTClient {
wallet?: string;
fullResponse?: boolean;
constructor({ user, pass, wallet, fullResponse, ...options }: RPCIniOptions);
batch(body: JSONRPC | JSONRPC[], uri?: string): Promise<JSONRPCResult>;
rpc<T = unknown>(method: string, params?: {}, wallet?: string): Promise<T>;
getbestblockhash(): Promise<unknown>;
getblock({ blockhash, verbosity }: GetBlockParams): Promise<unknown>;
getblockBatch(blockhashes: string[], verbosity?: number): Promise<(BlockData | null)[]>;
getblockchaininfo(): Promise<unknown>;
getblockcount(): Promise<unknown>;
getblockfilter(options: GetBlockFilterParams): Promise<unknown>;
getblockhash({ height }: Height): Promise<unknown>;
getblockhashes(heights: Height, count: number): Promise<(string | null)[]>;
getblockheader({ blockhash, verbose }: GetBlockHeaderParams): Promise<unknown>;
getblockstats({ hash_or_height, stats }: GetBlockStatsParams): Promise<unknown>;
getchaintips(): Promise<unknown>;
getchaintxstats({ nblocks, blockhash }: GetChainTxStatsParams): Promise<unknown>;
getdifficulty(): Promise<unknown>;
getmempoolancestors({ txid, verbose }: GetMemPoolParams): Promise<unknown>;
getmempooldescendants({ txid, verbose }: GetMemPoolParams): Promise<unknown>;
getmempoolentry({ txid }: TxId): Promise<unknown>;
getmempoolinfo(): Promise<unknown>;
getrawmempool({ verbose }?: Verbose): Promise<unknown>;
gettxout({ txid, n, include_mempool }: GetTxOutParams): Promise<unknown>;
gettxoutproof({ txids, blockhash }: GetTxOutProofParams): Promise<unknown>;
gettxoutsetinfo(): Promise<unknown>;
preciousblock({ blockhash }: Blockhash): Promise<unknown>;
pruneblockchain({ height }: Height): Promise<unknown>;
savemempool(): Promise<unknown>;
scantxoutset({ action, scanobjects }: ScanTxOutSetParams): Promise<unknown>;
verifychain({ checklevel, nblocks }?: {
checklevel?: number | undefined;
nblocks?: number | undefined;
}): Promise<unknown>;
verifytxoutproof({ proof }: {
proof: string;
}): Promise<unknown>;
getmemoryinfo({ mode }?: {
mode?: string | undefined;
}): Promise<unknown>;
getrpcinfo(): Promise<unknown>;
help({ command }?: HelpParams): Promise<unknown>;
logging({ include, exclude }?: LoggingParams): Promise<unknown>;
stop(): Promise<unknown>;
uptime(): Promise<unknown>;
getbestblockheader({ verbose }?: GetBestBlockHeaderParams): Promise<unknown>;
getdeploymentinfo({ blockhash }?: GetDeploymentInfoParams): Promise<unknown>;
getmempoolentrybyid({ wtxid }: GetMempoolEntryByIdParams): Promise<unknown>;
generate({ nblocks, maxtries }: GenerateParams, wallet?: string): Promise<unknown>;
generateblock({ output, transactions, submit }: GenerateBlockParams): Promise<unknown>;
addpeeraddress({ address, port, tried }: AddPeerAddressParams): Promise<unknown>;
sendmsgtopeer({ peer_id, msg_type, data }: SendMsgToPeerParams): Promise<unknown>;
submitpackage({ package: pkg, maxfeerate, maxburnamount }: SubmitPackageParams): Promise<unknown>;
generatetoaddress(options: GenerateToAddressParams, wallet?: string): Promise<unknown>;
getindexinfo({ index_name }?: GetIndexInfoParams): Promise<unknown>;
verifychainlock({ blockhash, signature, height }: VerifyChainLockParams): Promise<unknown>;
createwalletdescriptor(options: CreateWalletDescriptorParams, wallet?: string): Promise<unknown>;
gethdkeys(options?: GetHDKeysParams, wallet?: string): Promise<unknown>;
importdescriptors({ requests }: ImportDescriptorsParams, wallet?: string): Promise<unknown>;
listdescriptors({ private: priv }?: ListDescriptorsParams, wallet?: string): Promise<unknown>;
migratewallet({ wallet_name, passphrase }?: MigrateWalletParams): Promise<unknown>;
newkeypool(wallet?: string): Promise<unknown>;
psbtbumpfee(options: PsbtBumpFeeParams, wallet?: string): Promise<unknown>;
send({ outputs, conf_target, estimate_mode, fee_rate, options }: SendParams, wallet?: string): Promise<unknown>;
sendall({ recipients, conf_target, estimate_mode, fee_rate, options }: SendAllParams, wallet?: string): Promise<unknown>;
simulaterawtransaction({ rawtxs, options }?: SimulateRawTransactionParams, wallet?: string): Promise<unknown>;
upgradewallet({ version }?: UpgradeWalletParams, wallet?: string): Promise<unknown>;
getblocktemplate(options: GetBlockTemplateParams): Promise<unknown>;
getmininginfo(): Promise<unknown>;
getnetworkhashps(options?: {}): Promise<unknown>;
prioritisetransaction(options: PrioritiseTransactionParams): Promise<unknown>;
submitblock(options: HexData): Promise<unknown>;
submitheader(options: HexData): Promise<unknown>;
addnode(options: AddNodeParams): Promise<unknown>;
clearbanned(): Promise<unknown>;
disconnectnode(params: DisconnectNodeParams): Promise<unknown>;
getaddednodeinfo(options?: {
node?: string;
}): Promise<unknown>;
getconnectioncount(): Promise<unknown>;
getnettotals(): Promise<unknown>;
getnetworkinfo(): Promise<unknown>;
getnodeaddresses({ count }?: GetNodeAddressesParams): Promise<unknown>;
getpeerinfo(): Promise<unknown>;
listbanned(): Promise<unknown>;
ping(): Promise<unknown>;
setban(options: SetBanParams): Promise<unknown>;
setnetworkactive(options: {
state: boolean;
}): Promise<unknown>;
analyzepsbt(options: {
psbt: string;
}): Promise<unknown>;
combinepsbt(options: {
txs: string[];
}): Promise<unknown>;
combinerawtransaction(options: {
txs: string[];
}): Promise<unknown>;
converttopsbt(options: ConvertToPsbtParams): Promise<unknown>;
createpsbt(options: CreateTransactionParams): Promise<unknown>;
createrawtransaction(options: CreateTransactionParams): Promise<unknown>;
decodepsbt(options: {
psbt: string;
}): Promise<unknown>;
decoderawtransaction(options: DecodeRawTransactionParams): Promise<unknown>;
decodescript(options: HexString): Promise<unknown>;
finalizepsbt(options: FinalizePsbtParams): Promise<unknown>;
fundrawtransaction(options: FundRawTransactionParams, wallet?: string): Promise<unknown>;
getrawtransaction(options: GetRawTransactionParams): Promise<unknown>;
getrawtransactionBatch<V extends BitcoinVerbosity>(txids: string[], verbose?: boolean): Promise<(RawTransaction<V> | null)[]>;
joinpsbts(options: {
txs: string[];
}): Promise<unknown>;
sendrawtransaction(options: SendRawTransactionParams): Promise<unknown>;
signrawtransactionwithkey(options: SignRawTransactionWithKeyParams): Promise<unknown>;
testmempoolaccept(options: TestmemPoolAcceptParams): Promise<unknown>;
utxoupdatepsbt(options: UtxoUpdatePsbtParams): Promise<unknown>;
createmultisig(options: CreateMultiSigParams): Promise<unknown>;
deriveaddresses({ descriptor, range }: DeriveAddressesParams): Promise<unknown>;
estimatesmartfee(options: EstimateSmartFeeParams): Promise<unknown>;
getdescriptorinfo(options: {
descriptor: string;
}): Promise<unknown>;
signmessagewithprivkey(options: SignMessageWithPrivKeyParams): Promise<unknown>;
validateaddress(options: {
address: string;
}): Promise<unknown>;
verifymessage(options: VerifyMessageParams): Promise<unknown>;
abandontransaction(options: TxId, wallet?: string): Promise<unknown>;
abortrescan(wallet?: string): Promise<unknown>;
addmultisigaddress(options: AddMultiSigAddressParams, wallet?: string): Promise<unknown>;
backupwallet(options: {
destination: string;
}, wallet?: string): Promise<unknown>;
bumpfee(options: BumpFeeParams, wallet?: string): Promise<unknown>;
createwallet(options: CreateWalletParams): Promise<unknown>;
dumpprivkey(options: {
address: string;
}, wallet?: string): Promise<unknown>;
dumpwallet(options: {
filename: string;
}, wallet?: string): Promise<unknown>;
encryptwallet(options: {
passphrase: string;
}, wallet?: string): Promise<unknown>;
getaddressesbylabel(options: {
label: string;
}, wallet?: string): Promise<unknown>;
getaddressinfo(options: {
address: string;
}, wallet?: string): Promise<unknown>;
getbalance(options: GetBalanceParams, wallet?: string): Promise<unknown>;
getbalances(wallet?: string): Promise<unknown>;
getnewaddress(options: GetNewAddressParams, wallet?: string): Promise<unknown>;
getrawchangeaddress(options: {
address_type?: AddressType;
}, wallet?: string): Promise<unknown>;
getreceivedbyaddress(options: GetReceivedByAddressParams, wallet?: string): Promise<unknown>;
getreceivedbylabel(options: GetReceivedByLabelParams, wallet?: string): Promise<unknown>;
gettransaction(options: GetTransactionParams, wallet?: string): Promise<unknown>;
getunconfirmedbalance(wallet?: string): Promise<unknown>;
getwalletinfo(wallet?: string): Promise<unknown>;
invalidateblock({ blockhash }: Blockhash): Promise<unknown>;
reconsiderblock({ blockhash }: Blockhash): Promise<unknown>;
importaddress(options: ImportAddressParams, wallet?: string): Promise<unknown>;
importmulti(options: ImportMultiParams, wallet?: string): Promise<unknown>;
importprivkey(options: ImportPrivKeyParams, wallet?: string): Promise<unknown>;
importprunedfunds(options: ImportPrunedFundsParams, wallet?: string): Promise<unknown>;
importpubkey(options: ImportPubKeyParams, wallet?: string): Promise<unknown>;
importwallet(options: {
filename: string;
}, wallet?: string): Promise<unknown>;
keypoolrefill(options: {
newsize?: number;
}, wallet?: string): Promise<unknown>;
listaddressgroupings(wallet?: string): Promise<unknown>;
listlabels(options: ListLabelsParams, wallet?: string): Promise<unknown>;
listlockunspent(wallet?: string): Promise<unknown>;
listreceivedbyaddress(options: ListReceivedByAddressParams, wallet?: string): Promise<unknown>;
listreceivedbylabel(options: ListReceivedByLabelParams, wallet?: string): Promise<unknown>;
listsinceblock(options: ListSinceBlockParams, wallet?: string): Promise<unknown>;
listtransactions(options: ListTransactionsParams, wallet?: string): Promise<unknown>;
listunspent(options: ListUnspentParams, wallet?: string): Promise<unknown>;
listwalletdir(): Promise<unknown>;
listwallets(): Promise<unknown>;
loadwallet({ filename }: {
filename: string;
}): Promise<unknown>;
lockunspent(options: LockUnspentParams, wallet?: string): Promise<unknown>;
removeprunedfunds(options: TxId, wallet?: string): Promise<unknown>;
rescanblockchain(options: RescanBlockchainParams, wallet?: string): Promise<unknown>;
sendmany(options: SendManyParams, wallet?: string): Promise<unknown>;
sendtoaddress(options: SendToAddressParams, wallet?: string): Promise<unknown>;
sethdseed(options: SetHDSeedParams, wallet?: string): Promise<unknown>;
setlabel(options: SetLabelParams, wallet?: string): Promise<unknown>;
settxfee(options: {
amount: number | string;
}, wallet?: string): Promise<unknown>;
setwalletflag(options: SetWalletFlagParams, wallet?: string): Promise<unknown>;
signmessage(options: SignMessageParams, wallet?: string): Promise<unknown>;
signrawtransactionwithwallet(options: SignRawTransactionWithWalletParams, wallet?: string): Promise<unknown>;
unloadwallet({ wallet_name }?: {
wallet_name?: string;
}): Promise<unknown>;
walletcreatefundedpsbt(options: WalletCreateFundedPsbtParams, wallet?: string): Promise<unknown>;
walletlock(wallet?: string): Promise<unknown>;
walletpassphrase(options: WalletPassphraseParams, wallet?: string): Promise<unknown>;
walletpassphrasechange(options: WalletPassphraseChangeParams, wallet?: string): Promise<unknown>;
walletprocesspsbt(options: WalletProcessPsbtParams, wallet?: string): Promise<unknown>;
getzmqnotifications(): Promise<unknown>;
}
export {};