26 lines
1.4 KiB
Markdown
26 lines
1.4 KiB
Markdown
<!-- file: kb_materializer_api/README.md -->
|
||
<!-- version: 3 -->
|
||
|
||
# kb_materializer_api
|
||
|
||
Ce crate déclare l'interface commune des matérialisateurs métier.
|
||
|
||
## Rôle dans l'écosystème
|
||
|
||
Ce module fait partie du découpage strict de Khadhroony Bot2. Il doit conserver des dépendances limitées et ne pas contourner les interfaces communes du workspace.
|
||
|
||
## Règles locales
|
||
|
||
- Les commentaires de code restent en anglais.
|
||
- La documentation Markdown reste en français.
|
||
- Les exports publics sont contrôlés depuis `lib.rs` lorsque le crate expose une bibliothèque.
|
||
- Les binaires utilisent `main.rs` avec les attributs Rust obligatoires.
|
||
|
||
## Contrats `0.4.0`
|
||
|
||
Le trait `MtApiEventMaterializer` consomme des observations décodées stables et déclare les familles acceptées, l’applicabilité exacte par observation ainsi que la politique applicable aux transactions réussies ou échouées. Les sorties possèdent des clés idempotentes et un statut explicite `inserted`, `replaced`, `ignored`, `refused` ou `failed`.
|
||
|
||
La garde commune refuse toute matérialisation de trade, liquidité ou lifecycle supposée réussie depuis une observation échouée ou non commitée.
|
||
|
||
À partir de `0.4.1-pre.005`, le pipeline filtre une observation par surface et entrée avant le ledger et la politique. Deux événements de même famille ne sont donc plus automatiquement proposés au même matérialiseur.
|