/// /// import type { ScriptType as Psbtv2ScriptType } from "@ledgerhq/psbtv2"; import type { AddressFormat } from "../getWalletPublicKey"; /** * Map from scriptPubKey hash (hex) to derivation data. * Used to populate missing BIP32 derivations from the wallet's known addresses. */ export type KnownAddressDerivationsMap = Map; /** * Options for signPsbtBuffer. Used internally by signPsbt modules. */ export interface SignPsbtBufferOptions { finalizePsbt: boolean; accountPath: string; addressFormat: AddressFormat; onDeviceSignatureRequested?: () => void; onDeviceSignatureGranted?: () => void; onDeviceStreaming?: (arg: { progress: number; total: number; index: number; }) => void; /** Map from scriptPubKey hash (hex) to { pubkey, path }. Built from wallet's known addresses. */ knownAddressDerivations: KnownAddressDerivationsMap; } /** * Discriminator for input vs output derivation handling. * Used to consolidate duplicate code for BIP32 derivation operations. */ export type DerivationElementType = "input" | "output"; /** * Accessors for BIP32 derivation operations that abstract over inputs vs outputs. * This allows reusing the same derivation logic for both element types. */ export interface DerivationAccessors { readonly getKeyDatas: (index: number, keyType: number) => Buffer[]; readonly getBip32Derivation: (index: number, pubkey: Buffer) => { path: number[]; masterFingerprint: Buffer; } | undefined; readonly getTapBip32Derivation: (index: number, pubkey: Buffer) => { path: number[]; masterFingerprint: Buffer; hashes: Buffer[]; } | undefined; readonly setBip32Derivation: (index: number, pubkey: Buffer, masterFp: Buffer, path: number[]) => void; readonly setTapBip32Derivation: (index: number, pubkey: Buffer, hashes: Buffer[], masterFp: Buffer, path: number[]) => void; readonly bip32KeyType: number; readonly tapBip32KeyType: number; } /** * Union type for supported Bitcoin script types. * Extends @ledgerhq/psbtv2 ScriptType with "p2sh-p2wpkh" (alias for derivation/signing). */ export type ScriptType = Psbtv2ScriptType | "p2sh-p2wpkh"; //# sourceMappingURL=types.d.ts.map