v0.1.0-pre.064-065
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user