UNPKG

@bigmi/client

Version:

Reactive primitives for Bitcoin apps.

42 lines (41 loc) 1.49 kB
import type { Account, Address } from '@bigmi/core'; import type { UTXOConnectorParameters, UTXOWalletProvider } from './types.js'; export type LeatherBitcoinEventMap = { accountChange(accounts: Account[]): void; }; export type LeatherBitcoinEvents = { addListener<TEvent extends keyof LeatherBitcoinEventMap>(event: TEvent, listener: LeatherBitcoinEventMap[TEvent]): void; removeListener?<TEvent extends keyof LeatherBitcoinEventMap>(event: TEvent, listener: LeatherBitcoinEventMap[TEvent]): void; }; type LeatherConnectorProperties = { getAccounts(): Promise<readonly (Account | Address)[]>; getInternalProvider(): Promise<LeatherBitcoinProvider>; } & UTXOWalletProvider; type Error = { code: number; message: string; }; interface GetAccountsResponse { result?: { addresses: Account[]; }; error?: Error; } type LeatherBitcoinProvider = { request(method: 'signPsbt', options: { hex: string; allowedSignHash: number; signAtIndex?: number | number[]; broadcast: boolean; }): Promise<{ result: { hex: string; }; }>; request(method: 'getAddresses'): Promise<GetAccountsResponse>; } & LeatherBitcoinEvents; export declare function leather(parameters?: UTXOConnectorParameters): import("../index.js").CreateConnectorFn<UTXOWalletProvider | undefined, LeatherConnectorProperties, Record<string, unknown>>; export declare namespace leather { var type: "UTXO"; } export {};