caravan-x
Version:
A terminal-based utility for managing Caravan multisig wallets in regtest mode. This tool simplifies development and testing with Caravan by providing an easy-to-use interface
68 lines (67 loc) • 1.41 kB
TypeScript
/**
* Extended public key information
*/
export interface ExtendedPublicKey {
name: string;
xpub: string;
bip32Path: string;
method?: string;
xfp?: string;
}
/**
* Caravan wallet configuration structure
*/
export interface CaravanWalletConfig {
name: string;
addressType: string;
network: string;
quorum: {
requiredSigners: number;
totalSigners: number;
};
extendedPublicKeys: ExtendedPublicKey[];
startingAddressIndex?: number;
uuid?: string;
client?: {
type: string;
url?: string;
username?: string;
password?: string;
walletName?: string;
};
ledgerPolicyHmacs?: string[];
}
/**
* Private key data for a Caravan wallet
*/
export interface CaravanKeyData {
caravanName: string;
caravanFile: string;
configHash: string;
lastUpdated: string;
keyData: Array<{
xpub: string;
wallet?: string;
privateKey?: string;
keyIsEncrypted?: boolean;
manuallyEntered?: boolean;
extractedFromAddress?: string;
}>;
}
/**
* Address types supported by Caravan
*/
export declare enum AddressType {
P2SH = "P2SH",
P2WSH = "P2WSH",
P2SH_P2WSH = "P2SH-P2WSH"
}
/**
* Bitcoin networks
*/
export declare enum Network {
MAINNET = "mainnet",
TESTNET = "testnet",
REGTEST = "regtest",
SIGNET = "signet"
}