UNPKG

@bigmi/client

Version:

Reactive primitives for Bitcoin apps.

63 lines (62 loc) 2.22 kB
import { CreateConnectorFn } from "../types/connector.js"; import { UTXOConnectorParameters, UTXOWalletProvider } from "./types.js"; import { Account, Address } from "@bigmi/core"; //#region src/connectors/dynamic.d.ts type DynamicWalletConnectorEventMap = { accountChange(props: { accounts: string[]; }): void; }; type DynamicWalletConnectorEvents = { addListener<TEvent extends keyof DynamicWalletConnectorEventMap>(event: TEvent, listener: DynamicWalletConnectorEventMap[TEvent]): void; removeListener<TEvent extends keyof DynamicWalletConnectorEventMap>(event: TEvent, listener: DynamicWalletConnectorEventMap[TEvent]): void; }; type DynamicWalletConnector = { providerId: string; name: string; id: string; getAddress(): string; _metadata: { icon?: string; }; } & DynamicWalletConnectorEvents; type BitcoinAddress = { address: string; type: "ordinals" | "payment"; publicKey: string; }; type BitcoinSignPsbtRequestSignature = { address: string; signingIndexes: number[] | undefined; disableAddressValidation?: boolean; }; type BitcoinSignPsbtRequest = { allowedSighash: number[]; unsignedPsbtBase64: string; signature?: BitcoinSignPsbtRequestSignature[]; }; type BitcoinSignPsbtResponse = { signedPsbt: string; }; type DynamicBitcoinWallet = { connector: DynamicWalletConnector; additionalAddresses: BitcoinAddress[]; address: string; isAuthenticated: boolean; signPsbt(parameters: BitcoinSignPsbtRequest): Promise<BitcoinSignPsbtResponse | undefined>; }; type DynamicConnectorProperties = { getAccounts(): Promise<readonly Account[]>; onAccountsChanged(accounts: Address[]): void; getInternalProvider(): Promise<DynamicWalletConnector>; } & UTXOWalletProvider; type DynamicConnectorParameters = { wallet: DynamicBitcoinWallet; } & UTXOConnectorParameters; declare function dynamic(parameters: DynamicConnectorParameters): CreateConnectorFn<UTXOWalletProvider | undefined, DynamicConnectorProperties>; declare namespace dynamic { export var type: "UTXO"; } //#endregion export { BitcoinSignPsbtRequestSignature, DynamicWalletConnector, DynamicWalletConnectorEventMap, DynamicWalletConnectorEvents, dynamic }; //# sourceMappingURL=dynamic.d.ts.map