pub fn extract_trd_market_from_trade_body(
proto_id: u32,
body: &[u8],
) -> Option<&'static str>Expand description
v1.4.105 D3 (Phase 4) T-B: trade push body decode → trd_market 提取.
4 surface (gRPC / REST WS / raw TCP WS / MCP) 共用同一 helper 而非各自 decode 一次, 避免 mapping 漂移 (与 futu-auth-pipeline::body_aware / futu-rest::trd::trd_market_str 一致, 但本 crate 不能跨 dep 复用所以重复 一份 — 跨 crate mismatch 会被 cross_surface_smoke 抓出).
caller (PushDispatcher) 在分发到 sink 前只 decode 一次, 把字符串塞 PushEventCtx.event_trd_market 让 TradePushFilter Layer 3 用 allowed_markets 校验.
不识别 / decode 失败 / market enum unknown → None (Layer 3 不 trigger).
v1.4.105 ship 时 UNVERIFIED — 真机 verify 跨 market 推送流 (HK + US 双 账户) 后 v1.4.106 升级 confidence (per pitfall #57 backend-semantic risk).