# 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 l’interface 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 d’exé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 d’appel 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 d’une 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 d’un manque de builder dans `kb-lib`. Le registre ElGamal n’est pas déclaré validé réellement sur réseau. ## Documentation - [Guide d’utilisation](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)