{"record":{"id":"8d919eb327d238ee","repo":"nautechsystems/nautilus_trader","slug":"unsupported-sbe-execution-type-et","errorCode":null,"errorMessage":"Unsupported SBE execution type: {et}","messagePattern":"Unsupported SBE execution type: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"crates/adapters/binance/src/spot/websocket/trading/decode_sbe.rs","lineNumber":403,"sourceCode":"        delta: mantissa_to_decimal_string(free_qty_delta, qty_exponent),\n        clear_time: us_to_ms(clear_time_us),\n    })\n}\n\nfn map_execution_type(\n    et: execution_type::ExecutionType,\n) -> anyhow::Result<BinanceSpotExecutionType> {\n    match et {\n        execution_type::ExecutionType::New => Ok(BinanceSpotExecutionType::New),\n        execution_type::ExecutionType::Canceled => Ok(BinanceSpotExecutionType::Canceled),\n        execution_type::ExecutionType::Replaced => Ok(BinanceSpotExecutionType::Replaced),\n        execution_type::ExecutionType::Rejected => Ok(BinanceSpotExecutionType::Rejected),\n        execution_type::ExecutionType::Trade => Ok(BinanceSpotExecutionType::Trade),\n        execution_type::ExecutionType::Expired => Ok(BinanceSpotExecutionType::Expired),\n        execution_type::ExecutionType::TradePrevention => {\n            Ok(BinanceSpotExecutionType::TradePrevention)\n        }\n        _ => anyhow::bail!(\"Unsupported SBE execution type: {et}\"),\n    }\n}\n\nfn map_order_status(os: order_status::OrderStatus) -> BinanceOrderStatus {\n    match os {\n        order_status::OrderStatus::New => BinanceOrderStatus::New,\n        order_status::OrderStatus::PartiallyFilled => BinanceOrderStatus::PartiallyFilled,\n        order_status::OrderStatus::Filled => BinanceOrderStatus::Filled,\n        order_status::OrderStatus::Canceled => BinanceOrderStatus::Canceled,\n        order_status::OrderStatus::PendingCancel => BinanceOrderStatus::PendingCancel,\n        order_status::OrderStatus::Rejected => BinanceOrderStatus::Rejected,\n        order_status::OrderStatus::Expired => BinanceOrderStatus::Expired,\n        order_status::OrderStatus::ExpiredInMatch => BinanceOrderStatus::ExpiredInMatch,\n        _ => BinanceOrderStatus::Unknown,\n    }\n}\n\nfn map_side(side: order_side::OrderSide) -> anyhow::Result<BinanceSide> {","sourceCodeStart":385,"sourceCodeEnd":421,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/binance/src/spot/websocket/trading/decode_sbe.rs#L385-L421","documentation":"map_execution_type converts the decoded SBE execution-type enum into the crate's BinanceSpotExecutionType, and the catch-all arm bails for any variant the adapter does not model. This means Binance's SBE schema contained an execution type (or the null-value/unknown discriminant) that this adapter version does not recognize.","triggerScenarios":"Decoding an execution report whose SBE execution_type is not one of New/Canceled/Rejected/Trade/Expired/TradePrevention, e.g. a newly added variant or the enum's NULL_VALUE sentinel from a zeroed/default field.","commonSituations":"Binance adds a new execution type in a schema update before the adapter regenerates codecs; decoding frames where optional enum fields default to NULL_VALUE; using an outdated adapter against current streams.","solutions":["Update the adapter (or regenerate SBE codecs) to include the new execution-type variant","Log the raw discriminant value to identify the unknown variant","As a caller, treat the error as skip-and-log for that message rather than fatal","Check the Binance changelog for newly introduced execution types"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"match decode_execution_report(&payload) {\n    Err(e) if e.to_string().starts_with(\"Unsupported SBE execution type\") => {\n        log::warn!(\"unknown execution type; skipping message\");\n    }\n    other => other?,\n}","preventionTips":["Keep adapter codecs updated with Binance SBE schema releases","Log raw enum discriminants to detect new variants early","Treat unmapped enums as skip-and-alert, not fatal","Subscribe to Binance API changelog"],"tags":["rust","sbe","enum","forward-compatibility"],"backgroundTag":"unsupported-enum-value","analyzedSha":"18893faf8b356be3320add8de2f861b0b647cf06","analyzedAt":"2026-09-08T20:49:34.690Z","contentChangedAt":"2026-09-08T20:49:34.690Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}