UNPKG

@bigmi/client

Version:

Reactive primitives for Bitcoin apps.

43 lines (42 loc) 1.57 kB
import type { Address } from '@bigmi/core'; import type { BtcAccount } from '../types/account.js'; import type { UTXOConnectorParameters, UTXOWalletProvider } from './types.js'; export type LeatherBitcoinEventMap = { accountChange(accounts: BtcAccount[]): 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 (BtcAccount | Address)[]>; getInternalProvider(): Promise<LeatherBitcoinProvider>; } & UTXOWalletProvider; type Error = { code: number; message: string; }; interface GetAccountsResponse { result?: { addresses: BtcAccount[]; }; 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("../factories/createConnector.js").CreateConnectorFn<UTXOWalletProvider | undefined, LeatherConnectorProperties, Record<string, unknown>>; export declare namespace leather { var type: "UTXO"; } export {};