This commit is contained in:
2026-06-16 06:57:32 +02:00
parent 045af4931c
commit be12f5810b
23 changed files with 4118 additions and 107 deletions

View File

@@ -3,6 +3,53 @@
# khadhroony-bobobot
## État final validé `0.7.55` — `pump_fees`
La tranche `0.7.55 pump_fees` est clôturée côté decoder local maximal, coverage, tests synthétiques, matérialisation prudente et validation SQL. Le programme `pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ` est traité comme surface fee/config/accounting : `get_fees` reste decoded-only, les claims social fee alimentent `k_sol_reward_events`, les donation/buyback alimentent `k_sol_fee_events`, les authority/config/tier/update alimentent `k_sol_pool_admin_events`, les créations/init/extend alimentent `k_sol_pool_lifecycle_events`, et aucun trade/candle direct n'est produit.
Source IDL locale prioritaire :
```text
idls/pump_fees.pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ.json
```
Surface couverte : `29` instructions, `20` events Anchor, `9` accounts et `34` types. Les discriminators Solscan hors IDL locale `revoke_fee_sharing_authority_event` (`7217653c0ebe993e`) et `transfer_fee_sharing_authority_event` (`7c8fc6f54db808ec`) restent conservés en coverage comme surfaces futures `upstream_git_mapped_unverified`.
Validation locale finale rapportée :
```text
cargo test -p kb_lib -> 431 passed / 0 failed
cargo clippy -p kb_lib --all-targets -- -D warnings -> OK
127 replayed
0 decode skipped
150 ledger upserts
125 unsafe ledger rows
4 trades
0 liquidity
115 lifecycle
0 tokenAccount
16 candle upserts
instructionObservations = 2234
resetDeleted = 1644
catalog = 11 tokens / 10 pools / 10 pairs
```
Checks de fermeture Pump Fees :
- fallback `upstream_git` `pump_fees` : vide ;
- `instruction_name` `pump_fees` vide : vide ;
- `event_family = unknown` ou vide pour instruction/event : vide ;
- decoded `pump_fees` sans coverage : vide ;
- fallback résiduel pour entrées couvertes localement : vide ;
- successful non-materialized sans skip/policy : vide ;
- failed transaction avec business materialization : vide ;
- multi-target materialization : vide ;
- anti-trade/candle direct `pump_fees` : vide ;
- watchlist globale : plus aucun `pump_fees`, reste seulement `jupiter_swap.route_v2` observé ponctuellement.
Le SQL de validation propre et exécutable reste `validation_sql/SQL_VALIDATION_PUMP_FEES_0_7_55.sql`.
## État final validé `0.7.54` — `pump_fun`
La tranche `0.7.54 pump_fun` est clôturée côté coverage, décodage local maximal, matérialisation métier prudente et validation SQL. Elle ferme la surface Pump.fun principale avant l'ouverture de `0.7.55 pump_fees`.
@@ -66,9 +113,8 @@ Checks de fermeture :
- failed transaction avec business materialization : vide ;
- multi-target materialization : vide ;
- trade candidates Pump.fun sans matérialisation ni skip : vide ;
- watchlist globale : plus aucun `pump_fun`, backlog restant principalement `pump_fees`, puis `jupiter_swap` et `dflow_aggregator_v4`.
- watchlist globale : plus aucun `pump_fun` ; la surface suivante `pump_fees` a été traitée en `0.7.55`.
La suite immédiate est `0.7.55 pump_fees` sur nouvelle base SQLite, avec politique identique : tout ce qui peut être décodé doit l'être, et tout ce qui peut être matérialisé de manière fiable doit l'être.
## État final validé `0.7.53` — `pump_swap`
@@ -555,14 +601,14 @@ Si une requête DB est ajoutée ou modifiée, mettre à jour les re-exports dans
## 8. Priorité immédiate
La priorité immédiate après la clôture `0.7.54 pump_fun` est la suivante :
La priorité immédiate après la clôture `0.7.55 pump_fees` est la suivante :
1. ouvrir `0.7.55 pump_fees` sur une base SQLite neuve ;
2. décoder toutes les instructions et tous les events connus de `idls/pump_fees.pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ.json` ;
3. matérialiser tout ce qui est prouvable : fee accounting, fee sharing, social/donation fee PDA, buyback, config/admin, rewards éventuelles ;
4. ne créer aucun trade/candle direct pour `pump_fees` sauf preuve transactionnelle forte d'un swap économique autonome ;
5. maintenir les checks Pump.fun/PumpSwap/Raydium en non-régression ;
6. reporter Meteora/Jupiter/dFlow aux tranches prévues sauf si une dépendance stricte apparaît pendant l'analyse `pump_fees`.
1. ouvrir `0.7.56 meteora_dbc` sur une base SQLite neuve ;
2. décoder toutes les instructions/events DBC connus par l'IDL locale et les sources Git ;
3. matérialiser uniquement ce qui est prouvable : launch/bonding, swaps fiables, migration, liquidity, fees/admin/config ;
4. ne créer aucun trade/candle DBC sans montants, sens économique, pool/pair et mints fiables ;
5. maintenir les checks Pump.fun/PumpSwap/Pump Fees/Raydium en non-régression ;
6. garder `jupiter_swap.route_v2` en watchlist résiduelle sans ouvrir Jupiter avant phasage dédié.
Garde-fous constants :
@@ -674,8 +720,9 @@ La suite fonctionnelle reprend par Raydium avant Meteora :
5. `0.7.52``raydium_stable_swap` — clôturé ;
6. `0.7.53``pump_swap` — clôturé ;
7. `0.7.54``pump_fun` ;
8. `0.7.55``pump_fees` ;
9. `0.7.56+`Meteora, routers/agrégateurs, Phoenix/OpenBook, Orca puis les autres DEX/surfaces.
8. `0.7.55``pump_fees` — clôturé ;
9. `0.7.56``meteora_dbc` ;
10. `0.7.57+` — Meteora restants, routers/agrégateurs, Phoenix/OpenBook, Orca puis les autres DEX/surfaces.
`raydium_pool_v4.json` reste repoussé en audit conditionnel tardif, pas une tranche bloquante.