3.0 KiB
Raydium CPMM upstream coverage review — 0.7.49-pre.22
Scope
Compared local raydium_cpmm coverage against the currently referenced upstream surfaces:
- Solscan program IDL for
CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C. sevenlabs-hq/carbonraydium-cpmm-decoder.0xfnzero/sol-parser-sdkidl/raydium_cpmm.json.pinax-network/substreams-solana-idlssrc/raydium/cpmm.- Raydium official
raydium-cp-swapsource.
Local CPMM coverage entries
Local registry currently lists 16 raydium_cpmm entries:
Instructions
close_permission_pda—9c5420764587467bcollect_creator_fee—1416567bc61cdb84collect_fund_fee—a78a4e95dfc2067ecollect_protocol_fee—8888fcddc2427e59create_amm_config—8934edd4d7756c68create_permission_pda—878802d889a9b5cadeposit—f223c68952e1f2b6initialize—afaf6d1f0d989bedinitialize_with_permission—3f37fe4131b25979swap_base_input—8fbe5adac41e33deswap_base_output—37d96256a34ab4adupdate_amm_config—313cae889a1c74c8update_pool_status—82576c062ee0757bwithdraw—b712469c946da122
Anchor / Program-data events
lp_change_event—79a3cdc939da753cswap_event—40c6cde8260871e2
Upstream comparison
Carbon raydium-cpmm-decoder exposes the same 14 instruction modules and the two event-like discriminator entries, lp_change_event and swap_event.
sol-parser-sdk idl/raydium_cpmm.json exposes the core CPMM instruction set (createAmmConfig, updateAmmConfig, updatePoolStatus, collectProtocolFee, collectFundFee, initialize, deposit, withdraw, swapBaseInput, swapBaseOutput) and IDL events LpChangeEvent and SwapEvent. The local registry also includes the permission and creator-fee entries present in Carbon / Raydium source.
The official Raydium raydium-cp-swap source lists the CPMM program ID and the main program instructions including admin/config, fee collection, permission PDA, initialize, initialize with permission, deposit, withdraw, swap base input, and swap base output.
Finding
No missing CPMM instruction/event discriminator was identified relative to the reviewed Carbon / Raydium / fnzero / Pinax surfaces available during this check.
Current local caveat
CPMM remains covered by the earlier 0.7.48 tranche. The useful final validation remains DB-side:
SELECT
entry_name,
entry_kind,
event_family,
expected_db_target,
proof_status,
local_event_kind,
discriminator_hex,
observed_count,
materialized_count,
trade_count
FROM k_sol_dex_event_coverage_entries
WHERE decoder_code = 'raydium_cpmm'
ORDER BY entry_kind, entry_name, discriminator_hex;
Any future upstream addition should appear as a new entry in Carbon/Solscan/IDL and should be added to upstream_registry_generated.rs, known_local_event_kind only after local decoder support exists, and then validated with local corpus evidence.