0.7.54
This commit is contained in:
88
README.md
88
README.md
@@ -2,6 +2,74 @@
|
||||
|
||||
# khadhroony-bobobot
|
||||
|
||||
|
||||
## É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`.
|
||||
|
||||
Program id canonique :
|
||||
|
||||
```text
|
||||
6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P
|
||||
```
|
||||
|
||||
Source IDL locale prioritaire :
|
||||
|
||||
```text
|
||||
idls/pump_fun.6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P.json
|
||||
```
|
||||
|
||||
Points verrouillés :
|
||||
|
||||
- les `40` instructions et `23` events Anchor connus par l'IDL locale sont inventoriés et couverts localement ;
|
||||
- les instructions IDL-only absentes du registre upstream initial sont intégrées côté coverage, notamment `buy_v2`, `sell_v2`, `buy_exact_quote_in_v2`, `migrate_v2`, `claim_cashback_v2`, `collect_creator_fee_v2`, `distribute_creator_fees_v2` et `update_buyback_config` ;
|
||||
- `pump_fun.buy` et `pump_fun.sell` restent matérialisés directement comme trades quand les montants sont fiables ;
|
||||
- `pump_fun.buy_exact_sol_in` est matérialisé directement, y compris pour les logs `Program data` Anchor tronqués quand les montants exacts sont extractibles ;
|
||||
- `pump_fun.buy_v2`, `pump_fun.sell_v2` et `pump_fun.buy_exact_quote_in_v2` restent des instructions audit/coverage/routing : elles ne sont pas matérialisées directement ;
|
||||
- la matérialisation canonique des trades v2/exact passe par `pump_fun.trade_event` quand l'event Anchor porte les montants exécutés et se corrèle sans ambiguïté à l'instruction ;
|
||||
- les `trade_event` couverts par un trade direct reçoivent un skip explicite afin d'éviter le double-count ;
|
||||
- les familles non-trade alimentent uniquement les tables prévues (`launch`, `fee`, `reward`, `admin`, `lifecycle`) ou restent decoded-only/audit-only avec raison explicite ;
|
||||
- les transactions failed restent décodables pour audit mais ne produisent aucun business event.
|
||||
|
||||
Validation locale finale rapportée après replay forcé :
|
||||
|
||||
```text
|
||||
1679 replayed
|
||||
0 decode skipped
|
||||
1679 ledger upserts
|
||||
145 unsafe ledger rows
|
||||
89 trades
|
||||
0 liquidity
|
||||
10 lifecycle
|
||||
0 tokenAccount
|
||||
348 candle upserts
|
||||
instructionObservations = 13905
|
||||
resetDeleted = 1112
|
||||
catalog = 52 tokens / 50 pools / 50 pairs
|
||||
```
|
||||
|
||||
Matérialisation Pump.fun finale observée :
|
||||
|
||||
```text
|
||||
pump_fun.buy 17 trades
|
||||
pump_fun.sell 25 trades
|
||||
pump_fun.buy_exact_sol_in 15 trades
|
||||
pump_fun.trade_event 25 trades
|
||||
```
|
||||
|
||||
Checks de fermeture :
|
||||
|
||||
- fallback `upstream_git` Pump.fun : vide ;
|
||||
- decoded Pump.fun sans coverage : vide ;
|
||||
- fallback upstream résiduel pour entrées couvertes : vide ;
|
||||
- successful non-materialized sans skip reason : vide ;
|
||||
- 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`.
|
||||
|
||||
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`
|
||||
|
||||
La tranche `0.7.53 pump_swap` est clôturée côté décodage transaction/log et matérialisation métier. Elle ferme le program id unique `pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA` sans rouvrir Raydium.
|
||||
@@ -58,7 +126,7 @@ Livrables `0.7.53` :
|
||||
- `validation_sql/SQL_VALIDATION_DEX_COVERAGE_GLOBAL_0_7_53.sql` ;
|
||||
- `idls/` comme corpus local d'IDL Solscan à comparer aux sources Git.
|
||||
|
||||
La suite immédiate est `pump_fees` / `pump_fun` selon priorité de backlog observé. Les petits gaps Meteora sont volontairement reportés aux tranches Meteora futures.
|
||||
La suite immédiate après `0.7.54 pump_fun` est `pump_fees` (`0.7.55`). Les petits gaps Meteora restent volontairement reportés aux tranches Meteora futures.
|
||||
|
||||
|
||||
## État final validé `0.7.51` — `raydium_amm_v4`
|
||||
@@ -487,14 +555,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.53` est la suivante :
|
||||
La priorité immédiate après la clôture `0.7.54 pump_fun` est la suivante :
|
||||
|
||||
1. `0.7.53` est clos pour `pump_swap` : ne rouvrir que pour correction de bug, pas pour ajout fonctionnel IDL déjà couvert ;
|
||||
2. maintenir les checks globaux de surveillance dans `validation_sql/SQL_VALIDATION_DEX_COVERAGE_GLOBAL_0_7_53.sql` après chaque gros backfill ;
|
||||
3. traiter ensuite le backlog observé, en priorité `pump_fees`, puis `pump_fun`, puis `jupiter_swap` si l’objectif devient l’analyse des routes/agrégateurs ;
|
||||
4. reporter volontairement les corrections Meteora restantes (`meteora_dlmm.swap`, `meteora_damm_v2.swap`, `meteora_damm_v2.instruction_audit`) aux tranches Meteora dédiées ;
|
||||
5. ne pas rouvrir `raydium_amm_v4`, `raydium_clmm` ou `raydium_cpmm` tant que les requêtes Raydium normalisées restent vides ;
|
||||
6. garder `raydium_launchpad` et `raydium_stable_swap` en surveillance : les entrées non observées restent `upstream_git_mapped_unverified`, pas des régressions.
|
||||
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`.
|
||||
|
||||
Garde-fous constants :
|
||||
|
||||
@@ -605,8 +673,8 @@ La suite fonctionnelle reprend par Raydium avant Meteora :
|
||||
4. `0.7.51` — `raydium_amm_v4` ;
|
||||
5. `0.7.52` — `raydium_stable_swap` — clôturé ;
|
||||
6. `0.7.53` — `pump_swap` — clôturé ;
|
||||
7. `0.7.54` — `pump_fees` ;
|
||||
8. `0.7.55` — `pump_fun` ;
|
||||
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.
|
||||
|
||||
`raydium_pool_v4.json` reste repoussé en audit conditionnel tardif, pas une tranche bloquante.
|
||||
|
||||
Reference in New Issue
Block a user