UNPKG

@bigmi/client

Version:

Reactive primitives for Bitcoin apps.

47 lines (46 loc) 1.79 kB
import type { Account, AddressPurpose } from '@bigmi/core'; import type { UTXOConnectorParameters, UTXOWalletProvider } from './types.js'; export type XverseBitcoinEventMap = { accountChange(accounts: Account[]): void; }; export type XverseBitcoinEvents = { addListener<TEvent extends keyof XverseBitcoinEventMap>(event: TEvent, listener: XverseBitcoinEventMap[TEvent]): void; removeListener?<TEvent extends keyof XverseBitcoinEventMap>(event: TEvent, listener: XverseBitcoinEventMap[TEvent]): void; }; type XverseConnectorProperties = { getAccounts(): Promise<readonly Account[]>; onAccountsChanged(accounts: Account[]): void; getInternalProvider(): Promise<XverseBitcoinProvider>; } & UTXOWalletProvider; type Error = { code: number; message: string; }; interface GetAccountsRequest { purposes: AddressPurpose[]; } interface GetAccountsResponse { result?: { addresses: Account[]; }; error?: Error; } interface RequestPermissionsResponse { result?: boolean; error?: Error; } type XverseBitcoinProvider = { request(method: 'signPsbt', options: { psbt: string; allowedSignHash: number; signInputs: Record<string, number[]>; broadcast: boolean; }): Promise<string>; request(method: 'getAccounts' | 'getAddresses', options: GetAccountsRequest): Promise<GetAccountsResponse>; request(method: 'wallet_requestPermissions' | 'wallet_renouncePermissions'): Promise<RequestPermissionsResponse>; } & XverseBitcoinEvents; export declare function xverse(parameters?: UTXOConnectorParameters): import("../index.js").CreateConnectorFn<UTXOWalletProvider | undefined, XverseConnectorProperties, Record<string, unknown>>; export declare namespace xverse { var type: "UTXO"; } export {};