/** * OpenMM Vault Types * * Universal encrypted credential storage for MCP servers. * Keeps sensitive data (API keys, secrets, wallet keys) out of environment variables. */ /** * Exchange credentials stored in the vault */ export interface ExchangeCredentials { apiKey: string; secret: string; passphrase?: string; subaccount?: string; } /** * Supported exchanges */ export type ExchangeId = 'mexc' | 'gateio' | 'bitget' | 'kraken' | 'binance' | 'coinbase' | 'okx'; /** * Wallet credentials for x402 payment signing */ export interface WalletCredentials { address: string; chain: string; privateKey: string; } export interface SpendingPolicy { maxPerTx?: string; maxPerDay?: string; allowedChains?: string[]; allowedRecipients?: string[]; blockedRecipients?: string[]; } export interface VaultData { version: number; name?: string; createdAt: string; updatedAt: string; wallet?: WalletCredentials; exchanges: Partial>; policy?: SpendingPolicy; } /** * Encrypted vault file format */ export interface EncryptedVault { version: number; algorithm: 'aes-256-gcm'; kdf: 'pbkdf2'; iterations: number; salt: string; iv: string; authTag: string; ciphertext: string; } /** * Vault configuration */ export interface VaultConfig { /** Path to vault file. Default: ~/.openmm/vault.enc */ path?: string; /** PBKDF2 iterations. Default: 100000 */ iterations?: number; } /** * Default paths */ export declare const DEFAULT_VAULT_PATH = "~/.openmm/vault.enc"; export declare const DEFAULT_ITERATIONS = 100000; export declare const VAULT_VERSION = 2; //# sourceMappingURL=types.d.ts.map