0.7.57
This commit is contained in:
97
README.md
97
README.md
@@ -3,6 +3,101 @@
|
||||
# khadhroony-bobobot
|
||||
|
||||
|
||||
## État final validé `0.7.57` — `meteora_dlmm` full decode / full materialization
|
||||
|
||||
La tranche `0.7.57 meteora_dlmm` est clôturée côté decoder local maximal, coverage, tests synthétiques, matérialisation prudente et validation SQL sur base dédiée. Le programme traité est :
|
||||
|
||||
```text
|
||||
LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo
|
||||
```
|
||||
|
||||
Source IDL locale prioritaire :
|
||||
|
||||
```text
|
||||
idls/meteora_dlmm.LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo.json
|
||||
```
|
||||
|
||||
Surface couverte : `76` instructions IDL, `30` events Anchor et `12` accounts, avec correction locale du discriminant `75c73e67068e1fcb`, identifié comme `initialize_preset_parameter_v2` par les logs Anchor (`Instruction: InitializePresetParameterV2`) et par hash Anchor. Les entrées observées utiles ne restent pas en decoded-only : elles alimentent `trade`, `liquidity`, `lifecycle`, `fee`, `reward`, `admin` ou `orderbook` selon leur famille.
|
||||
|
||||
Validation locale finale rapportée :
|
||||
|
||||
```text
|
||||
cargo test -p kb_lib -> 460 passed / 0 failed
|
||||
cargo clippy -p kb_lib --all-targets -- -D warnings -> OK
|
||||
769 replayed
|
||||
0 decode skipped
|
||||
769 ledger upserts
|
||||
646 unsafe ledger rows
|
||||
106 trades
|
||||
664 liquidity
|
||||
1107 lifecycle
|
||||
0 tokenAccount
|
||||
424 candle upserts
|
||||
instructionObservations = 8062
|
||||
resetDeleted = 9898
|
||||
catalog = 169 tokens / 218 pools / 218 pairs
|
||||
```
|
||||
|
||||
Règles métier verrouillées :
|
||||
|
||||
- les trades/candles DLMM proviennent uniquement des instructions swap fiables : `swap`, `swap2`, `swap_exact_out`, `swap_exact_out2`, `swap_with_price_impact`, `swap_with_price_impact2` ;
|
||||
- `swap_event` et `swap2_evt` sont matérialisés comme `swap_log` lifecycle afin d'éviter tout double comptage trade/candle ;
|
||||
- les positions, bins, pool create, preset parameters, pair status, token badge et operator/config alimentent lifecycle/admin selon contexte ;
|
||||
- les limit orders alimentent `k_sol_orderbook_events` et ne produisent jamais trade/candle ;
|
||||
- les fees DLMM utilisent `k_sol_fee_events` + `k_sol_fee_event_amounts`, avec recovery strictement allowlistée depuis inner SPL transfers ;
|
||||
- les rewards DLMM utilisent une recovery strictement allowlistée, sans inventer de montant pour les initialisations/configurations ;
|
||||
- les transactions failed restent décodées/auditables mais ne matérialisent aucune table métier.
|
||||
|
||||
Synthèse fee/reward finale observée :
|
||||
|
||||
```text
|
||||
claim_fee 64 parents / 64 legs
|
||||
claim_fee2 63 parents / 88 legs
|
||||
claim_fee_event 127 parents / 187 legs
|
||||
claim_fee2_event 78 parents / 118 legs
|
||||
composition_fee_event 51 parents / 63 legs
|
||||
withdraw_protocol_fee 14 parents / 20 legs
|
||||
zap_protocol_fee 13 parents / 13 legs
|
||||
claim_reward 15 parents / 1 scalar amount
|
||||
claim_reward2 19 parents / 10 scalar amounts
|
||||
claim_reward_event 34 parents / 25 scalar amounts
|
||||
claim_reward2_event 19 parents / 10 scalar amounts
|
||||
fund_reward 10 parents / 10 scalar amounts
|
||||
fund_reward_event 10 parents / 10 scalar amounts
|
||||
initialize_reward 9 parents / 0 amount, attendu car init/config
|
||||
initialize_reward_event 9 parents / 0 amount, attendu car init/config
|
||||
```
|
||||
|
||||
Checks de fermeture `0.7.57` :
|
||||
|
||||
- fallback `upstream_git` `meteora_dlmm` pour entrées couvertes localement : vide ;
|
||||
- `instruction_audit` observé : `0` ;
|
||||
- decoded `meteora_dlmm` sans coverage : vide ;
|
||||
- successful non-materialized sans `skip*Reason` ou policy explicite : vide ;
|
||||
- failed transaction avec business materialization : vide ;
|
||||
- multi-target materialization : vide ;
|
||||
- non-swap vers trade/candle : vide ;
|
||||
- parent fee scalaire sans leg : vide ;
|
||||
- fee amount legs orphelins : vide ;
|
||||
- limit/orderbook vers trade/candle : vide ;
|
||||
- duplicate logical coverage rows : vide.
|
||||
|
||||
Écart coverage restant et expliqué : `close_bin_array` affiche `16 observed / 14 materialized`, car `14` transactions sont OK et matérialisées, tandis que `2` transactions failed (`Custom 6015`) restent audit-only.
|
||||
|
||||
Documents de référence :
|
||||
|
||||
```text
|
||||
docs/reports/METEORA_DLMM_EVENT_COVERAGE_REPORT.md
|
||||
docs/VALIDATION_STATUS_0_7_57_FINAL.md
|
||||
validation_sql/SQL_VALIDATION_METEORA_DLMM_0_7_57.sql
|
||||
docs/prompts/PROMPT_0_7_58_DEMO4_PROGRAM_SURFACE_DISCOVERY.md
|
||||
docs/prompts/PROMPT_0_7_59_SQLITE_DB_TRANSACTION_MERGER_BINARY.md
|
||||
docs/prompts/PROMPT_0_7_60_METEORA_DAMM_NEXT_DEX.md
|
||||
```
|
||||
|
||||
Prochaine étape recommandée : `0.7.58 demo4 / program surface discovery`, une fonctionnalité d'affichage et de scoring des contenus non encore pris en compte (`program_id`, discriminators, Anchor logs/events, upstream fallback), sans matérialisation automatique et sans promotion automatique dans les decoders.
|
||||
|
||||
|
||||
|
||||
## État final validé `0.7.56` — `meteora_dbc` + socle `fee_event_amounts`
|
||||
|
||||
@@ -88,7 +183,7 @@ validation_sql/SQL_VALIDATION_METEORA_DBC_0_7_56.sql
|
||||
docs/prompts/PROMPT_0_7_57_METEORA_DLMM_FULL_DECODE_MATERIALIZATION.md
|
||||
```
|
||||
|
||||
Prochaine tranche recommandée : `0.7.57 meteora_dlmm` en mode full decode / full materialization, sur le programme `LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo`, avec vérification complète de l'IDL locale `idls/meteora_dlmm.LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo.json`.
|
||||
La tranche suivante `0.7.57 meteora_dlmm` est désormais clôturée. La prochaine étape recommandée est `0.7.58 demo4 / program surface discovery`, puis `0.7.59` pour le binaire de consolidation de bases SQLite.
|
||||
|
||||
## État final validé `0.7.55` — `pump_fees`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user