v0.1.0-pre.010

This commit is contained in:
2026-07-23 21:41:09 +02:00
parent 51ed3d11cf
commit 62bc0ffb44
25 changed files with 3863 additions and 214 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/LOGGING.md -->
<!-- version: 8 -->
<!-- version: 9 -->
# Logging
@@ -40,7 +40,7 @@ Les niveaux sont cumulatifs :
## Targets canoniques
Le target est exactement le nom de la crate et provient de `src/constants.rs` :
Le target est le nom exact de la crate hors `kb-lib`. Dans `kb-lib`, il suit la hiérarchie du composant :
```text
kb_app_demo
@@ -52,10 +52,10 @@ kb_executor_spl_memo
kb_executor_spl_noop
kb_executor_spl_single_pool
kb_logging
kb_materializer_admin
kb_materializer_compliance_audit
kb_materializer_lifecycle
kb_materializer_staking
kb-lib.materializer.admin
kb-lib.materializer.compliance
kb-lib.materializer.lifecycle
kb-lib.materializer.staking
kb_pipeline
kb_rpc
kb_store_pg

View File

@@ -1,5 +1,5 @@
<!-- file: docs/MATERIALIZATIONS.md -->
<!-- version: 6 -->
<!-- version: 7 -->
# Catalogue des matérialisations
@@ -18,9 +18,9 @@ Les matérialisations transforment des événements décodés en événements m
- `reward` : émission, claim, distribution, farming, incentives.
- `risk` : signaux dérivés à partir des événements admin, liquidité, metadata, authority ou anomalies.
## Projections natives actives dans `0.4.1`
## Projections natives portées dans `kb-lib`
`kb_materializer_lifecycle` produit des événements lifecycle idempotents à partir d'observations exactes, réussies et commitées :
`kb_lib::LifecycleMaterializer` produit des événements lifecycle idempotents à partir d'observations exactes, réussies et commitées :
| Domaine | Sortie stable | Entrées couvertes |
|----------------------|--------------------------------------------|--------------------------------------------------------------------------------------------------------------|
@@ -34,7 +34,9 @@ Les matérialisations transforment des événements décodés en événements m
La famille décodée n'impose pas à elle seule la famille matérialisée. `authorize_nonce_account` est un événement `Admin`, tandis qu'une vérification ZK ElGamal est un événement `Audit`; ces observations ne produisent une sortie `Lifecycle` que lorsque leur mutation durable exacte est reconnue. Une transaction échouée ou non commitée est toujours refusée.
`kb_materializer_admin` produit des sorties `Admin` pour les assignations System, les écritures Config opaques et les changements dautorité Loader. `kb_materializer_compliance_audit` produit des sorties `ComplianceAudit` pour les écritures/copies de bytecode Loader. `kb_materializer_staking` produit les projections instructionnelles Stake/Vote commitées : comptes stake/vote, autorités, lockup, délégation, vote state, retraits et dépôt de rewards. Les données complètes ne sont jamais recopiées : seules les clés, autorités, offsets, tailles, hashes, préfixes et paramètres bornés disponibles sont conservés.
`kb_lib::AdminMaterializer` produit des sorties `Admin` pour les assignations System, les écritures Config opaques et les changements dautorité Loader. `kb_lib::ComplianceAuditMaterializer` produit des sorties `ComplianceAudit` pour les écritures/copies de bytecode Loader. `kb_lib::StakingMaterializer` produit les projections instructionnelles Stake/Vote commitées : comptes stake/vote, autorités, lockup, délégation, vote state, retraits et dépôt de rewards. Les données complètes ne sont jamais recopiées : seules les clés, autorités, offsets, tailles, hashes, préfixes et paramètres bornés disponibles sont conservés.
Les quatre implémentations résident respectivement dans `kb_lib::materializer::lifecycle`, `admin`, `compliance` et `staking`, mais sont réexportées à la racine de `kb-lib`. Les identités de processor historiques restent stables pour les replays ; les targets de tracing utilisent la hiérarchie consolidée `kb-lib.materializer.*`.
Le retrait d'un nonce account conserve une sémantique conditionnelle : le runtime ferme le compte uniquement lorsque la totalité du solde est retirée. La projection décrit l'opération commitée et ne prétend pas reconstruire l'état final transactionnel du compte. Les deltas SOL restent la responsabilité du graphe core.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/NATIVE_SOLANA_MATERIALIZATION_AUDIT.md -->
<!-- version: 5 -->
<!-- version: 6 -->
# Audit des matérialisations Solana natives
@@ -13,19 +13,19 @@ Les sorties ne sont pas des snapshots finaux de comptes ou de runtime. Les état
| Matérialiseur | Surfaces | Projection |
|------------------------------------|----------------------|---------------------------------------------------------------------------------------------------------------------|
| `kb_materializer_lifecycle` | Address Lookup Table | lifecycle create/freeze/extend/deactivate/close |
| `kb_materializer_lifecycle` | Feature | révocation de feature gate |
| `kb_materializer_lifecycle` | Loaders | déploiement, finalisation et transitions lifecycle stables |
| `kb_materializer_lifecycle` | System | durable nonce, create account et allocate |
| `kb_materializer_lifecycle` | ZK ElGamal | création ou fermeture dun compte de contexte |
| `kb_materializer_lifecycle` | Slashing | initialisation ou fermeture dun rapport de violation |
| `kb_materializer_admin` | System | assign et assign with seed |
| `kb_materializer_admin` | Config | écriture opaque bornée avec clés, taille, SHA-256 et préfixe |
| `kb_materializer_admin` | Loaders | changements dautorité |
| `kb_materializer_compliance_audit` | Loaders | écritures/copies de bytecode bornées par offsets, tailles, SHA-256 et préfixes |
| `kb_materializer_compliance_audit` | Compute Budget | profil transactionnel agrégé, last-write-wins, une seule sortie par transaction |
| `kb_materializer_staking` | Stake | compte, délégation, désactivation, split, merge, withdraw, move stake/lamports, autorités et lockup instructionnels |
| `kb_materializer_staking` | Vote | compte, autorités, identité, commission, vote state, retraits et dépôt de rewards instructionnels |
| `LifecycleMaterializer` | Address Lookup Table | lifecycle create/freeze/extend/deactivate/close |
| `LifecycleMaterializer` | Feature | révocation de feature gate |
| `LifecycleMaterializer` | Loaders | déploiement, finalisation et transitions lifecycle stables |
| `LifecycleMaterializer` | System | durable nonce, create account et allocate |
| `LifecycleMaterializer` | ZK ElGamal | création ou fermeture dun compte de contexte |
| `LifecycleMaterializer` | Slashing | initialisation ou fermeture dun rapport de violation |
| `AdminMaterializer` | System | assign et assign with seed |
| `AdminMaterializer` | Config | écriture opaque bornée avec clés, taille, SHA-256 et préfixe |
| `AdminMaterializer` | Loaders | changements dautorité |
| `ComplianceAuditMaterializer` | Loaders | écritures/copies de bytecode bornées par offsets, tailles, SHA-256 et préfixes |
| `ComplianceAuditMaterializer` | Compute Budget | profil transactionnel agrégé, last-write-wins, une seule sortie par transaction |
| `StakingMaterializer` | Stake | compte, délégation, désactivation, split, merge, withdraw, move stake/lamports, autorités et lockup instructionnels |
| `StakingMaterializer` | Vote | compte, autorités, identité, commission, vote state, retraits et dépôt de rewards instructionnels |
## Politique des transactions échouées

View File

@@ -1,7 +1,7 @@
<!-- file: docs/SURFACE_CRATE_MATRIX.md -->
<!-- version: 4 -->
<!-- version: 5 -->
# Matrice des crates réservés
# Matrice des modules réservés
Ce document liste les crates actuellement présents dans le workspace. Un crate réservé ne signifie pas que le décodage, la matérialisation ou lexécution est validé.
@@ -246,27 +246,28 @@ Ce document liste les crates actuellement présents dans le workspace. Un crate
## Matérialisateurs
| Crate |
|---------------------------------------|
| `kb_materializer_admin` |
| `kb_materializer_bridge` |
| `kb_materializer_compliance_audit` |
| `kb_materializer_fees` |
| `kb_materializer_governance` |
| `kb_materializer_lending` |
| `kb_materializer_lifecycle` |
| `kb_materializer_liquidity` |
| `kb_materializer_metadata` |
| `kb_materializer_nft` |
| `kb_materializer_oracle` |
| `kb_materializer_orderbook` |
| `kb_materializer_perpetuals` |
| `kb_materializer_pool_state` |
| `kb_materializer_rewards` |
| `kb_materializer_risk` |
| `kb_materializer_routing` |
| `kb_materializer_staking` |
| `kb_materializer_token_accounts` |
| `kb_materializer_token_metadata_risk` |
| `kb_materializer_trades` |
| `kb_materializer_vault` |
| Module `kb-lib` |
|-----------------------------------------------|
| `materializer::admin::core` |
| `materializer::bridge::core` |
| `materializer::compliance::audit` |
| `materializer::fees::core` |
| `materializer::governance::core` |
| `materializer::lending::core` |
| `materializer::lifecycle::core` |
| `materializer::liquidity::core` |
| `materializer::metadata::core` |
| `materializer::nft::core` |
| `materializer::oracle::core` |
| `materializer::orderbook::core` |
| `materializer::perpetuals::core` |
| `materializer::pool::state` |
| `materializer::rewards::core` |
| `materializer::risk::core` |
| `materializer::routing::core` |
| `materializer::staking::core` |
| `materializer::token::accounts` |
| `materializer::token::metadata_risk` |
| `materializer::trades::core` |
| `materializer::transaction::annotations` |
| `materializer::vault::core` |

View File

@@ -1,5 +1,5 @@
<!-- file: docs/TRACING_CONTRACT.md -->
<!-- version: 18 -->
<!-- version: 19 -->
# Contrat de tracing par crate et composant
@@ -63,6 +63,10 @@ kb-lib.decoder.spl.elgamal_registry
kb-lib.decoder.spl.memo
kb-lib.decoder.spl.token
kb-lib.decoder.spl.token_2022
kb-lib.materializer.admin
kb-lib.materializer.compliance
kb-lib.materializer.lifecycle
kb-lib.materializer.staking
kb-logging
kb-store
```