**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/*
25 lines
588 B
JavaScript
Executable File
25 lines
588 B
JavaScript
Executable File
#!/usr/bin/env node
|
||
|
||
/**
|
||
* Script pour déverrouiller automatiquement les UTXOs verrouillés depuis plus de 10 minutes
|
||
* À exécuter via cron job toutes les 5 minutes
|
||
*/
|
||
|
||
import { getDatabase } from './src/database.js';
|
||
|
||
const db = getDatabase();
|
||
const result = db.prepare(`
|
||
UPDATE utxos
|
||
SET is_locked_in_mutex = 0
|
||
WHERE is_locked_in_mutex = 1
|
||
AND updated_at < datetime('now', '-10 minutes')
|
||
`).run();
|
||
|
||
if (result.changes > 0) {
|
||
console.log(`✅ UTXOs déverrouillés: ${result.changes}`);
|
||
} else {
|
||
console.log('ℹ️ Aucun UTXO à déverrouiller');
|
||
}
|
||
|
||
db.close();
|