6.9 KiB
6.9 KiB
CHANGELOG — kb-lib
0.4.8-pre.005 — instructions Solana Program Metadata
- active
DcMetadataSolanaProgramMetadataDecoderpour les neuf discriminants stables0..8; - décode les arguments, comptes positionnels, signers, flags writable et sources inline ou Buffer avec des bornes explicites ;
- conserve les formes runtime actuelles non produites par le SDK, notamment
SetDatasur trois octets et les suffixes ignorés deSetImmutable,TrimetClose; - distingue comptes restants acceptés par le runtime et longueurs de comptes exactes ;
- documente le nom pré-stable
WithdrawExcessLamportsdu tag5sans créer une entrée historique distincte deTrim; - ajoute la matrice d’instructions, l’audit historique, les tests positifs/négatifs et le test de façade publique ;
- retire le décodeur Solana Program Metadata de l’inventaire des décodeurs réservés.
- aligne la structure du composant sur les règles du workspace : façade limitée aux sous-modules et réexports, implémentation déplacée dans
decoder.rs, constantes centralisées dansconstants.rset accès internes viacrate::. - corrige les vecteurs négatifs
Initializeafin de placer explicitement les valeurs invalides après les 16 octets du seed et de vérifier séparémentEncoding,Compression,FormatetDataSource.
0.4.8-pre.004 — comptes Solana Program Metadata
- ajoute les décodeurs publics bornés des comptes
BufferetMetadataainsi que leur sélection par discriminateur ; - valide le propriétaire
ProgM6…, la borne Solana de 10 MiB et les headers fixes de 96 octets ; - valide les PDA metadata canonical et non-canonical sans inventer de PDA stable pour les Buffers à autorité mutable ou alloués par keypair ;
- décode les sources
Direct,UrletExternalsans lecture off-chain ni lecture implicite du compte référencé ; - distingue
data_lengthde la capacité allouée restante, compatible avec l’instructionExtend; - ajoute une matrice contractuelle machine-readable, les tests de bornes, de données malformées et de façade publique ;
- applique le retour explicite requis par Clippy dans le test de longueur wire du modèle externe.
- corrige l’ombre portée de
metadata_programdans trois tests de comptes afin d’éviter l’inférence récursiveOption<_>signalée parE0275.
0.4.8-pre.003 — modèles Solana Program Metadata
- ajoute les constantes publiques des layouts fixes
Buffer,Metadata, seed et référence externe ; - ajoute les enums wire fermées, les cinq erreurs custom officielles et les conversions fail-closed ;
- ajoute les modèles bornés du seed, des données directes, URL et externes sans résolution off-chain ;
- ajoute les sérialisations wire sûres, les représentations JSON stables et les tests de façade publique ;
- conserve le décodeur Solana Program Metadata au statut réservé jusqu’aux phases comptes et instructions.
0.4.7-pre.016 — clôture documentaire Metaplex
- généralise la documentation d’usage de la surface Metaplex ;
- reporte explicitement les validations Devnet spécialisées sans dégrader le statut des builders et tests existants.
0.4.7-pre.011 — réouverture des validations réseau
Documentation
- réorganisation de
README.md,USAGE.md,TODO.mdet du changelog selon leur rôle documentaire ; - suppression des tâches Metaplex terminées du TODO ;
- maintien des campagnes réseau hors du TODO de
kb-lib, la surface de builders étant achevée.
0.4.7-pre.006 — fermeture de l’exécuteur Metaplex
- fermeture des 35 opérations officiellement constructibles : 20 courantes et 15 dépréciées ;
- ajout des éditions, use authority, escrow, mint, migrate, use, collect, print et resize ;
- conservation des 22 instructions remplacées en decode-only et de Bubblegum comme frontière externe ;
- extension des tests unitaires d’intent, builder, capability, PDA et signers.
0.4.7-pre.005 — programmable NFTs et délégations
- ajout des wrappers officiels
Burn,Delegate,Revoke,Lock,Unlock,TransferetCloseAccounts; - validation des comptes Token Authorization Rules et maintien de la simulation obligatoire.
0.4.7-pre.004 — collections, créateurs et autorités
- ajout des wrappers courants
VerifyetUnverify; - ajout de
SetCollectionSizecomme opération dépréciée soumise à approbation explicite.
0.4.7-pre.003 — fondations de l’exécuteur Metaplex
- remplacement de l’exécuteur réservé par une surface typée ;
- ajout des builders
Create,Update,PuffMetadataetSetTokenStandard; - correction des dépendances Solana modulaires, suppression des opérateurs
?introduits et ajout des tests de parité ; - classification des opérations courantes, remplacées et obsolètes constructibles.
0.4.7-pre.002 — contrat Metaplex fermé
- classification exhaustive des 58 discriminants ;
- propriété unique des faits metadata, admin, lifecycle et risk/compliance ;
- séparation contractuelle avec Token-2022.
0.4.6
- alignement de la crate sur la version fonctionnelle bot3
0.4.6; - clôture des tâches de migration applicables et report explicite des évolutions ultérieures dans le TODO.
0.1.0-pre.072
- reclassement du TODO selon les blocants avant
0.4.6, les travaux0.4.7, les versions ultérieures et les dépendances conditionnelles.
0.1.0-pre.070
- enrichissement de
USAGE.mdavec plusieurs exemples couvrant les familles d’API publiques significatives.
0.1.0-pre.069
Documentation
- ajout de
README.md,TODO.md,USAGE.mdet du présent changelog selon les normes bot3 ; - suppression de la section
Non publié, incompatible avec le rôle chronologique du changelog ; - retrait des limitations et travaux futurs du changelog ;
- correction de la frontière entre historique, TODO et limites durables d’utilisation ;
- réécriture de
TODO.mdsous forme de tâches uniquement ; - correction des exemples de
USAGE.mdafin de ne pas utiliser l’opérateur?.
0.1.0
Migré
- consolidation des modèles, décodeurs, exécuteurs et matérialisateurs issus de nombreuses crates bot2 dans une façade unique ;
- migration des surfaces Solana Core, SPL Memo, SPL Token, SPL ATA, Token-2022, registre ElGamal et du décodeur Metaplex Token Metadata ;
- migration des contrats de replay, de sécurité et de matérialisation.
Modifié
- adoption de Rust 2024, de
#![forbid(unsafe_code)],#![deny(unreachable_pub)]et des conventions strictes d’exports, d’erreurs et de tracing ; - remplacement des anciennes frontières de crates par des modules privés et des réexports publics contrôlés.
Validation
- tests unitaires des décodeurs, exécuteurs, matérialisateurs et contrats consolidés ;
- matrices contractuelles chargées par les tests concernés ;
- validations Devnet conservées pour les scénarios explicitement couverts pendant la migration.