v0.4.8-pre.009
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
<!-- file: docs/audits/V0_4_8_PRE_009_METADATA_SOLANA_PROGRAM_DEVNET_SCENARIOS_AUDIT.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Audit `0.4.8-pre.009` — scénarios Devnet Solana Program Metadata
|
||||
|
||||
## Frontière de crate
|
||||
|
||||
`kb-pipeline` conserve les contrats réutilisables indépendants du cluster. `kb-pipeline-demo-scenarios` possède les wallets de démonstration, fixtures, appels RPC Devnet et campagnes destructrices. Aucun lien inverse n’est ajouté.
|
||||
|
||||
`kb-app-demo-desktop` n’est pas modifié dans cette prerelease. Son intégration est réservée à `pre.010`.
|
||||
|
||||
## Fixture
|
||||
|
||||
La fixture utilise le wallet persistant du profil Devnet comme autorité et le System Program comme programme exécutable décrit. Deux PDA non canoniques uniques sont dérivés avec des seeds UTF-8 de seize octets :
|
||||
|
||||
- un PDA `Buffer` ;
|
||||
- un PDA `Metadata`.
|
||||
|
||||
Les deux adresses doivent être absentes avant préparation. Leur rent est calculé par RPC et les comptes sont préfinancés par des transferts System Program simulation-first, évalués par `ExSafetyChecker`, signés, soumis et confirmés.
|
||||
|
||||
## Parcours fermés
|
||||
|
||||
### Buffer
|
||||
|
||||
1. `Allocate` ;
|
||||
2. `Extend` ;
|
||||
3. `Write` ;
|
||||
4. `Trim` ;
|
||||
5. `Close`.
|
||||
|
||||
`Extend` précède `Write`, car l’allocation initiale ne réserve que l’en-tête et l’écriture exige la capacité du payload.
|
||||
|
||||
### Metadata
|
||||
|
||||
1. `Initialize` ;
|
||||
2. `SetData` ;
|
||||
3. `SetAuthority` ;
|
||||
4. `SetImmutable`.
|
||||
|
||||
Les neuf opérations stables sont couvertes exactement une fois. Les six opérations classées sensibles par l’exécuteur reçoivent une approbation explicite.
|
||||
|
||||
## Orchestration
|
||||
|
||||
Chaque étape passe par :
|
||||
|
||||
- construction d’un intent typé ;
|
||||
- construction et évaluation du plan ;
|
||||
- lectures stateful avant exécution ;
|
||||
- préflight et preuves de rent ;
|
||||
- transaction exacte et simulation RPC ;
|
||||
- readiness du pipeline ;
|
||||
- évaluation `ExSafetyChecker` avant envoi ;
|
||||
- signature, soumission et confirmation ;
|
||||
- lectures stateful après confirmation ;
|
||||
- postcondition ;
|
||||
- projection matérialisée pour les comptes existants.
|
||||
|
||||
`Close` exige une preuve d’absence et non un snapshot matérialisé.
|
||||
|
||||
## Statut réseau
|
||||
|
||||
Le code et la matrice sont livrés avec des statuts `not_run`. Aucune validation Devnet n’est déclarée avant l’exécution opérateur de `pre.010`.
|
||||
Reference in New Issue
Block a user