sdk_signer/docs/ARCHITECTURE.md

1.5 KiB
Raw Permalink Blame History

ARCHITECTURE

Contexte

  • Service serveur « sdk-signer » pour gérer des messages typés via WebSocket.
  • Fournit des opérations de processus, hashing/merkle, gestion de device et validation détat.

Composants

  • src/index.ts: point dentrée, exporte Service, Server, config, models et utilitaires.
  • src/simple-server.ts: serveur WebSocket simple (gestion des connections et du cycle de vie).
  • src/service.ts: logique métier des messages et routage par type.
  • src/relay-manager.ts: interaction avec le réseau de relais.
  • src/database.service.ts: persistance simple pour létat serveur si nécessaire.
  • src/models.ts: énumérations et types de messages, priorités, statuts de livraison.
  • src/config.ts: configuration serveur (port, clés, délais, options).
  • src/utils.ts, src/wasm_compat.ts: utilitaires globaux et compatibilité WASM si utilisée.

Flux et dépendances

  • Client se connecte en WebSocket → message LISTENING → échanges de messages typés corrélés.
  • Gestion du messageId pour corrélation, priorités de traitement et statut de livraison.

Données et modèles

  • Typage via MessageType et statuts (DeliveryStatus), niveaux de priorité (MessagePriority).
  • Dérivation de contrats communs alignés avec le client (sdk_signer_client).

Sécurité

  • Clé API côté serveur (vérification attendue au niveau des messages entrants).
  • Logs derreurs et gestion de timeouts.

Observabilité

  • Journalisation des connexions, erreurs, et transitions détat des processus.