/** * Type definitions for Vault WASM module * Mirrors the Go plugin interface from cmd/vault */ /** * MPC Enclave data for vault initialization */ export interface EnclaveData { publicKey: string; privateKeyShares: string[]; threshold: number; parties: number; } /** * Vault configuration options */ export interface VaultConfig { chainId?: string; enclave?: EnclaveData; [key: string]: any; } /** * Request for creating a new origin UCAN token */ export interface NewOriginTokenRequest { audience_did: string; attenuations?: Record[]; facts?: string[]; not_before?: number; expires_at?: number; } /** * Request for creating a new attenuated UCAN token */ export interface NewAttenuatedTokenRequest { parent_token: string; audience_did: string; attenuations?: Record[]; facts?: string[]; not_before?: number; expires_at?: number; } /** * UCAN token response */ export interface UCANTokenResponse { token: string; issuer: string; address: string; error?: string; } /** * Request for signing data */ export interface SignDataRequest { data: Uint8Array; } /** * Response from signing data */ export interface SignDataResponse { signature: Uint8Array; error?: string; } /** * Request for verifying data */ export interface VerifyDataRequest { data: Uint8Array; signature: Uint8Array; } /** * Response from verifying data */ export interface VerifyDataResponse { valid: boolean; error?: string; } /** * Response for getting issuer DID */ export interface GetIssuerDIDResponse { issuer_did: string; address: string; chain_code: string; error?: string; } /** * Vault plugin interface matching the WASM exports */ export interface VaultPlugin { newOriginToken(request: NewOriginTokenRequest): Promise; newAttenuatedToken(request: NewAttenuatedTokenRequest): Promise; signData(request: SignDataRequest): Promise; verifyData(request: VerifyDataRequest): Promise; getIssuerDID(): Promise; } /** * Error codes for vault operations */ export declare enum VaultErrorCode { NOT_INITIALIZED = "VAULT_NOT_INITIALIZED", ALREADY_INITIALIZED = "VAULT_ALREADY_INITIALIZED", LOCKED = "VAULT_LOCKED", KEY_NOT_FOUND = "KEY_NOT_FOUND", INVALID_KEY_TYPE = "INVALID_KEY_TYPE", OPERATION_FAILED = "OPERATION_FAILED", INVALID_PASSPHRASE = "INVALID_PASSPHRASE", WASM_NOT_LOADED = "WASM_NOT_LOADED", TIMEOUT = "TIMEOUT" } /** * Vault error class */ export declare class VaultError extends Error { code: VaultErrorCode; details?: any; constructor(code: VaultErrorCode, message: string, details?: any); } /** * Vault event types */ export declare enum VaultEventType { INITIALIZED = "vault:initialized", LOCKED = "vault:locked", UNLOCKED = "vault:unlocked", KEY_GENERATED = "vault:key_generated", KEY_DELETED = "vault:key_deleted", EXPORTED = "vault:exported", IMPORTED = "vault:imported", ERROR = "vault:error" } /** * Vault event */ export interface VaultEvent { type: VaultEventType; timestamp: number; data?: any; } /** * Vault event listener */ export type VaultEventListener = (event: VaultEvent) => void; //# sourceMappingURL=types.d.ts.map