Files
khadhroony-bot3/kb-lib/README.md
2026-08-03 07:24:03 +02:00

65 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- file: kb-lib/README.md -->
<!-- version: 19 -->
# kb-lib
`kb-lib` est la bibliothèque fonctionnelle consolidée de `khadhroony-bot3`. Elle fournit les modèles, décodeurs, matérialisateurs, exécuteurs et contrats de sécurité indépendants du transport, du stockage et de linterface utilisateur.
## Périmètre
La crate couvre actuellement Solana Core, SPL Memo, SPL Token classique, SPL Associated Token Account, Token-2022, le registre SPL ElGamal et Metaplex Token Metadata.
Pour Metaplex Token Metadata, elle fournit :
- le décodage des 58 discriminants et des principales familles de comptes ;
- la propriété unique des faits metadata, admin, lifecycle et risk/compliance ;
- 20 opérations courantes exécutables ;
- 15 opérations obsolètes encore constructibles, exposées comme dépréciées et soumises à une approbation explicite ;
- 22 versions remplacées conservées en décodage uniquement et redirigées vers leur remplacement canonique final ;
- une frontière explicite avec Bubblegum et avec les metadata incorporées de Token-2022.
## Responsabilités
- reconnaître et décoder des instructions contextualisées ;
- décoder les comptes on-chain pris en charge ;
- produire des observations et diagnostics typés ;
- matérialiser les faits stables et prouvés ;
- construire des plans dexécution bornés ;
- déclarer les comptes, signers, coûts et confirmations nécessaires ;
- appliquer les garde-fous fail-closed avant simulation, signature ou envoi ;
- exposer des modèles indépendants du RPC, de PostgreSQL et de Tauri.
## Hors périmètre
`kb-lib` ne sélectionne aucun endpoint, ne lit pas directement un RPC, ne persiste aucune donnée, ne gère pas les secrets de wallet et ne soumet aucune transaction.
## Surface publique principale
- contrats `DcApi*` et décodeurs concrets `Dc*Decoder` ;
- parseurs de comptes et détats bornés ;
- contrats `MtApi*` et matérialisateurs concrets ;
- contrats `ExApi*`, politiques de sécurité et exécuteurs `Ex*Executor` ;
- `ExMetadataMetaplexTokenMetadataExecutor`, `ExMetaplexTokenMetadataExecutionIntent` et `ExMetaplexTokenMetadataOperation` ;
- modèles canoniques `Md*` réexportés par la façade.
Les exemples dappel et invariants sont documentés dans [USAGE.md](USAGE.md).
## Relations avec le workspace
- dépend de `kb-core` et `kb-program-ids` ;
- est consommée par `kb-pipeline`, `kb-store`, `kb-onchain-transport`, `kb-pipeline-demo-scenarios` et `kb-app-demo-desktop` ;
- ne dépend jamais de `kb-store`, `kb-pipeline` ni dune application.
## Statut et limites
La surface fonctionnelle Metaplex de la crate est achevée. Les campagnes Devnet restantes relèvent de `kb-pipeline-demo-scenarios` et de `kb-app-demo-desktop`, non dun manque de builder dans `kb-lib`.
Le registre ElGamal nest pas déclaré validé réellement sur réseau.
## Documentation
- [Guide dutilisation](USAGE.md)
- [Travaux restant à réaliser](TODO.md)
- [Historique des changements](CHANGELOG.md)
- [Matrice contractuelle Metaplex](../test-fixtures/contract-matrices/METAPLEX_TOKEN_METADATA_MATRIX.json)