v0.1.0-pre.009

This commit is contained in:
2026-07-23 21:19:45 +02:00
parent 12b42a31b8
commit 51ed3d11cf
22 changed files with 9580 additions and 86 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/SOLANA_INTERFACE_DEPENDENCIES.md -->
<!-- version: 30 -->
<!-- version: 31 -->
# Dépendances dinterfaces Solana et SPL
@@ -281,10 +281,23 @@ Pour chaque nouvelle interface :
6. tester les payloads tronqués, inconnus, suffixés et les comptes invalides ;
7. documenter toute divergence entre linterface et le runtime.
### Metaplex Token Metadata — audit et premier décodage `0.4.7-pre.002`
### Metaplex Token Metadata — port maximal `0.1.0-pre.009`
Le catalogue workspace déclare `mpl-token-metadata ^5.1` avec la seule feature `serde`. La publication officielle résolue reste `5.1.1`; elle fournit les modules générés `accounts`, `instructions`, `types` et `errors` issus de lIDL Metaplex, sans introduire Anchor. La crate officielle utilise Borsh `< 1.0`; le décodeur référence donc explicitement `borsh 0.10` sous lalias workspace `borsh_0_10`, distinct de Borsh 1.x utilisé par dautres interfaces du workspace.
Le dépôt officiel `metaplex-foundation/mpl-token-metadata` confirme le Program ID `metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s`. LIDL officiel audité porte la version `1.14.0` et le blob `5df4a24f62c2743125be096cc174680790c92c18`; linventaire Rust généré des instructions porte le blob `3c42eec629f82e44ba690a7c4bd2177cc78f1d49`.
`kb_decoder_metadata_metaplex_token_metadata` implémente désormais `InstructionDecoder` pour `CreateMetadataAccountV3` et `UpdateMetadataAccountV2`. Les arguments sont lus avec les types Borsh officiels et projetés avec la feature `serde`; les payloads, chaînes, créateurs, frais, comptes et suffixes sont bornés. Lenregistrement dans le registre runtime reste différé jusquà validation de ce premier groupe. Les metadata Token-2022 incorporées, Metaplex Core, Bubblegum et le JSON externe restent des provenances ou composants distincts.
`kb_lib::decoder::metadata::metaplex_token_metadata` implémente désormais la couverture exhaustive des
58 discriminateurs `0..=57`. Les arguments sont lus avec les types Borsh officiels lorsque le SDK
les expose, ou avec un miroir local borné du wire publié pour les variantes historiques. Les
payloads, chaînes, créateurs, frais, comptes et suffixes sont bornés.
Le même composant inventorie les 15 variantes `Key 0..=14` et décode les quatorze layouts
représentant un compte réel. Les parseurs utilisent `solana-pubkey ^4.2` pour vérifier owner,
PDA et bump, puis les comptes historiques reçoivent une politique de matérialisation historique
distincte de leur interdiction dexécution. `Uninitialized` reste une sentinelle explicitement
refusée et toute variante future absente de linventaire fait échouer les tests.
Les metadata Token2022 incorporées, Metaplex Core, Bubblegum et le JSON externe restent des
provenances ou composants distincts. Aucun fetch HTTP, IPFS ou Arweave nappartient au replay
canonique de cette tranche.