v0.1.0-pre.008

This commit is contained in:
2026-07-23 20:40:38 +02:00
parent f5bd8fab7f
commit 12b42a31b8
26 changed files with 6686 additions and 280 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/SOLANA_INTERFACE_DEPENDENCIES.md -->
<!-- version: 29 -->
<!-- version: 30 -->
# Dépendances dinterfaces Solana et SPL
@@ -182,9 +182,11 @@ instructions et extensions Token-2022 reste réservé à `0.4.6`.
Le catalogue workspace déclare `spl-token-2022-interface ^3.1` avec `serde` et
`spl-elgamal-registry-interface ^0.2` sans feature additionnelle. La résolution opérateur confirme
respectivement `3.1.1` avec `default + serde` et `0.2.1` avec `default`, consommées par
`kb_decoder_spl_token_2022` pour poursuivre l'audit. La matrice inventorie 48 tags de premier
niveau et 29 types TLV de production, dont le récent `PermissionedBurnExtension` `46` et son TLV
respectivement `3.1.1` avec `default + serde` et `0.2.1` avec `default`. Dans bot3, `kb-lib`
les consomme comme dépendances de développement pour les tests différentiels ; le code de
production utilise les parseurs locaux bornés déjà prouvés contre ces interfaces. La matrice
inventorie 48 tags de premier niveau et 29 types TLV de production, dont le récent
`PermissionedBurnExtension` `46` et son TLV
`PermissionedBurn` `28`.
Les sous-discriminants, comptes, layouts, tailles, builders et processors restent explicitement
@@ -211,6 +213,12 @@ ni discriminant, ni builder : elle ajoute seulement, avant Borsh, une validation
longueurs de chaînes de `Initialize`, `UpdateField` et `RemoveKey`. Cette garde plus sûre devient
normative pour le décodeur ; `UpdateAuthority` et `Emit` restent sans chaîne.
La migration `0.1.0-pre.008` conserve ces contrats dans
`kb_lib::decoder::spl::token_2022` et isole le registre dans
`kb_lib::decoder::spl::elgamal_registry`. Les targets de tracing, matrices et Program IDs restent
distincts ; aucun pointeur TLV nest interprété comme une preuve de létat du programme externe
pointé.
### ZK ElGamal Proof
`kb_decoder_solana_core` consomme directement `solana-zk-elgamal-proof-interface ^0.1`. Lenum `ProofInstruction` fournit les treize discriminants et les types de `proof_data` fournissent les tailles `Pod` exactes pour séparer le contexte du corps de preuve inline. Le runtime Agave reste la source normative pour la sélection entre preuve inline et preuve stockée dans un compte, les positions de comptes optionnels et lacceptation des octets suffixes de `CloseContextState`.

View File

@@ -1,6 +1,6 @@
{
"file": "docs/SPL_ELGAMAL_REGISTRY_MATRIX.json",
"version": 1,
"version": "0.1.0-pre.008",
"programId": "regVYJW7tcT8zipN5YiBvHsvR5jXW1uLFxaHSbugABg",
"interface": {
"crate": "spl-elgamal-registry-interface",
@@ -112,7 +112,7 @@
"publishedInlineBuilderOffset": 1
},
"decoder": {
"crate": "kb_decoder_spl_elgamal_registry",
"component": "kb-lib.decoder.spl.elgamal_registry",
"coverageEqualityRequired": true,
"unknownTagPolicy": "failed",
"trailingBytesPolicy": "failed",

View File

@@ -1,6 +1,6 @@
{
"file": "docs/SPL_TOKEN_2022_MATRIX.json",
"version": "0.4.6-pre.026",
"version": "0.1.0-pre.008",
"schemaVersion": 1,
"matrixStatus": "exact_decoder_leaf_coverage_proven_pending_materialization_executor_preflight_and_cluster_corpus_completion",
"programId": "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",
@@ -30,7 +30,7 @@
"default",
"serde"
],
"leafConsumer": "kb_decoder_spl_token_2022",
"leafConsumer": "kb-lib.decoder.spl.token_2022",
"operatorEvidence": "cargo tree -i spl-token-2022-interface -e features",
"publishedCandidateAudited": "3.1.1",
"publishedCandidateStatus": "matches_confirmed_workspace_resolution",
@@ -66,12 +66,11 @@
"metadataVersionDriftStatus": "unpack_hardening_only_wire_and_builders_unchanged_by_source_diff"
},
"operatorCommandsRequired": [
"cargo tree -p kb_decoder_spl_token_2022 -e features",
"cargo tree -p kb_executor_spl_token_2022 -e features",
"cargo tree -p kb-lib -e features",
"cargo tree -i spl-token-2022-interface -e features",
"cargo tree -i spl-elgamal-registry-interface -e features",
"cargo metadata --format-version 1 --locked",
"cargo test -p kb_decoder_spl_token_2022",
"cargo test -p kb-lib",
"cargo clippy --all-targets"
],
"sourceCommit": "e18f9c6f9bf6044b934f48e3090e8e59e4820f02",
@@ -2079,13 +2078,13 @@
"default"
],
"resolutionStatus": "confirmed_by_operator_cargo_tree_2026-07-16",
"leafConsumer": "kb_decoder_spl_token_2022_for_audit_only_pending_dedicated_crate_decision",
"leafConsumer": "kb-lib.decoder.spl.elgamal_registry",
"operatorEvidence": "cargo tree -i spl-elgamal-registry-interface -e features",
"programId": "regVYJW7tcT8zipN5YiBvHsvR5jXW1uLFxaHSbugABg",
"programIdEvidence": "spl-elgamal-registry-interface 0.2.1 declare_id",
"registryAddressSeedUtf8": "elgamal-registry",
"status": "identity_confirmed_separate_instruction_processor_and_cluster_audit_pending",
"matrix": "separate_matrix_required",
"status": "identity_and_exact_two_instruction_decoder_confirmed_separate_stateful_and_cluster_validation_pending",
"matrix": "docs/SPL_ELGAMAL_REGISTRY_MATRIX.json",
"sharedInstructionEnum": false,
"sharedDecoder": false,
"sharedExecutor": false,

View File

@@ -1,5 +1,5 @@
<!-- file: docs/TRACING_CONTRACT.md -->
<!-- version: 16 -->
<!-- version: 17 -->
# Contrat de tracing par crate et composant
@@ -58,8 +58,10 @@ Les targets déjà migrés vers les noms canoniques bot3 sont :
```text
kb-lib.decoder.solana.core
kb-lib.decoder.spl.associated_token_account
kb-lib.decoder.spl.elgamal_registry
kb-lib.decoder.spl.memo
kb-lib.decoder.spl.token
kb-lib.decoder.spl.token_2022
kb-logging
kb-store
```