@bigmi/client
Version:
Reactive primitives for Bitcoin apps.
32 lines (31 loc) • 1.44 kB
TypeScript
import type { Address } from '@bigmi/core';
import type { BtcAccount } from '../types/account.js';
import type { UTXOConnectorParameters, UTXOWalletProvider } from './types.js';
export type PhantomBitcoinEventMap = {
accountsChanged(accounts: BtcAccount[]): void;
};
export type PhantomBitcoinEvents = {
on<TEvent extends keyof PhantomBitcoinEventMap>(event: TEvent, listener: PhantomBitcoinEventMap[TEvent]): void;
removeListener<TEvent extends keyof PhantomBitcoinEventMap>(event: TEvent, listener: PhantomBitcoinEventMap[TEvent]): void;
};
type PhantomConnectorProperties = {
getAccounts(): Promise<readonly (BtcAccount | Address)[]>;
onAccountsChanged(accounts: (BtcAccount | Address)[]): void;
getInternalProvider(): Promise<PhantomBitcoinProvider>;
} & UTXOWalletProvider;
type PhantomBitcoinProvider = {
requestAccounts(): Promise<BtcAccount[]>;
signPSBT(psbtHex: Uint8Array, options: {
inputsToSign: {
sigHash?: number | undefined;
address: string;
signingIndexes: number[];
}[];
finalize?: boolean;
}): Promise<Uint8Array>;
} & PhantomBitcoinEvents;
export declare function phantom(parameters?: UTXOConnectorParameters): import("../factories/createConnector.js").CreateConnectorFn<UTXOWalletProvider | undefined, PhantomConnectorProperties, Record<string, unknown>>;
export declare namespace phantom {
var type: "UTXO";
}
export {};