v0.1.0-pre.008
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: kb-lib/README.md -->
|
||||
<!-- version: 4 -->
|
||||
<!-- version: 5 -->
|
||||
|
||||
# kb-lib
|
||||
|
||||
@@ -56,12 +56,39 @@ puis expose tout écart comme diagnostic. SPL Token classique et Token‑2022 so
|
||||
Program ID sans reconstruire leur état ni interpréter leurs extensions. La matrice normative est
|
||||
`docs/SPL_ASSOCIATED_TOKEN_ACCOUNT_MATRIX.json`.
|
||||
|
||||
## Décodeur SPL Token‑2022
|
||||
|
||||
`SplToken2022Decoder` couvre exclusivement
|
||||
`TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb`. Il conserve les 48 enveloppes de premier niveau,
|
||||
les sous-instructions d’extensions dont le wire est officiellement identifiable, les interfaces
|
||||
Token Metadata et Token Group exécutées directement par Token‑2022, ainsi que `Batch` sans batch
|
||||
imbriqué.
|
||||
|
||||
Le décodeur borne les payloads, les chaînes de metadata, le nombre d’enfants et les comptes
|
||||
cumulés. Les comptes, autorités, offsets de preuve, suffixes et chemins outer/inner restent
|
||||
ordonnés et exacts. Une transaction échouée produit une intention non commitée. Le parseur public
|
||||
`parse_token_2022_state()` distingue Mint, Account et Multisig, conserve la base exacte et expose
|
||||
les entrées TLV ordonnées sans inventer l’état d’un programme externe pointé. La matrice normative
|
||||
est `docs/SPL_TOKEN_2022_MATRIX.json`.
|
||||
|
||||
## Décodeur du registre ElGamal
|
||||
|
||||
`SplElgamalRegistryDecoder` couvre le programme indépendant
|
||||
`regVYJW7tcT8zipN5YiBvHsvR5jXW1uLFxaHSbugABg`. Il décode exactement `CreateRegistry` et
|
||||
`UpdateRegistry`, conserve l’offset relatif de preuve et ne prétend jamais vérifier la preuve ZK.
|
||||
`parse_elgamal_registry_state()` exige exactement 64 octets et restitue le wallet propriétaire, la
|
||||
clé publique ElGamal et le wire complet. La matrice normative est
|
||||
`docs/SPL_ELGAMAL_REGISTRY_MATRIX.json`.
|
||||
|
||||
## API publique utile
|
||||
|
||||
- `SolanaCoreDecoder` : décodeur concret natif ;
|
||||
- `SplMemoDecoder` : décodeur exact des trois générations SPL Memo ;
|
||||
- `SplTokenDecoder` : décodeur exact du programme SPL Token classique ;
|
||||
- `SplAssociatedTokenAccountDecoder` : décodeur exact du programme Associated Token Account ;
|
||||
- `SplToken2022Decoder` : décodeur exact des instructions Token‑2022 ;
|
||||
- `Token2022State`, `Token2022StateKind`, `Token2022TlvEntry` et `parse_token_2022_state()` : API publique de lecture d’état Token‑2022 ;
|
||||
- `SplElgamalRegistryDecoder`, `ElGamalRegistryState` et `parse_elgamal_registry_state()` : API publique du registre ElGamal ;
|
||||
- `InstructionDecoder` : contrat de reconnaissance, couverture et décodage contextualisé ;
|
||||
- `ProtocolDecoder` : contrat de compatibilité avec les observations historiques ;
|
||||
- `CoreInstructionReplayInput` : input source-neutral produit par l’extraction core ;
|
||||
|
||||
Reference in New Issue
Block a user