156 lines
3.7 KiB
Markdown
156 lines
3.7 KiB
Markdown
# Prompt de reprise — khadhroony-bobobot `0.7.47-1FE5` / Event coverage
|
||
|
||
Reprise du projet `khadhroony-bobobot`.
|
||
|
||
## Archive de départ
|
||
|
||
Utiliser :
|
||
|
||
```text
|
||
khadhroony-bobobot-v0.7.47-1FE5-full.zip
|
||
```
|
||
|
||
Et les docs :
|
||
|
||
```text
|
||
README.md
|
||
ROADMAP.md
|
||
CHANGELOG.md
|
||
DEX_DECODER_MATRIX.md
|
||
DEX_EVENT_COVERAGE_MATRIX.md
|
||
DB_EVENT_MODEL_REVIEW.md
|
||
```
|
||
|
||
## Décision de reprise
|
||
|
||
Ne pas essayer de “faire tous les events de tous les DEX” dans une seule session.
|
||
|
||
La stratégie est maintenant :
|
||
|
||
```text
|
||
un DEX/version = une tranche
|
||
tous les events listés = audit coverage
|
||
matérialisation seulement après corpus + SQL + invariants
|
||
```
|
||
|
||
## Sources Git/IDL à utiliser systématiquement
|
||
|
||
- https://github.com/sevenlabs-hq/carbon/tree/main/decoders
|
||
- https://github.com/0xfnzero/solana-streamer
|
||
- https://github.com/0xfnzero/sol-parser-sdk/tree/main/idl
|
||
- https://github.com/pinax-network/substreams-solana-idls/tree/main/src
|
||
- https://github.com/hodlwarden/solana-tx-parser/tree/main/src
|
||
- https://github.com/openbook-dex/openbook-v2
|
||
- https://github.com/all-in-one-blockchain/phoenix-onchain-mm
|
||
- https://docs.vybenetwork.com/docs/available-dexs-amms
|
||
|
||
## Objectif événementiel
|
||
|
||
Décoder le maximum d’events, pas seulement les swaps.
|
||
|
||
Inclure explicitement :
|
||
|
||
```text
|
||
swap
|
||
pool_create
|
||
add_liquidity
|
||
remove_liquidity
|
||
position_open
|
||
position_close
|
||
fee
|
||
reward
|
||
admin/config
|
||
mint
|
||
burn
|
||
transfer
|
||
account_create
|
||
account_close
|
||
wrap_sol
|
||
unwrap_sol
|
||
order_place
|
||
order_cancel
|
||
order_fill
|
||
consume_events
|
||
settle_funds
|
||
vault_deposit
|
||
vault_withdraw
|
||
lock
|
||
unlock
|
||
launch
|
||
migration
|
||
stake
|
||
unstake
|
||
unknown/unmapped audit
|
||
```
|
||
|
||
Raison : burn, perte de liquidité, changements admin/config, vault withdraw, migration, mint anormal, close account, etc. peuvent influencer une décision de trading même si ce ne sont pas des trades.
|
||
|
||
## Base de données
|
||
|
||
La base actuelle suffit pour audit-only via `k_sol_dex_decoded_events`, mais elle n’est pas suffisante pour tout exploiter en requêtes métier.
|
||
|
||
À considérer avant ou pendant `0.7.48` :
|
||
|
||
```text
|
||
k_sol_dex_event_coverage_entries
|
||
k_sol_token_transfer_events
|
||
k_sol_token_account_events
|
||
k_sol_orderbook_events
|
||
k_sol_vault_events
|
||
k_sol_launch_events
|
||
k_sol_liquidity_lock_events
|
||
```
|
||
|
||
Priorité minimale :
|
||
|
||
```text
|
||
1. k_sol_dex_event_coverage_entries
|
||
2. k_sol_token_transfer_events
|
||
3. k_sol_orderbook_events
|
||
```
|
||
|
||
## Ordre des versions
|
||
|
||
```text
|
||
0.7.48-pre event coverage + DB model checkpoint
|
||
0.7.48 raydium_cpmm
|
||
0.7.49 raydium_clmm
|
||
0.7.50 pump_swap
|
||
0.7.51 pump_fun
|
||
0.7.52 meteora_dbc
|
||
0.7.53 meteora_dlmm
|
||
0.7.54 meteora_damm_v1
|
||
0.7.55 meteora_damm_v2
|
||
0.7.56 phoenix_v1
|
||
0.7.57 openbook_v2
|
||
0.7.58 orca_whirlpools
|
||
0.7.59 launch surfaces
|
||
0.7.60 DEX historiques/candidats
|
||
0.7.61 validation consolidée
|
||
```
|
||
|
||
## Règles fixes
|
||
|
||
- Un event non-trade ne produit jamais trade/candle.
|
||
- Une transaction failed reste audit, jamais trade/candle.
|
||
- Un discriminator upstream n’est pas une preuve métier.
|
||
- Un program id upstream n’est pas vérifié sans corpus local.
|
||
- Chaque decoder spécialisé doit remplacer le fallback `upstream_git.instruction_match` pour éviter les doublons.
|
||
- Tout event connu mais non observé reste `upstream_git_mapped_unverified`.
|
||
- Tout event observé mais non matérialisé reste audit-only ou decoded, pas materialized.
|
||
|
||
## Prochaine tâche recommandée
|
||
|
||
Commencer par :
|
||
|
||
```text
|
||
0.7.48-pre — event coverage + DB model checkpoint
|
||
```
|
||
|
||
Livrables attendus :
|
||
|
||
1. ajouter/documenter une table de couverture event/discriminator ;
|
||
2. générer un rapport de couverture par DEX/version ;
|
||
3. préparer `raydium_cpmm` avec la liste complète des events depuis Carbon/fnzero/IDL ;
|
||
4. ne pas changer encore la matérialisation trade/candle.
|