/** How the reserve was verified. Ordered by strength: * unbacked < self_attested < gateway_attested < escrow_backed < externally_attested */ export type ReserveAssuranceClass = 'unbacked' | 'self_attested' | 'gateway_attested' | 'escrow_backed' | 'externally_attested'; /** How the attestation basis was established (GPT #15). */ export type AttestationBasis = 'api_balance_check' | 'bank_statement' | 'escrow_lock' | 'self_declaration'; /** What happens if the attestation is false (GPT #15). */ export type FalseAttestationPenalty = 'reputation_slash' | 'bond_forfeit' | 'dispute_eligible' | 'none'; /** Liability semantics for a reserve attestation (GPT #15). * Answers: what happens if this attestation turns out to be false? */ export interface ReserveAttestationLiability { /** How the reserve was verified */ attestationBasis: AttestationBasis; /** Can the attester revoke this attestation unilaterally? */ isRevocable: boolean; /** Penalty for false attestation */ falseAttestationPenalty: FalseAttestationPenalty; /** Optional description of verification method */ verificationMethod?: string; } /** A signed claim that a delegation has actual reserves behind it. * Without this, spend limits on delegations are unverifiable promises. * * Institutional context is required (GPT: meaningless without charter anchor). * The attestation must identify WHICH charter and WHICH office authorized it. */ export interface ReserveAttestation { /** Unique attestation identifier */ attestationId: string; /** Delegation this attestation covers */ delegationId: string; /** Assurance class — how the reserve was verified */ assuranceClass: ReserveAssuranceClass; /** Amount attested */ attestedAmount: { value: number; currency: string; }; /** Who created this attestation (public key) */ attestedBy: string; /** Which charter backs this attestation (institutional context) */ charterAnchor?: string; /** Which office authorized the attestation */ officeId?: string; /** Liability semantics (GPT #15) */ liability: ReserveAttestationLiability; /** ISO datetime — when attested */ attestedAt: string; /** ISO datetime — MUST expire. No permanent reserve claims. */ expiresAt: string; /** Ed25519 signature over canonical attestation content */ signature: string; } //# sourceMappingURL=reserve.d.ts.map