Files
khadhroony-bobobot/docs/reports/PUMP_FEES_EVENT_COVERAGE_REPORT.md
2026-06-16 06:57:32 +02:00

6.4 KiB

Pump Fees event coverage report — 0.7.55 final

Portée

Programme cible : pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ.

Source locale prioritaire : idls/pump_fees.pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ.json.

L'IDL locale couvre 29 instructions, 20 events Anchor, 9 accounts et 34 types. La tranche ajoute un decoder local maximal pump_fees depuis l'IDL locale, le registre Carbon partiel et les discriminators observés via Solscan/corpus.

Décisions métier

  • pump_fees est traité comme programme fee/config/accounting.
  • Aucun k_sol_trade_events ni candle ne doit être créé pour pump_fees sans preuve transactionnelle stricte d'un swap autonome.
  • get_fees reste decoded-only : il décrit un calcul/preview de fees, pas un paiement réalisé.
  • Les claims social fee alimentent k_sol_reward_events seulement si transaction OK et montant/acteur/mint exploitables.
  • Les flux donation/buyback alimentent k_sol_fee_events seulement si transaction OK et montant fiable.
  • Les créations/configurations/autorités/tiers alimentent k_sol_pool_lifecycle_events ou k_sol_pool_admin_events selon classification.
  • Les transactions failed restent decoded-only/audit-only.

Résultat build/test

cargo test -p kb_lib -> 431 passed / 0 failed
cargo clippy -p kb_lib --all-targets -- -D warnings -> OK

Replay final rapporté

127 replayed
0 decode skipped
150 ledger upserts
125 unsafe ledger rows
4 trades
0 liquidity
115 lifecycle
0 tokenAccount
16 candle upserts
instructionObservations = 2234
resetDeleted = 1644
catalog = 11 tokens / 10 pools / 10 pairs

Les 4 trades et 16 candle upserts du replay proviennent d'autres surfaces du corpus local ; le contrôle anti-trade pump_fees est vide.

Coverage local

Instructions observées et couvertes

Instruction Discriminator Observation principale Matérialisation
sweep_buyback 8a21cc26cfa19fe2 96 k_sol_fee_events
create_fee_sharing_config c34e564c6f34fbd5 42 observations / 36 decoded k_sol_pool_lifecycle_events
update_fee_shares bd0d8863bba4ed23 26 observations / 16 decoded k_sol_pool_admin_events
claim_social_fee_pda_v2 114df0863abc3595 25 k_sol_reward_events
update_fee_shares_v2 6ffb31064e4e6a12 19 k_sol_pool_admin_events
claim_social_fee_pda e115fb85a11ec7e2 15 observations / 10 decoded k_sol_reward_events
crank_donation_fee_pda dc0abda7a9111945 14 k_sol_fee_events
get_fees e7257e55cf5b3f34 13 observations / 5 decoded decoded-only
transfer_fee_sharing_authority ca0a4bc8a422d260 12 k_sol_pool_admin_events
initialize_fee_program_global 23d78254e9387ca7 1 k_sol_pool_lifecycle_events

Le discriminator e445a52e51cb9a1d est classé comme pump_fees.anchor_self_cpi_log transport Anchor self-CPI : 271 observations / 119 tx.

Instructions IDL non observées mais programmées

Ces entrées n'ont pas de signature Solscan/corpus au moment de la clôture, mais restent décodables si des transactions futures apparaissent :

Instruction Discriminator Classification Target prévu
reset_fee_sharing_config_v2 a9f511d15e5bf880 admin_config k_sol_pool_admin_events
set_authority 85fa25156ea31a79 admin_config k_sol_pool_admin_events
set_claim_rate_limit b9d39faed4315804 audit decoded-only
set_disable_flags c2d9702372de33be admin_config k_sol_pool_admin_events
set_social_claim_authority 9336b89a88edb999 admin_config k_sol_pool_admin_events

Anchor events IDL non observés mais testés synthétiquement

Event Anchor Discriminator Statut
SetAuthorityEvent 12af8442d0c957f2 decoder + test synthétique
SetClaimRateLimitEvent 0d8f8febb5133328 decoder + test synthétique
SetDisableFlagsEvent 0508b3413137917e decoder + test synthétique
SetSocialClaimAuthorityEvent 3c767f84ef34fe0e decoder + test synthétique

Discriminators Solscan hors IDL locale

Ces discriminators ont été trouvés par filtres Solscan, mais ne sont pas observés dans le corpus local final et ne sont pas dans l'IDL locale fournie. Ils restent conservés en coverage comme surfaces futures :

Event Discriminator Statut
revoke_fee_sharing_authority_event 7217653c0ebe993e upstream_git_mapped_unverified
transfer_fee_sharing_authority_event 7c8fc6f54db808ec upstream_git_mapped_unverified

Écarts observed/materialized

Les écarts observed_count > materialized_count sont expliqués par des transactions failed ou par une politique decoded-only. La requête 09b documente notamment :

Entrée Observed Materialized Explication
get_fees 5 0 decoded-only volontaire
claim_social_fee_pda_v2 25 21 4 failed decoded
create_fee_sharing_config 36 33 3 failed decoded
initialize_fee_config 5 2 3 failed decoded
social_fee_pda_claimed 17 15 2 failed decoded
crank_donation_fee_pda 14 12 2 failed decoded
update_fee_shares_v2 19 17 2 failed decoded
revoke_fee_sharing_authority 6 5 1 failed decoded

La requête 06 confirme qu'il n'existe aucun successful non-materialized sans skip/policy explicite.

Checks de fermeture

SQL dédié : validation_sql/SQL_VALIDATION_PUMP_FEES_0_7_55.sql.

Résultats de fermeture rapportés :

  • fallback upstream_git pump_fees : vide ;
  • instruction_name pump_fees vide : vide ;
  • event_family = unknown ou vide pour instruction/event : vide ;
  • decoded pump_fees sans coverage : vide ;
  • fallback résiduel pour entrées couvertes localement : vide ;
  • successful non-materialized sans skip/policy : vide ;
  • failed transaction avec business materialization : vide ;
  • multi-target materialization : vide ;
  • anti-trade/candle direct pump_fees : vide ;
  • watchlist globale : plus aucun pump_fees, reste seulement jupiter_swap.route_v2 comme backlog ponctuel.

Statut final

0.7.55 pump_fees est clôturé techniquement. Ne pas rouvrir pump_fees, pump_fun, pump_swap ou Raydium sans bug prouvé par SQL/code ou apparition d'un nouveau discriminant/corpus externe exploitable.