4.9 KiB
Pump.fun event coverage report — clôture 0.7.54
Statut du rapport
Ce rapport clôture la tranche 0.7.54 pump_fun côté coverage, décodage local, matérialisation métier prudente et validation SQL.
Program id canonique :
6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P
Source IDL locale prioritaire :
idls/pump_fun.6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P.json
Sources utilisées
kb_lib/src/dex/pump_fun.rs;kb_lib/src/dex_decode.rs;kb_lib/src/trade_aggregation.rs;kb_lib/src/trade_amount_resolution.rs;kb_lib/src/dex_detection_route.rs;kb_lib/src/dex_event_coverage.rs;kb_lib/src/upstream_registry_generated.rs;idls/pump_fun.6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P.json;validation_sql/SQL_VALIDATION_PUMP_FUN_0_7_54.sql;validation_sql/SQL_VALIDATION_PUMP_FUN_MATERIALIZATION_0_7_54.sql;- corpus SQLite bâti par backfills Demo3/signatures/pools et replay forcé.
Couverture finale
L'IDL locale Pump.fun contient 40 instructions et 23 events Anchor. La tranche a ajouté la couverture locale des instructions/events connues, y compris les instructions IDL-only absentes du registre upstream initial :
add_quote_mint;buy_exact_quote_in_v2;buy_v2;claim_cashback_v2;collect_creator_fee_v2;distribute_creator_fees_v2;migrate_v2;remove_quote_mint;sell_v2;set_virtual_quote_reserves;update_buyback_config.
Les events Anchor sont reconnus depuis Program data: et depuis le transport Anchor self-CPI/log e445a52e51cb9a1d quand présent.
Règles de matérialisation finales
Trades
| Source locale | Matérialisation | Règle |
|---|---|---|
pump_fun.buy |
k_sol_trade_events |
directe si montants fiables |
pump_fun.sell |
k_sol_trade_events |
directe si montants fiables |
pump_fun.buy_exact_sol_in |
k_sol_trade_events |
directe ; les logs Program data tronqués sont exploités quand les montants exacts sont extractibles |
pump_fun.buy_v2 |
non directe | instruction audit/coverage/routing uniquement |
pump_fun.sell_v2 |
non directe | instruction audit/coverage/routing uniquement |
pump_fun.buy_exact_quote_in_v2 |
non directe | instruction audit/coverage/routing uniquement |
pump_fun.trade_event |
k_sol_trade_events |
source canonique des montants exécutés v2/exact quand corrélée sans ambiguïté |
Les trade_event déjà couverts par une instruction directe reçoivent un skip explicite afin d'éviter tout double-count.
Non-trades
Les événements non-trade sont matérialisés uniquement vers leur table métier ciblée quand les comptes, acteurs et montants sont fiables :
k_sol_launch_eventspour create/migrate/graduate ;k_sol_fee_eventspour creator fees, fee distribution et minimum fee ;k_sol_reward_eventspour cashback, incentives et volume accumulators exploitables ;k_sol_pool_admin_eventspour admin/config/creator/global authority ;k_sol_pool_lifecycle_eventspour initialization/lifecycle.
Sinon, ils restent decoded-only/audit-only avec skip*Reason explicite. Les transactions failed ne produisent aucune matérialisation métier.
Replay final rapporté
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 finale Pump.fun observée
pump_fun.buy 17 trades
pump_fun.sell 25 trades
pump_fun.buy_exact_sol_in 15 trades
pump_fun.trade_event 25 trades
Les variantes v2/exact restent à 0 dans k_sol_trade_events par decoded_event_id d'instruction, ce qui est attendu : leur matérialisation canonique se fait via pump_fun.trade_event.
Checks de fermeture SQL
Résultats finaux rapportés :
Q00upstream fallback Pump.fun : vide ;Q04decoded Pump.fun sans coverage : vide ;Q05fallback upstream couvert localement : vide ;Q06successful non-materialized sans skip reason : vide ;Q07failed transaction materialization safety : vide ;Q08multi-target materialization safety : vide ;Q11trade candidates sans trade ni skip : vide ;Q12watchlist globale : plus depump_fun; restentpump_fees,jupiter_swapetdflow_aggregator_v4.
Décisions de clôture
pump_funest clos côté decoder maximal local et validation corpus.- Les prochaines interventions Pump.fun doivent être des corrections de bugs ou des adaptations à un changement externe prouvé.
- La suite logique est
0.7.55 pump_feessur nouvelle base SQLite. - La politique reste : tout ce qui peut être décodé doit l'être ; tout ce qui peut être matérialisé de manière fiable doit l'être ; aucun trade/candle artificiel ne doit être créé.