65 lines
3.1 KiB
Markdown
65 lines
3.1 KiB
Markdown
<!-- 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 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)
|