ncantu fe7f49b6cd Update API anchorage, services, and website skeleton
**Motivations:**
- Synchronisation des modifications sur l'API anchorage, les services et le website skeleton
- Ajout de scripts de monitoring et de diagnostic pour l'API anchorage
- Documentation des problèmes de mutex et de provisioning UTXO

**Root causes:**
- N/A (commit de synchronisation)

**Correctifs:**
- N/A (commit de synchronisation)

**Evolutions:**
- Ajout de scripts de monitoring et de diagnostic pour l'API anchorage
- Amélioration de la gestion des mutex et des UTXOs
- Mise à jour de la documentation

**Pages affectées:**
- api-anchorage/src/bitcoin-rpc.js
- api-anchorage/src/routes/anchor.js
- api-anchorage/src/routes/health.js
- api-anchorage/src/server.js
- api-anchorage/README-MONITORING.md
- api-anchorage/cleanup-stale-locks.mjs
- api-anchorage/diagnose.mjs
- api-anchorage/unlock-utxos.mjs
- service-login-verify/src/persistentNonceCache.ts
- signet-dashboard/src/server.js
- signet-dashboard/public/*
- userwallet/src/hooks/useChannel.ts
- userwallet/src/services/relayNotificationService.ts
- userwallet/src/utils/defaultContract.ts
- website-skeleton/src/*
- docs/DOMAINS_AND_PORTS.md
- docs/INTERFACES.md
- features/*
- fixKnowledge/*
2026-01-28 15:11:59 +01:00

43 lines
1.4 KiB
TypeScript

import type { NonceCacheLike } from './types.js';
/**
* Persistent nonce cache using IndexedDB (browser) or localStorage (fallback).
* Implements NonceCacheLike interface for use with verifyLoginProof.
*/
export declare class PersistentNonceCache implements NonceCacheLike {
private readonly ttlMs;
private readonly storageKey;
private readonly useIndexedDB;
private db;
constructor(ttlMs?: number, storageKey?: string);
/**
* Initialize IndexedDB if available.
*/
init(): Promise<void>;
/**
* Check if nonce is valid (not seen within TTL). Records nonce on success.
* Uses localStorage for synchronous access (required by NonceCacheLike interface).
* Also persists to IndexedDB in background if available.
*/
isValid(nonce: string, timestamp: number): boolean;
/**
* Synchronous validation using localStorage (primary storage).
*/
private isValidSync;
/**
* Persist nonce to IndexedDB in background (async, non-blocking).
*/
private persistToIndexedDB;
/**
* Cleanup expired entries (localStorage and IndexedDB).
*/
private cleanupSync;
/**
* Cleanup expired entries from IndexedDB (async, non-blocking).
*/
private cleanupIndexedDB;
/**
* Clear all entries.
*/
clear(): void;
}
//# sourceMappingURL=persistentNonceCache.d.ts.map