v0.4.8-pre.005
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: kb-lib/USAGE.md -->
|
||||
<!-- version: 10 -->
|
||||
<!-- version: 11 -->
|
||||
|
||||
# Utilisation de kb-lib
|
||||
|
||||
@@ -51,7 +51,8 @@ Décodeurs fonctionnels principaux :
|
||||
- `DcSplAssociatedTokenAccountDecoder` ;
|
||||
- `DcSplToken2022Decoder` ;
|
||||
- `DcSplElgamalRegistryDecoder` ;
|
||||
- `DcMetadataMetaplexTokenMetadataDecoder`.
|
||||
- `DcMetadataMetaplexTokenMetadataDecoder` ;
|
||||
- `DcMetadataSolanaProgramMetadataDecoder`.
|
||||
|
||||
Les types réservés `Dc*Decoder` ne doivent pas être interprétés comme des décodeurs complets : ils publient une compatibilité conservatrice et aucune observation fonctionnelle.
|
||||
|
||||
@@ -82,7 +83,7 @@ println!("parsed registry state: {registry:#?}");
|
||||
|
||||
Les parseurs vérifient les bornes et formats qu’ils annoncent. Ils ne reconstruisent pas un état historique depuis un RPC courant.
|
||||
|
||||
## Modèles et comptes Solana Program Metadata
|
||||
## Modèles, comptes et instructions Solana Program Metadata
|
||||
|
||||
Les modèles `DcMetadataSpm*` représentent uniquement le contrat on-chain du programme `ProgM6JCCvbYkfKqJYHePx4xxSUSqJp7rh8Lyv7nk7S`. Ils ne téléchargent jamais les URL et ne lisent pas automatiquement les comptes référencés par `External`.
|
||||
|
||||
@@ -138,7 +139,19 @@ match snapshot {
|
||||
|
||||
Une URL est seulement décodée comme chaîne UTF-8 on-chain. Aucune requête HTTP, IPFS ou Arweave n’est effectuée. Une référence `External` est seulement décodée en adresse, offset et longueur zeroable ; le compte référencé n’est pas lu.
|
||||
|
||||
Le décodeur de protocole `DcMetadataSolanaProgramMetadataDecoder` reste réservé aux instructions. Les comptes constituent désormais un contrat public stable pour les futurs matérialisateurs, builders et parcours stateful.
|
||||
Le décodeur `DcMetadataSolanaProgramMetadataDecoder` reconnaît le Program ID `ProgM6…` et les neuf tags stables `0..8`. Il conserve les différences utiles entre le wire SDK et le runtime actuel, sans interpréter un suffixe ignoré comme un nouvel argument.
|
||||
|
||||
```rust
|
||||
let decoder = kb_lib::DcMetadataSolanaProgramMetadataDecoder;
|
||||
let recognition = kb_lib::DcApiInstructionDecoder::recognize(&decoder, &input);
|
||||
if !recognition.compatible {
|
||||
return std::result::Result::Err("instruction incompatible".to_string());
|
||||
}
|
||||
let result = kb_lib::DcApiInstructionDecoder::decode(&decoder, &input);
|
||||
println!("status={:?}", result.status);
|
||||
```
|
||||
|
||||
Le tag `5` est toujours publié comme `trim`. Son ancien nom pré-stable `withdraw_excess_lamports` est conservé uniquement comme provenance, car aucune release stable ne l’expose comme instruction distincte. Les URL et références externes restent des données on-chain ; le décodeur ne réalise aucun fetch.
|
||||
|
||||
## Comptes Metaplex Token Metadata
|
||||
|
||||
|
||||
Reference in New Issue
Block a user