This commit is contained in:
2026-06-01 19:05:46 +02:00
parent abb810d544
commit 27e25d5bf4
59 changed files with 5727 additions and 1706 deletions

View File

@@ -280,7 +280,7 @@ mod tests {
for (entry_name, discriminator_hex) in expected {
let mut found = false;
for entry in all_entries.as_slice() {
if entry.decoder_code == "openbook-v2"
if entry.decoder_code == "openbook_v2"
&& entry.program_id.as_deref() == Some(crate::OPENBOOK_V2_PROGRAM_ID)
&& entry.entry_kind == crate::ENTRY_KIND_INSTRUCTION
&& entry.entry_name == entry_name
@@ -312,7 +312,7 @@ mod tests {
Some(matched) => matched,
None => panic!("OpenBook v2 place_take_order discriminator must match"),
};
assert_eq!(matched.decoder_code, "openbook-v2".to_string());
assert_eq!(matched.decoder_code, "openbook_v2".to_string());
assert_eq!(matched.entry_name, "place_take_order".to_string());
assert_eq!(matched.discriminator_hex, Some("032c47031ac7cb55".to_string()));
}
@@ -320,65 +320,65 @@ mod tests {
#[test]
fn registry_contains_priority_family_program_seeds() {
let expected_codes = [
"meteora-damm-v2",
"meteora-dbc",
"meteora-dlmm",
"meteora-vault",
"raydium-amm-v4",
"raydium-clmm",
"raydium-cpmm",
"raydium-launchpad",
"raydium-liquidity-locking",
"raydium-stable-swap",
"orca-whirlpool",
"meteora_damm_v2",
"meteora_dbc",
"meteora_dlmm",
"meteora_vault",
"raydium_amm_v4",
"raydium_clmm",
"raydium_cpmm",
"raydium_launchlab",
"raydium_liquidity_locking",
"raydium_stable_swap",
"orca_whirlpools",
"fluxbeam",
"lifinity-amm-v2",
"phoenix-v1",
"openbook-v2",
"stabble-stable-swap",
"stabble-weighted-swap",
"lifinity_v2",
"phoenix_v1",
"openbook_v2",
"stabble_stable_swap",
"stabble_weighted_swap",
"bonkswap",
"boop",
"boop_fun",
"moonshot",
"heaven",
"okx-dex",
"pancake-swap",
"okx_dex",
"pancake_swap",
"vertigo",
"virtuals",
"wavebreak",
"onchain-labs-dex-v1",
"onchain-labs-dex-v2",
"jupiter-swap",
"jupiter-dca",
"jupiter-limit-order",
"jupiter-limit-order-2",
"jupiter-perpetuals",
"jupiter-lend",
"kamino-lending",
"kamino-vault",
"kamino-farms",
"kamino-limit-order",
"drift-v2",
"marginfi-v2",
"dflow-aggregator-v4",
"onchain_labs_dex_v1",
"onchain_labs_dex_v2",
"jupiter_swap",
"jupiter_dca",
"jupiter_limit_order",
"jupiter_limit_order_2",
"jupiter_perpetuals",
"jupiter_lend",
"kamino_lending",
"kamino_vault",
"kamino_farms",
"kamino_limit_order",
"drift_v2",
"marginfi_v2",
"dflow_aggregator_v4",
"zeta",
"system-program",
"token-program",
"token-2022",
"associated-token-account",
"address-lookup-table",
"memo-program",
"stake-program",
"mpl-token-metadata",
"mpl-core",
"system_program",
"token_program",
"token_2022",
"associated_token_account",
"address_lookup_table",
"memo_program",
"stake_program",
"mpl_token_metadata",
"mpl_core",
"bubblegum",
"name-service",
"marinade-finance",
"solayer-restaking-program",
"name_service",
"marinade_finance",
"solayer_restaking_program",
"swig",
"sharky",
"circle-message-transmitter-v2",
"circle-token-messenger-v2",
"circle_message_transmitter_v2",
"circle_token_messenger_v2",
];
let all_entries = crate::upstream_registry_match::upstream_registry_all_entries();
for expected_code in expected_codes {
@@ -527,7 +527,7 @@ mod tests {
for expected_entry in expected_entries {
let mut found = false;
for entry in all_entries.as_slice() {
if entry.decoder_code == "meteora-damm-v2"
if entry.decoder_code == "meteora_damm_v2"
&& entry.entry_kind == crate::ENTRY_KIND_INSTRUCTION
&& entry.entry_name == expected_entry.0
&& entry.discriminator_hex.as_deref() == Some(expected_entry.1)
@@ -555,7 +555,7 @@ mod tests {
for expected_entry in expected_entries {
let mut found = false;
for entry in all_entries.as_slice() {
if entry.decoder_code == "meteora-damm-v2"
if entry.decoder_code == "meteora_damm_v2"
&& entry.entry_kind == crate::ENTRY_KIND_EVENT
&& entry.entry_name == expected_entry.0
&& entry.discriminator_hex.as_deref() == Some(expected_entry.1)
@@ -581,9 +581,9 @@ mod tests {
);
let matched = match matched {
Some(matched) => matched,
None => panic!("missing meteora-damm-v2 add_liquidity registry match"),
None => panic!("missing meteora_damm_v2 add_liquidity registry match"),
};
assert_eq!(matched.decoder_code, "meteora-damm-v2");
assert_eq!(matched.decoder_code, "meteora_damm_v2");
assert_eq!(matched.entry_name, "add_liquidity");
assert_eq!(matched.discriminator_hex.as_deref(), Some("b59d59438fb63448"));
assert_eq!(matched.proof_status, crate::PROOF_STATUS_UPSTREAM_GIT_UNVERIFIED);
@@ -599,9 +599,9 @@ mod tests {
);
let matched = match matched {
Some(matched) => matched,
None => panic!("missing phoenix-v1 swap registry match"),
None => panic!("missing phoenix_v1 swap registry match"),
};
assert_eq!(matched.decoder_code, "phoenix-v1");
assert_eq!(matched.decoder_code, "phoenix_v1");
assert_eq!(matched.entry_name, "swap");
assert_eq!(matched.discriminator_hex.as_deref(), Some("00"));
assert_eq!(matched.discriminator_len, Some(1));
@@ -621,7 +621,7 @@ mod tests {
let result = crate::upstream_registry_match::upstream_registry_search(&request);
assert!(result.entries.len() >= 2);
for entry in result.entries.as_slice() {
assert_eq!(entry.decoder_code, "raydium-cpmm");
assert_eq!(entry.decoder_code, "raydium_cpmm");
}
}