This commit is contained in:
2026-06-08 12:32:58 +02:00
parent f81e0f3bea
commit f2ea1a392f
55 changed files with 7993 additions and 306 deletions

View File

@@ -29,7 +29,7 @@ non-swap CLMM avec trade_count > 0 = 0
Les 11 Anchor / `Program data` events CLMM restent listés en `upstream_git_unverified` car aucun corpus local ne les observe encore. Le code est préparé pour les accueillir en audit-only lorsquils apparaîtront dans un corpus local, sans créer de trade/candle par défaut.
La prochaine tranche fonctionnelle est `0.7.50 raydium_launchpad`, avant `0.7.51 raydium_amm_v4` et `0.7.52 raydium_stable`.
La tranche fonctionnelle ouverte est `0.7.50-pre-r2`, dédiée à la clôture Raydium Launchpad puis à la re-vérification CPMM/CLMM, avant `0.7.51 raydium_amm_v4` et `0.7.52 raydium_stable`. `raydium_pool_v4` reste un audit conditionnel `0.7.53` et ne doit pas être promu sans confirmation de program id/rôle/corpus.
## Organisation documentaire
@@ -257,7 +257,7 @@ Chaque DEX ou variante de DEX doit avoir sa propre étape de validation. Les fam
À reprendre après les DEX effectifs, sauf si une surface est indispensable pour comprendre une migration vers un pool tradable :
- `pump_fun` ;
- `raydium_launchlab` ;
- `raydium_launchpad` ;
- `letsbonk` / `bonk_fun` ;
- `bags` ;
- `moonshot` ;
@@ -382,12 +382,13 @@ La priorité immédiate après le point de reprise `0.7.43-E5C` est :
1. `0.7.48` : `raydium_cpmm` — clôturé côté event coverage ;
2. `0.7.49` : `raydium_clmm` — clôturé côté instructions observées, matérialisation non-trade prouvée et nettoyage fallback ;
3. `0.7.50` : `raydium_launchpad` ;
3. `0.7.50-pre-r2` : `raydium_launchpad` clos + re-vérification `raydium_cpmm` / `raydium_clmm` ;
4. `0.7.51` : `raydium_amm_v4` ;
5. `0.7.52` : `raydium_stable` ;
6. `0.7.53` : `pump_swap` ;
7. `0.7.54` : `pump_fun` ;
8. `0.7.55+` : Meteora, Phoenix/OpenBook, Orca puis validation progressive des autres DEX/surfaces issus du registre upstream Git.
6. `0.7.53` : `raydium_pool_v4` audit / program-id decision seulement si program id distinct et corpus exploitable ;
7. `0.7.54` : `pump_swap` ;
8. `0.7.55` : `pump_fun` ;
9. `0.7.56+` : Meteora, Phoenix/OpenBook, Orca puis validation progressive des autres DEX/surfaces issus du registre upstream Git.
Garde-fous constants :
@@ -494,10 +495,11 @@ La suite fonctionnelle reprend par Raydium avant Meteora :
1. `0.7.48``raydium_cpmm` ;
2. `0.7.49``raydium_clmm` ;
3. `0.7.50``raydium_launchpad` ;
3. `0.7.50-pre-r2``raydium_launchpad` + clôture CPMM/CLMM ;
4. `0.7.51``raydium_amm_v4` ;
5. `0.7.52``raydium_stable` ;
6. `0.7.53+`Pump, Meteora, Phoenix/OpenBook, Orca puis les autres DEX/surfaces.
6. `0.7.53``raydium_pool_v4` audit conditionnel, sans promotion automatique ;
7. `0.7.54+` — Pump, Meteora, Phoenix/OpenBook, Orca puis les autres DEX/surfaces.
## Note 0.7.48 — Raydium CPMM event coverage
@@ -553,3 +555,54 @@ Points finalisés :
La validation finale est dans `validation_sql/SQL_VALIDATION_RAYDIUM_CLMM_0_7_49.sql`.
## Note 0.7.50 — Raydium Launchpad event coverage bootstrap
La tranche `0.7.50` ouvre `raydium_launchpad` comme troisième tranche Raydium après CPMM et CLMM. Le code local canonique est `raydium_launchpad`. Le program id canonique est `LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj`.
Points préparés dans le bootstrap :
- normalisation des entrées launch surface, DEX support matrix, catalogue et registre upstream vers `raydium_launchpad` ;
- ajout de `RAYDIUM_LAUNCHPAD_PROGRAM_ID` ;
- inventaire initial de `1` entrée programme et `26` entrées discriminées Carbon/IDL ;
- fallback `raydium_launchpad.instruction_audit` pour les instructions non mappées, avec enrichissement Anchor self-CPI (`e445a52e51cb9a1d`) ;
- mapping conservatoire des discriminants Launchpad vers `raydium_launchpad.<entry_name>` ;
- cible coverage initiale forcée à `decoded_events_only`, y compris pour buy/sell/trade/migration, afin d'éviter toute fausse trade/candle avant corpus local ;
- rapport `docs/reports/RAYDIUM_LAUNCHPAD_EVENT_COVERAGE_REPORT.md` ;
- SQL `validation_sql/SQL_VALIDATION_RAYDIUM_LAUNCHPAD_0_7_50.sql`.
- pre3 : Demo3 contient le preset `Raydium Launchpad`; les `initialize*` Launchpad peuvent créer le catalogue pool/pair local, tandis que `trade_event` reste non promu en trade/candle.
`raydium_pool_v4.json` reste un indice IDL annexe. Il n'est pas promu en surface métier tant que son program id, son rôle exact et un corpus local exploitable ne sont pas confirmés.
## Note 0.7.50-pre-r2 — CPMM/CLMM closure re-check
Cette tranche complète la clôture Raydium en ajoutant `cpi_event` pour CPMM/CLMM, `update_dynamic_fee_config` pour CLMM, le rattachement local des Program-data events CLMM et la table `k_sol_token_account_events` pour `create_support_mint_associated`.
Le discriminant CPMM `40f4bc78a7e9690a` est désormais codé comme `raydium_cpmm.anchor_idl_instruction` : les signatures inspectées correspondent aux instructions Anchor `IdlCreateAccount` / `IdlCloseAccount`, donc il reste `decoded_events_only` et ne matérialise aucune table métier.
Rapport de clôture : `docs/reports/RAYDIUM_CPMM_CLMM_RECHECK_REPORT_0_7_50_PRE_R2.md`.
## Note 0.7.50-final — Launchpad closure and Raydium recheck cleanup
The final `0.7.50` cleanup keeps the Raydium CPMM discriminator `40f4bc78a7e9690a` as `raydium_cpmm.anchor_idl_instruction` decoded-only and removes stale `raydium_cpmm.instruction_audit` duplicates in an FK-safe way by unlinking `k_sol_instruction_observations.decoded_event_id` before deletion.
Expected post-replay checks:
```text
raydium_cpmm.instruction_audit = 0
raydium_cpmm decoded events missing coverage row = 0
```
Validation helper:
```text
validation_sql/SQL_VALIDATION_RAYDIUM_CPMM_AUDIT_CLEANUP_0_7_50_FINAL.sql
```
Next-session handoff:
```text
docs/prompts/PROMPT_REPRISE_khadhroony-bobobot_0.7.51-raydium-amm-v4.md
```