32 KiB
DEX Event Coverage Matrix — khadhroony-bobobot 0.7.54 pump_fun closed
Cette matrice complète docs/DEX_DECODER_MATRIX.md avec une lecture par familles d'événements. Elle ne remplace pas la preuve locale : une entrée Git/IDL reste un indice tant qu'elle n'est pas observée dans le corpus local puis validée par replay et SQL.
Règles de statut
| Statut | Sens |
|---|---|
decoded |
Un decoder local produit un event spécialisé ou un event audit-only classé. |
materialized |
L'event alimente une table métier existante validée par corpus. |
audit-only |
L'event reste dans k_sol_dex_decoded_events et ne produit jamais trade/candle. |
upstream_git_mapped_unverified |
L'entrée est connue depuis Carbon/fnzero/IDL, mais non observée localement. |
not_applicable |
La famille n'existe pas pour ce DEX/version ou appartient à un autre programme. |
0.7.48 — raydium_cpmm
Sources inventoriées : Carbon carbon-raydium-cpmm-decoder, fnzero solana-streamer / sol-parser-sdk IDL raydium_cpmm.json.
| Famille | Entrées Raydium CPMM | Statut 0.7.48 |
Cible DB | Justification / règle |
|---|---|---|---|---|
swap |
swap_base_input, swap_base_output, swap_event |
materialized pour swap_base_*; swap_event audit-only |
k_sol_trade_events seulement pour swap_base_*; k_sol_dex_decoded_events_only pour swap_event |
swap_event est décodé mais ne produit jamais trade/candle afin d'éviter les doublons. |
pool_create |
initialize, initialize_with_permission |
materialized |
k_sol_pool_lifecycle_events |
initialize_with_permission est lifecycle-only et ne crée plus d'admin row. |
add_liquidity |
deposit, lp_change_event(changeType=0) |
materialized |
k_sol_liquidity_events |
deposit et lp_change_event(changeType=0) matérialisent liquidity, sans trade/candle. |
remove_liquidity |
withdraw, lp_change_event(changeType=1) |
materialized |
k_sol_liquidity_events |
withdraw et lp_change_event(changeType=1) matérialisent liquidity, sans trade/candle. |
position_open |
- |
not_applicable |
- |
CPMM n'a pas de position CLMM. |
position_close |
- |
not_applicable |
- |
CPMM n'a pas de position CLMM. |
fee |
collect_creator_fee, collect_fund_fee, collect_protocol_fee |
materialized |
k_sol_fee_events |
Les trois familles de fee CPMM observées sont matérialisées avec trade_count=0. |
reward |
- |
not_applicable |
- |
Aucune entrée reward CPMM dans Carbon/fnzero IDL inventoriée pour cette tranche. |
admin/config |
create_amm_config, update_amm_config, create_permission_pda, update_pool_status, close_permission_pda |
materialized pour les entrées observées ; upstream_git_mapped_unverified pour update_pool_status / close_permission_pda |
k_sol_pool_admin_events ou decoded-only selon corpus |
create_amm_config, create_permission_pda et update_amm_config sont matérialisés ; les deux autres restent non observés localement. |
mint |
- direct |
not_applicable |
- |
Mint LP implicite possible dans les instructions, mais pas d'instruction CPMM mint dédiée. |
burn |
- direct |
not_applicable |
- |
Burn LP implicite possible dans withdraw, mais pas d'instruction CPMM burn dédiée. |
transfer |
SPL Token inner transfers | audit-only indirect |
k_sol_dex_decoded_events pour cette tranche |
Pas de table k_sol_token_transfer_events ajoutée en 0.7.48. |
account_create |
comptes système/ATA indirects | audit-only indirect |
decoded-only | Hors programme CPMM direct. |
account_close |
comptes système/ATA indirects | audit-only indirect |
decoded-only | Hors programme CPMM direct. |
wrap_sol |
user/router side | not_applicable |
- |
Préparation WSOL hors CPMM. |
unwrap_sol |
user/router side | not_applicable |
- |
Cleanup WSOL hors CPMM. |
order_place |
- |
not_applicable |
- |
CPMM est AMM, pas orderbook. |
order_cancel |
- |
not_applicable |
- |
CPMM est AMM, pas orderbook. |
order_fill |
- |
not_applicable |
- |
CPMM est AMM, pas orderbook. |
consume_events |
- |
not_applicable |
- |
CPMM est AMM, pas orderbook. |
settle_funds |
- |
not_applicable |
- |
CPMM est AMM, pas orderbook. |
vault_deposit |
- |
not_applicable |
- |
Les vaults CPMM sont des comptes de pool, pas une surface vault séparée. |
vault_withdraw |
- |
not_applicable |
- |
Les vaults CPMM sont des comptes de pool, pas une surface vault séparée. |
lock |
- |
not_applicable |
- |
Raydium liquidity locking est une surface séparée. |
unlock |
- |
not_applicable |
- |
Raydium liquidity locking est une surface séparée. |
launch |
- |
not_applicable |
- |
Raydium LaunchLab/Launchpad est séparé de CPMM. |
migration |
- |
not_applicable |
- |
Les migrations launch → pool relèvent des launch surfaces. |
stake |
- |
not_applicable |
- |
Hors CPMM. |
unstake |
- |
not_applicable |
- |
Hors CPMM. |
unknown/unmapped audit |
raydium_cpmm.instruction_audit |
audit-only |
k_sol_dex_decoded_events_only |
Toute instruction observée mais non mappée reste audit-only et ne produit jamais trade/candle. |
Validation attendue
k_sol_dex_event_coverage_entries.decoder_code = 'raydium_cpmm'contient toutes les entrées Carbon/fnzero synchronisées.upstream_git.instruction_matchne doit plus apparaître pour une instruction CPMM remplacée par un decoder local spécialisé.- Les familles non-trade CPMM doivent rester
trade_count = 0. - Les transactions failed CPMM doivent rester décodées/auditables mais non matérialisées en trade/candle.
Note 0.7.48-part2-fix2 — CPMM official instruction parity
La couverture raydium_cpmm est alignée avec les instructions exposées par le programme officiel Raydium CP-Swap et par Carbon : create_amm_config, update_amm_config, update_pool_status, collect_protocol_fee, collect_fund_fee, collect_creator_fee, create_permission_pda, close_permission_pda, initialize, initialize_with_permission, deposit, withdraw, swap_base_input, swap_base_output, lp_change_event et swap_event.
lp_change_event est maintenant classé event_family=liquidity dans la table coverage, parce que l'event couvre à la fois dépôt et retrait. La matérialisation reste déterminée par changeType dans le payload décodé : 0 = add/deposit, 1 = remove/withdraw.
Note 0.7.48 final — Raydium CPMM clôturable
Validation finale locale : deposit = 11/11 liquidity, withdraw = 14/14 liquidity, lp_change_event = 25/25 liquidity, fees = 26/26 fee, admin/config observés = 23/23 admin, lifecycle = 9/9, swap_event = audit-only avec 0 trade, et trades matérialisés uniquement depuis swap_base_input / swap_base_output.
close_permission_pda et update_pool_status restent upstream_git_mapped_unverified faute de corpus local. Les filtres Solscan instruction=9c5420764587467b et instruction=82576c062ee0757b n'ont pas fourni de signatures exploitables dans l'horizon testé.
0.7.49 — raydium_clmm final coverage
Sources inventoriées : Carbon raydium-clmm-decoder, fnzero sol-parser-sdk, Pinax substreams-solana-idls/src/raydium/clmm, Raydium/Solscan Program IDL.
État final validé : 45 entrées listées, 33 instructions locales observées/décodées, 25 entrées matérialisées, 1186 trades, raydium_clmm.instruction_audit = 0, fallback upstream_git.instruction_match localement couvert = 0.
| Famille | Entrées Raydium CLMM | Statut 0.7.49 |
Cible DB | Justification / règle |
|---|---|---|---|---|
swap |
swap, swap_v2 |
materialized |
k_sol_trade_events |
Seuls ces swaps produisent trades/candles lorsque les montants sont exploitables. |
swap audit |
swap_event, swap_router_base_in |
observed/audit ou upstream_git_unverified selon corpus |
k_sol_dex_decoded_events_only |
Pas de double trade/candle. |
pool_create |
create_pool, create_customizable_pool |
decoded; create_pool matérialisé quand prouvé |
k_sol_pool_lifecycle_events |
Création de pool = lifecycle, pas admin. |
add_liquidity |
increase_liquidity, increase_liquidity_v2, open position variants |
decoded; variantes prouvées matérialisées |
k_sol_liquidity_events |
CLMM implique position/tick/NFT ; matérialisation seulement sur corpus OK. |
remove_liquidity |
decrease_liquidity, decrease_liquidity_v2, close position variants |
decoded; variantes prouvées matérialisées |
k_sol_liquidity_events |
Aucune promotion trade/candle. |
fee |
collect_fund_fee, collect_protocol_fee |
decoded; protocol fee matérialisé si tx OK |
k_sol_fee_events |
Mapping fee sans trade/candle. |
reward |
initialize_reward, collect_remaining_rewards, set_reward_params, transfer_reward_owner, update_reward_infos |
decoded; variantes prouvées matérialisées |
k_sol_reward_events / k_sol_pool_admin_events |
Reward/config selon instruction. |
admin/config |
create_amm_config, create_dynamic_fee_config, create_operation_account, update_amm_config, update_operation_account, update_pool_status |
decoded; variantes prouvées matérialisées |
k_sol_pool_admin_events ou decoded-only |
Config/admin sans trade/candle. |
account_create |
create_support_mint_associated |
observed/decoded |
k_sol_token_account_events prévu / decoded-only selon corpus |
Side effect technique ; pas de trade/candle. |
order_place |
open_limit_order, increase_limit_order |
decoded/materialized |
k_sol_orderbook_events |
Orderbook CLMM, jamais trade/candle. |
order_cancel |
decrease_limit_order, close_limit_order |
decoded/materialized |
k_sol_orderbook_events |
Orderbook CLMM, jamais trade/candle. |
settle_funds |
settle_limit_order |
decoded/materialized |
k_sol_orderbook_events |
Settlement orderbook, pas trade direct. |
mint/burn/transfer/account_close/wrap/unwrap |
Side effects SPL Token / Token-2022 | indirect |
decoded-only | Pas de promotion en raydium_clmm.* sans instruction directe. |
launch/migration/lock/unlock/stake/unstake/vault |
- |
not_applicable |
- |
Surfaces hors CLMM direct. |
unknown/unmapped audit |
raydium_clmm.instruction_audit, fallback upstream |
closed |
k_sol_dex_decoded_events_only |
Résidu validé à zéro après replay. |
Les 11 Anchor / Program data events restent upstream_git_unverified et préparés audit-only faute d’observation locale : collect_personal_fee_event, collect_protocol_fee_event, config_change_event, create_personal_position_event, decrease_liquidity_event, increase_liquidity_event, liquidity_calculate_event, liquidity_change_event, pool_created_event, swap_event, update_reward_infos_event.
0.7.50 — raydium_launchpad bootstrap
Sources inventoriées : Carbon raydium-launchpad-decoder, Solscan Program IDL LanMV9sAd7wArD4vJFi2qDdfnVhFxYSUg6eADduJ3uj, fnzero IDL listings, Raydium SDK Launchpad examples. Code local canonique : raydium_launchpad. Aucun alias Rust raydium_launchlab ne doit être conservé dans l’API publique.
État de départ préparé : 1 entrée programme et 26 entrées discriminées listées depuis Carbon/IDL. Toutes les entrées Launchpad sont gardées decoded_events_only en bootstrap, même si leur famille inférée est swap, pool_create, fee, admin_config, launch ou migration. La matérialisation métier est volontairement différée jusqu'au corpus local.
| Famille | Entrées Raydium Launchpad | Statut 0.7.50 bootstrap |
Cible DB initiale | Justification / règle |
|---|---|---|---|---|
swap |
buy_exact_in, buy_exact_out, sell_exact_in, sell_exact_out, trade_event |
upstream_git_mapped_unverified puis decoded/audit-only si observé |
k_sol_dex_decoded_events_only |
Aucun trade/candle avant preuve locale de montants, sens et absence de doublon avec la surface DEX de migration. |
pool_create |
initialize, initialize_v2, initialize_with_token_2022, pool_create_event |
upstream_git_mapped_unverified |
decoded_events_only |
Lifecycle launch/pool non promu tant que le compte pool/mint/quote n'est pas validé localement. |
add_liquidity |
- direct confirmé |
not_applicable |
- |
Peut apparaître via DEX de destination ou SPL side effects, pas comme instruction Launchpad directe prouvée. |
remove_liquidity |
- direct confirmé |
not_applicable |
- |
Même règle que add_liquidity. |
position_open |
- |
not_applicable |
- |
Pas de position CLMM/LP NFT directe confirmée. |
position_close |
- |
not_applicable |
- |
Pas de position CLMM/LP NFT directe confirmée. |
fee |
claim_creator_fee, claim_platform_fee, claim_platform_fee_from_vault, claim_vested_event, claim_vested_token, collect_fee, collect_migrate_fee |
upstream_git_mapped_unverified puis decoded/audit-only si observé |
decoded_events_only |
Fee/vesting/migration fee utile pour stratégie, mais pas matérialisé sans corpus. |
reward |
- direct confirmé |
not_applicable |
- |
Vesting n'est pas promu en reward transversal dans cette tranche. |
admin/config |
create_config, create_platform_config, remove_platform_curve_param, update_config, update_platform_config, update_platform_curve_param |
upstream_git_mapped_unverified puis decoded/audit-only si observé |
decoded_events_only |
Admin/config utile pour audit, pas de table métier promue. |
mint |
SPL Token / Token-2022 side effects possibles | indirect |
decoded_events_only |
Ne devient pas raydium_launchpad.* sans instruction directe du programme. |
burn |
SPL Token / Token-2022 side effects possibles | indirect |
decoded_events_only |
Même règle que mint. |
transfer |
SPL Token / Token-2022 side effects attendus | indirect |
decoded_events_only |
Même règle que CPMM/CLMM : side effect transversal. |
account_create |
create_vesting_account, create_vesting_event |
upstream_git_mapped_unverified |
decoded_events_only |
Vesting/account audit uniquement, pas de nouvelle table transversale. |
account_close |
- direct confirmé |
not_applicable |
- |
Aucun close direct Launchpad confirmé. |
wrap_sol |
Side effect utilisateur/router possible | indirect |
decoded_events_only |
Hors programme Launchpad direct. |
unwrap_sol |
Side effect utilisateur/router possible | indirect |
decoded_events_only |
Hors programme Launchpad direct. |
order_place |
- |
not_applicable |
- |
Launchpad n'est pas traité comme orderbook. |
order_cancel |
- |
not_applicable |
- |
Launchpad n'est pas traité comme orderbook. |
order_fill |
- |
not_applicable |
- |
Launchpad n'est pas traité comme orderbook. |
consume_events |
- |
not_applicable |
- |
Launchpad n'est pas traité comme orderbook. |
settle_funds |
- |
not_applicable |
- |
Launchpad n'est pas traité comme orderbook. |
vault_deposit |
- direct confirmé |
not_applicable |
- |
Aucun vault direct Launchpad confirmé. |
vault_withdraw |
- direct confirmé |
not_applicable |
- |
Aucun vault direct Launchpad confirmé. |
lock |
- direct confirmé |
not_applicable |
- |
Liquidity locking reste une autre surface Raydium. |
unlock |
- direct confirmé |
not_applicable |
- |
Liquidity locking reste une autre surface Raydium. |
launch |
initialize*, pool_create_event |
upstream_git_mapped_unverified |
decoded_events_only |
La promotion k_sol_launch_events est différée. |
migration |
migrate_to_amm, migrate_to_cpswap, collect_migrate_fee |
upstream_git_mapped_unverified |
decoded_events_only |
Destination AMM/CPMM à valider localement avant liaison métier. |
stake |
- |
not_applicable |
- |
Aucun stake direct Launchpad confirmé. |
unstake |
- |
not_applicable |
- |
Aucun unstake direct Launchpad confirmé. |
unknown/unmapped audit |
raydium_launchpad.instruction_audit |
audit-only |
decoded_events_only |
Résidu à réduire par discriminant après backfill ciblé et replay. |
Rapport détaillé : docs/reports/RAYDIUM_LAUNCHPAD_EVENT_COVERAGE_REPORT.md.
SQL de validation : validation_sql/SQL_VALIDATION_RAYDIUM_LAUNCHPAD_0_7_50.sql.
0.7.50-pre3 Launchpad note
pre3 correction: Launchpad self-CPI selector e445a52e51cb9a1d is transport only. Known embedded event discriminators are decoded as raydium_launchpad.trade_event and raydium_launchpad.pool_create_event. The Launchpad initialize* instruction family now supplies pool/pair catalog context; trade_event remains decoded-only until trade/candle promotion is explicitly proven.
Note 0.7.50-pre-r2 — Raydium CPMM/CLMM closure re-check
Sources ajoutées à la vérification CPMM/CLMM : Carbon raydium-cpmm-decoder, Carbon raydium-clmm-decoder, Solscan Program IDL CPMM/CLMM et sol-parser-sdk IDL Raydium.
CPMM
cpi_eventest ajouté à la matrice CPMM avecevent_family=cpi_transport,expected_db_target=k_sol_dex_decoded_events_only,local_event_kind=raydium_cpmm.cpi_eventet discriminante445a52e51cb9a1d.swap_eventrestedecoded_events_onlypour éviter le double comptage avecswap_base_input/swap_base_output.- Le discriminant local
40f4bc78a7e9690aest codé commeraydium_cpmm.anchor_idl_instruction,event_family=idl_management,expected_db_target=k_sol_dex_decoded_events_only, après inspection Solscan des logsIdlCreateAccount/IdlCloseAccount.
CLMM
cpi_eventest ajouté à la matrice CLMM avecevent_family=cpi_transport,expected_db_target=k_sol_dex_decoded_events_only,local_event_kind=raydium_clmm.cpi_eventet discriminante445a52e51cb9a1d.update_dynamic_fee_configest ajouté avecevent_family=admin_config,expected_db_target=k_sol_pool_admin_events,local_event_kind=raydium_clmm.update_dynamic_fee_configet discriminant0707500802c784f0.- Les Program-data events CLMM sont maintenant rattachés localement :
swap_event,pool_created_event,liquidity_change_event,create_personal_position_event,decrease_liquidity_event,increase_liquidity_event,collect_protocol_fee_event,config_change_event,update_reward_infos_event. swap_eventetswap_router_base_inrestentdecoded_events_only: les trades canoniques sontswap/swap_v2, afin d'éviter le double comptage et la matérialisation de routes sans pool direct.liquidity_calculate_eventest classéliquidity_calculationet restedecoded_events_only, car il sert au diagnostic/calcul et non à une mutation de liquidité fiable.create_support_mint_associatedcible la nouvelle tablek_sol_token_account_events.create_operation_accountetupdate_operation_accountsont normalisés enadmin_config.
Validation attendue après replay : aucune entrée CPMM/CLMM ne doit rester en event_family='unknown' hors program, les fallbacks upstream_git.instruction_match ne doivent pas dupliquer une entrée locale couverte, et les transactions failed ne doivent matérialiser ni trade, ni liquidity, ni fee/admin/reward/orderbook/token-account.
Rapport associé : docs/reports/RAYDIUM_CPMM_CLMM_RECHECK_REPORT_0_7_50_PRE_R2.md.
0.7.51 — raydium_amm_v4
Sources inventoriées : Carbon raydium-amm-v4-decoder, Pinax src/raydium/amm, fnzero raydium_amm_v4.json, Solscan Program IDL. raydium_pool_v4 est comparé mais non promu.
Validation locale finale : tous les discriminants AMM v4 officiels 00..11 sont observés ; instruction_audit, fallback upstream, decoded sans coverage, observations 8 octets, non-swap trade, failed tx trade, gaps inexpliqués et multi-target materialization sont vides.
| Famille | Entrées AMM v4 | Statut 0.7.51-final |
Cible DB | Règle |
|---|---|---|---|---|
swap |
swap_base_in, swap_base_out, swap_base_in_v2, swap_base_out_v2 |
observed/materialized partiel expliqué | k_sol_trade_events |
Trade/candle seulement si tx successful + montants vault fiables ; sinon skipTradeReason. |
pool_create |
initialize, initialize2_pool |
observed/materialized | k_sol_pool_lifecycle_events |
Alimente lifecycle et catalogue seulement quand les mints/pool sont prouvés. |
pool_create deprecated |
pre_initialize |
observed/materialized audit minimal | k_sol_pool_lifecycle_events |
Lifecycle deprecated/partial ; ne crée pas de pair exploitable sans mints. |
liquidity_add |
deposit |
observed/materialized partiel expliqué | k_sol_liquidity_events |
Jamais trade/candle ; pools absents du catalogue restent decoded-only expliqués. |
liquidity_remove |
withdraw |
observed/materialized partiel expliqué | k_sol_liquidity_events |
Jamais trade/candle ; deltas/catalogue manquants doivent être explicités. |
fee |
withdraw_pnl, withdraw_srm |
observed/materialized partiel expliqué | k_sol_fee_events |
Jamais trade/candle. |
admin/config |
set_params, create_config_account, update_config_account |
observed/materialized | k_sol_pool_admin_events |
Preuve métier par corpus uniquement. |
orderbook side effects |
monitor_step, migrate_to_open_book, admin_cancel_orders |
observed/materialized | k_sol_orderbook_events |
Side effects OpenBook/Serum ; pas de trade OpenBook autonome, pas de lifecycle en double. |
cpi/informational |
simulate_info |
observed decoded-only | k_sol_dex_decoded_events_only |
Audit technique uniquement. |
token side effects |
SPL Token / Token-2022 inner instructions | transversal | decoded-only actuellement | Ne pas promouvoir comme AMM v4 direct. |
unknown/unmapped audit |
residual raydium_amm_v4.instruction_audit |
vide | decoded-only si futur inconnu | Tout residual doit être expliqué avant promotion. |
0.7.52 — raydium_stable_swap
Status: closed on local corpus.
| entry | discriminator | family | expected target | local event kind | status |
|---|---|---|---|---|---|
initialize |
00 |
pool_create |
k_sol_pool_lifecycle_events |
raydium_stable_swap.initialize |
observed/materialized when context complete |
init_model_data |
01 |
model_setup |
decoded-only | raydium_stable_swap.init_model_data |
observed decoded-only / explained |
update_model_data |
02 |
admin_config |
k_sol_pool_admin_events |
raydium_stable_swap.update_model_data |
observed/materialized |
deposit |
03 |
liquidity_add |
k_sol_liquidity_events |
raydium_stable_swap.deposit |
observed/materialized |
withdraw |
04 |
liquidity_remove |
k_sol_liquidity_events |
raydium_stable_swap.withdraw |
observed/materialized |
monitor_step |
05 |
order_place |
k_sol_orderbook_events |
raydium_stable_swap.monitor_step |
observed/materialized |
set_params |
06 |
admin_config |
k_sol_pool_admin_events |
raydium_stable_swap.set_params |
observed/materialized |
withdraw_pnl |
07 |
fee |
k_sol_fee_events |
raydium_stable_swap.withdraw_pnl |
observed/materialized |
withdraw_srm |
08 |
fee |
k_sol_fee_events |
raydium_stable_swap.withdraw_srm |
observed/materialized when context complete |
swap_base_in |
09 |
swap |
k_sol_trade_events from vault deltas only |
raydium_stable_swap.swap_base_in |
success/vault-delta materialized; failed decoded-only |
pre_initialize |
0a |
pool_create |
lifecycle or decoded-only | raydium_stable_swap.pre_initialize |
observed decoded-only / explained in current corpus |
swap_base_out |
0b |
swap |
k_sol_trade_events from vault deltas only |
raydium_stable_swap.swap_base_out |
success/vault-delta materialized; failed decoded-only |
simulate_info |
0c |
cpi_transport |
decoded-only | raydium_stable_swap.simulate_info |
observed decoded-only / explained |
admin_cancel_orders |
0d |
orderbook_admin |
k_sol_orderbook_events |
raydium_stable_swap.admin_cancel_orders |
observed/materialized when context complete |
swap_event |
40c6cde8260871e2 |
cpi_transport |
decoded-only | raydium_stable_swap.swap_event |
upstream mapped; not observed locally |
Stable Swap swaps are not materialized from instruction min/max bounds. swap_base_in/out require amountSource=stable_swap_vault_balance_delta; stable_swap_instruction_bounds_only remains decoded-only and, in the final corpus, appears only on failed transactions.
0.7.54 — pump_fun closed
Program id unique : 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P.
Source locale prioritaire : idls/pump_fun.6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P.json.
Replay final rapporté : 1679 replayed, 89 trades, 10 lifecycle, 348 candle upserts, catalogue 52 tokens / 50 pools / 50 pairs.
| Entry / groupe | Discriminator | Family | Expected DB target | Local event kind cible | Status final |
|---|---|---|---|---|---|
create / create_v2 / create_event |
181ec828051c0777 / d6904cec5f8b31b4 / 1b72a94ddeeb6376 |
launch |
k_sol_launch_events ou decoded-only |
pump_fun.create* |
couvert ; launch matérialisé quand mint/bonding/creator sont fiables |
migrate / migrate_v2 / migration events |
9beae792ec9ea21e / bbcb121fceedfe29 / voir IDL |
migration |
k_sol_launch_events ou decoded-only |
pump_fun.migrate* |
couvert ; migration matérialisée quand contexte fiable |
buy / sell |
66063d1201daebea / 33e685a4017f83ad |
swap |
k_sol_trade_events |
pump_fun.buy / pump_fun.sell |
matérialisés directement avec montants fiables : 17 buy, 25 sell |
buy_exact_sol_in |
38fc74089edfcd5f |
swap |
k_sol_trade_events |
pump_fun.buy_exact_sol_in |
matérialisé directement ; 15 trades, y compris logs Program data tronqués exploitables |
buy_v2 / sell_v2 / buy_exact_quote_in_v2 |
b817ee6167c5d33d / 5df6823ce7e940b2 / c2ab1c46684d5b2f |
swap |
audit/routing + trade_event canonique |
pump_fun.*_v2 |
decoded/covered, non matérialisés directement ; les montants exécutés sont matérialisés via pump_fun.trade_event |
trade_event |
bddb7fd34ee661ee |
swap |
k_sol_trade_events |
pump_fun.trade_event |
72 decoded / 25 trades ; source canonique des v2/exact quand corrélée ; skip explicite si couvert par trade direct |
collect_creator_fee* / distribute_creator_fees* |
voir IDL | fee |
k_sol_fee_events ou decoded-only |
pump_fun.collect_creator_fee*, pump_fun.distribute_creator_fees* |
couvert ; matérialisation fee seulement avec montant/acteur fiables |
claim_cashback* / claim_token_incentives / volume accumulators |
voir IDL | reward |
k_sol_reward_events ou decoded-only |
pump_fun.claim_*, volume accumulator events |
couvert ; rewards matérialisées seulement si preuve suffisante |
| creator/admin/config group | voir IDL | admin_config |
k_sol_pool_admin_events ou decoded-only |
pump_fun.admin_*, pump_fun.set_*, pump_fun.toggle_*, quote/buyback/reserve entries |
couvert ; promotion seulement si action/comptes exploitables |
Invariants de fermeture 0.7.54
- Aucun
pump_funlocal decoded event sans coverage. - Aucun fallback
upstream_gitrésiduel pour les entrées Pump.fun couvertes localement. - Aucun business event matérialisé depuis transaction failed.
- Aucun non-swap Pump.fun matérialisé en trade/candle.
- Aucun double-count entre instruction trade directe et
trade_eventAnchor. - Aucun trade candidate Pump.fun réussi sans matérialisation ni skip reason.
- Les entrées IDL-only sont couvertes localement ; les non observées restent
mapped_unverifiedou audit-only, pas des gaps bloquants.
0.7.53 — pump_swap
Program id unique : pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA.
| Entry | Discriminator | Family | Expected DB target | Local event kind | Status |
|---|---|---|---|---|---|
buy |
66063d1201daebea |
swap |
k_sol_trade_events |
pump_swap.buy |
local specialized decoder ; materialize only from exact transfer/vault deltas |
sell |
33e685a4017f83ad |
swap |
k_sol_trade_events |
pump_swap.sell |
local specialized decoder ; materialize only from exact transfer/vault deltas |
buy_exact_quote_in |
c62e1552b4d9e870 |
swap |
k_sol_trade_events only when exact Anchor BuyEvent is present ; otherwise decoded-only |
pump_swap.buy_exact_quote_in |
local specialized decoder ; amountSource=pump_swap_anchor_buy_event materializes trades ; instruction_bounds_only rows keep explicit skipTradeReason |
create_pool |
e992d18ecf6840bc |
pool_create |
k_sol_pool_lifecycle_events or decoded-only |
pump_swap.create_pool |
local specialized instruction ; non-trade |
deposit |
f223c68952e1f2b6 |
liquidity_add |
k_sol_liquidity_events or decoded-only |
pump_swap.deposit |
local specialized instruction ; non-trade |
withdraw |
b712469c946da122 |
liquidity_remove |
k_sol_liquidity_events or decoded-only |
pump_swap.withdraw |
local specialized instruction ; non-trade |
collect_coin_creator_fee |
a039592ab58b2b42 |
fee |
k_sol_fee_events or decoded-only |
pump_swap.collect_coin_creator_fee |
local specialized instruction ; non-trade |
transfer_creator_fees_to_pump |
8b348655e4e56cf1 |
fee |
k_sol_fee_events or decoded-only |
pump_swap.transfer_creator_fees_to_pump |
local specialized instruction ; non-trade |
transfer_creator_fees_to_pump_v2 |
01214eb921432c5c |
fee |
k_sol_fee_events or decoded-only |
pump_swap.transfer_creator_fees_to_pump_v2 |
Solscan IDL proof + local log proof: transfer_creator_fees_to_pump_v2 / Instruction: TransferCreatorFeesToPumpV2 ; non-trade |
claim_cashback |
253a237ebe35e4c5 |
reward |
k_sol_reward_events or decoded-only |
pump_swap.claim_cashback |
local specialized instruction ; non-trade |
claim_token_incentives |
1004471ccc01281b |
reward |
k_sol_reward_events or decoded-only |
pump_swap.claim_token_incentives |
local specialized instruction ; non-trade |
init_user_volume_accumulator |
5e06ca73ff60e8b7 |
reward |
k_sol_reward_events or decoded-only |
pump_swap.init_user_volume_accumulator |
local specialized instruction ; non-trade |
sync_user_volume_accumulator |
561fc057a3574fee |
reward |
k_sol_reward_events or decoded-only |
pump_swap.sync_user_volume_accumulator |
local specialized instruction ; non-trade |
close_user_volume_accumulator |
f945a4da9667548a |
reward |
k_sol_reward_events or decoded-only |
pump_swap.close_user_volume_accumulator |
local specialized instruction ; non-trade |
update_buyback_config |
fbe0ab92a01a71e9 |
admin_config |
k_sol_pool_admin_events or decoded-only |
pump_swap.update_buyback_config |
Solscan IDL proof + local log proof: update_buyback_config / Instruction: UpdateBuybackConfig ; non-trade |
set_reserved_fee_recipient |
cfbdb247a77a44b4 |
admin_config |
k_sol_pool_admin_events or decoded-only |
pump_swap.set_reserved_fee_recipient |
local log proof only: Instruction: SetReservedFeeRecipient ; absent from checked Solscan IDL raw ; non-trade |
| admin/config group | see report | admin_config |
k_sol_pool_admin_events or decoded-only |
pump_swap.* |
local specialized instruction ; non-trade ; includes toggle_cashback_enabled and migrate_pool_coin_creator as admin-only |
buy_event / sell_event |
67f4521f2cf57777 / 3e2f370aa503dc2a |
swap_event_audit |
decoded-only | not local-instruction mapped | Program-data event discriminators listed; not used to duplicate local instruction trades |
| auxiliary Program-data events | see report | fee/reward/admin/liquidity | decoded-only until payload-specific materializer exists | not local-instruction mapped | explicit upstream status required after replay |
Fermeture 0.7.53
pump_swapne présente plus de decoded event local sans coverage dans le corpus de clôture.buy_exact_quote_inest matérialisé seulement quand leBuyEventAnchor donne les montants exacts ; les bornes d’instruction seules restent non actionnables.- Les events Anchor
*_eventsont décodés en audit-only pour éviter les doublons, sauf exception matérialisable explicitement testée. - Les gaps globaux restants sont classés comme backlog upstream (
pump_fun, puispump_fees,jupiter_swap, agrégateurs), gaps Meteora reportés, ou observations non attribuées. - Les checks Raydium AMM v4 / CLMM / CPMM normalisés sont vides ; aucune correction Raydium n’est incluse dans cette clôture.