@bigmi/client
Version:
Reactive primitives for Bitcoin apps.
46 lines (45 loc) • 1.55 kB
TypeScript
import { CreateConnectorFn } from "../types/connector.js";
import { UTXOConnectorParameters, UTXOWalletProvider } from "./types.js";
import { Account, Address } from "@bigmi/core";
//#region src/connectors/leather.d.ts
type LeatherBitcoinEventMap = {
accountChange(accounts: Account[]): void;
};
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;
declare function leather(parameters?: UTXOConnectorParameters): CreateConnectorFn<UTXOWalletProvider | undefined, LeatherConnectorProperties>;
declare namespace leather {
export var type: "UTXO";
}
//#endregion
export { LeatherBitcoinEventMap, LeatherBitcoinEvents, leather };
//# sourceMappingURL=leather.d.ts.map