{"record":{"id":"856656c4c37f2460","repo":"nautechsystems/nautilus_trader","slug":"hypersync-parsing-of-mint-event-is-not-defined-in","errorCode":null,"errorMessage":"HyperSync parsing of mint event is not defined in this dex: {}:{}","messagePattern":"HyperSync parsing of mint event is not defined in this dex: (.+?):(.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/adapters/blockchain/src/exchanges/extended.rs","lineNumber":310,"sourceCode":"        } else {\n            anyhow::bail!(\n                \"HyperSync parsing of swap event is not defined in this dex: {}:{}\",\n                self.dex.chain,\n                self.dex.name\n            )\n        }\n    }\n\n    /// Parses a mint event from a HyperSync log.\n    ///\n    /// # Errors\n    ///\n    /// Returns an error if the DEX does not have a HyperSync mint event parser defined or if parsing fails.\n    pub fn parse_mint_event_hypersync(&self, log: &HypersyncLog) -> anyhow::Result<MintEvent> {\n        if let Some(parse_fn) = &self.parse_mint_event_hypersync_fn {\n            parse_fn(self.dex.clone(), log)\n        } else {\n            anyhow::bail!(\n                \"HyperSync parsing of mint event is not defined in this dex: {}:{}\",\n                self.dex.chain,\n                self.dex.name\n            )\n        }\n    }\n\n    /// Parses a burn event from a HyperSync log.\n    ///\n    /// # Errors\n    ///\n    /// Returns an error if the DEX does not have a HyperSync burn event parser defined or if parsing fails.\n    pub fn parse_burn_event_hypersync(&self, log: &HypersyncLog) -> anyhow::Result<BurnEvent> {\n        if let Some(parse_fn) = &self.parse_burn_event_hypersync_fn {\n            parse_fn(self.dex.clone(), log)\n        } else {\n            anyhow::bail!(\n                \"HyperSync parsing of burn event is not defined in this dex: {}:{}\",","sourceCodeStart":292,"sourceCodeEnd":328,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/blockchain/src/exchanges/extended.rs#L292-L328","documentation":"DexExtended::parse_mint_event_hypersync dispatches to the per-DEX HyperSync mint parser (parse_mint_event_hypersync_fn) and bails when no mint parser was defined for this DEX. Mint (liquidity-added) events cannot be interpreted via HyperSync for that DEX.","triggerScenarios":"Calling parse_mint_event_hypersync (e.g. from send_dex_event_log while processing HyperSync logs) for a DEX constructed without a mint parser function.","commonSituations":"HyperSync subscription includes mint topics for DEXes lacking a HyperSync mint parser; adapter wiring omitted the mint parser; a generic log dispatcher calls all event parsers without checking per-DEX support.","solutions":["Skip mint logs for DEXes without a HyperSync mint parser instead of erroring","Register the mint parser in the DEX adapter constructor if HyperSync mint support is intended","Limit HyperSync topic subscriptions to supported events per DEX","Use RPC log subscription for DEXes without HyperSync mint parsing"],"exampleFix":"// before\nlet mint = dex.parse_mint_event_hypersync(&log)?;\n// after\nif let Some(parse) = dex.mint_event_hypersync_parser() {\n    let mint = parse(dex.dex.clone(), &log)?;\n} else {\n    tracing::debug!(\"mint hypersync parsing unsupported for {}\", dex.dex.name);\n}","handlingStrategy":"try-catch","validationCode":"if dex.parse_mint_event_hypersync_fn.is_none() {\n    tracing::debug!(\"no hypersync mint parser for {}\", dex.dex.name);\n    return Ok(()); // skip log\n}","typeGuard":"fn has_hypersync_mint_parser(dex: &DexExtended) -> bool {\n    dex.parse_mint_event_hypersync_fn.is_some()\n}","tryCatchPattern":"match dex.parse_mint_event_hypersync(&log) {\n    Ok(mint) => handle_mint(mint),\n    Err(e) if e.to_string().contains(\"not defined in this dex\") => {\n        tracing::debug!(\"mint parsing unsupported for {}\", dex.dex.name);\n    }\n    Err(e) => return Err(e),\n}","preventionTips":["Subscribe only to mint topics for DEXes with HyperSync mint parsers","Check capability in send_dex_event_log before dispatching","Wire the mint parser in all adapters intended for HyperSync sync"],"tags":["blockchain","hypersync","dex","mint","unsupported-operation"],"backgroundTag":"method-not-implemented","analyzedSha":"18893faf8b356be3320add8de2f861b0b647cf06","analyzedAt":"2026-09-08T20:49:34.690Z","contentChangedAt":"2026-09-08T20:49:34.690Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}