v0.4.7-pre.012

This commit is contained in:
2026-08-03 09:34:16 +02:00
parent 4b727e2990
commit 4d08c75b2b
13 changed files with 575 additions and 36 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: kb-pipeline-demo-scenarios/USAGE.md -->
<!-- version: 6 -->
<!-- version: 8 -->
# Utilisation de kb-pipeline-demo-scenarios
@@ -278,3 +278,63 @@ fn load_metaplex_devnet_contract(
```
La matrice ne transforme jamais une implémentation disponible en validation réseau. Les valeurs restent `not_run` jusquà lobservation dune simulation ou dune confirmation réelle.
## Exécuter une opération Metaplex courante depuis un JSON typé
Le runner Devnet commun accepte toute variante non dépréciée de `ExMetaplexTokenMetadataOperation`. Le test opt-in peut être lancé avec :
```bash
KB_DEVNET_METAPLEX_EXECUTION_TEST=1 \
KB_DEVNET_METAPLEX_OPERATION_JSON='{"operation":"..."}' \
cargo test -p kb-pipeline-demo-scenarios optional_devnet_current_operation_from_env -- --nocapture
```
Variables optionnelles :
- `KB_DEVNET_WALLET_DIR` pour sélectionner le répertoire du wallet persistant ;
- `KB_DEVNET_METAPLEX_PREFLIGHT_READS_JSON` pour fournir les lectures stateful avant simulation ;
- `KB_DEVNET_METAPLEX_POSTCONDITION_READS_JSON` pour fournir les lectures après confirmation ;
- `KB_DEVNET_METAPLEX_SUBMIT=1` pour autoriser la soumission ;
- `KB_DEVNET_METAPLEX_OPERATOR_CONFIRMED=1` pour confirmer explicitement la soumission.
La soumission reste impossible si les deux dernières variables ne sont pas activées. Les opérations dépréciées sont rejetées avant tout appel RPC.
## Préparer une campagne Metaplex courante
Les exemples contenant `...` ne sont jamais exécutables. Pour connaître les opérations acceptées :
```rust
let operations =
kb_pipeline_demo_scenarios::metaplex_token_metadata_current_operation_names();
```
Les quatre premières campagnes disposent de modèles JSON structurés :
```rust
fn verify_template() -> kb_core::Result<String> {
kb_pipeline_demo_scenarios::metaplex_token_metadata_current_operation_json_template(
"verify",
)
}
```
Les valeurs entre chevrons doivent être remplacées par les comptes Devnet réels. Le modèle peut ensuite être passé à `DevnetMetaplexTokenMetadataExecutionRequest::from_operation_json`.
Pour les parcours créateur, il est préférable de ne pas écrire de JSON manuellement :
```rust
fn creator_verify_request(
authority: kb_lib::MdPubkey,
metadata: kb_lib::MdPubkey,
) -> kb_pipeline_demo_scenarios::DevnetMetaplexTokenMetadataExecutionRequest {
kb_pipeline_demo_scenarios::devnet_metaplex_creator_verify_request(
"metaplex-verify-creator",
authority,
metadata,
)
}
```
`devnet_metaplex_creator_unverify_request` fournit le parcours inverse. Les deux requêtes restent en simulation-only par défaut.
Le test générique accepte toujours `KB_DEVNET_METAPLEX_OPERATION_JSON`, mais rejette explicitement le placeholder documentaire `...`. Les opérations plus complexes recevront des préparateurs de fixtures dédiés au lieu dexiger de longs JSON écrits à la main.