v0.1.0-pre.064-065

This commit is contained in:
2026-07-30 17:50:29 +02:00
parent e0028b323e
commit 0befb170c7
440 changed files with 36186 additions and 39 deletions

View File

@@ -0,0 +1,40 @@
<!-- file: kb_decoder_spl_associated_token_account/README.md -->
<!-- version: 2 -->
# kb_decoder_spl_associated_token_account
Ce crate décode exactement le programme SPL Associated Token Account
`ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL`.
## Surface décodée
- `Create`, discriminant Borsh `0`, ainsi que sa forme historique vide ;
- `CreateIdempotent`, discriminant `1` ;
- `RecoverNested`, discriminant `2` ;
- cibles SPL Token classique et Token-2022, sans décoder les extensions Token-2022.
Le décodeur conserve le chemin outer/inner, le statut committed, les comptes ordonnés avec leurs
flags et doublons, les rôles ATA, les adresses observées et les PDA canoniques attendus. Une adresse
incorrecte ou une forme de comptes incomplète reste une intention structurée accompagnée de
diagnostics bornés ; elle n'est jamais corrigée silencieusement.
La matrice `docs/SPL_ASSOCIATED_TOKEN_ACCOUNT_MATRIX.json` et les tests différentiels imposent
l'égalité avec `spl-associated-token-account-interface 2.0.0`, ses builders et son helper PDA.
## 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.
## Matérialisation
Le décodeur ne reconstruit aucun solde ni snapshot final. Les faits commités sont possédés par
`kb_materializer_token_accounts`, tandis que `kb_materializer_risk` possède uniquement le constat
distinct de récupération d'un anti-pattern nested. Les CPI SPL Token restent propriétaires des
initialisations, transferts et fermetures qu'elles effectuent.
## 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.