{"record":{"id":"1e279d875190a932","repo":"nautechsystems/nautilus_trader","slug":"invalid-commission-raw-commission-e-1e279d","errorCode":null,"errorMessage":"invalid commission='{raw_commission}': {e}","messagePattern":"invalid commission='(.+?)': (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/adapters/binance/src/futures/websocket/streams/parse_exec.rs","lineNumber":180,"sourceCode":"///\n/// Returns an error if venue commission or fee fallback values cannot be\n/// parsed or converted to `Money`.\npub fn resolve_commission(\n    order: &OrderUpdateData,\n    last_qty: Quantity,\n    last_px: Price,\n    taker_fee: Option<Decimal>,\n    quote_currency: Option<Currency>,\n    bnfcr_currency: Currency,\n) -> anyhow::Result<Money> {\n    if order.commission.is_some() || order.commission_asset.is_some() {\n        let raw_commission = order.commission.as_deref().unwrap_or(\"0\");\n        let amount = parse_required_decimal(raw_commission, \"commission\")?;\n        let currency = order.commission_asset.as_ref().map_or(bnfcr_currency, |a| {\n            normalize_futures_asset(a.as_str(), bnfcr_currency)\n        });\n        Money::from_decimal(amount, currency)\n            .map_err(|e| anyhow::anyhow!(\"invalid commission='{raw_commission}': {e}\"))\n    } else if let Some(fee) = taker_fee {\n        let currency = quote_currency.unwrap_or_else(Currency::USDT);\n        let notional = last_qty\n            .as_decimal()\n            .checked_mul(last_px.as_decimal())\n            .ok_or_else(|| {\n                anyhow::anyhow!(\n                    \"invalid fee notional for last_qty='{last_qty}' and last_px='{last_px}': multiplication overflow\",\n                )\n            })?;\n        let amount = fee.checked_mul(notional).ok_or_else(|| {\n            anyhow::anyhow!(\n                \"invalid fee amount for taker_fee='{fee}' and notional='{notional}': multiplication overflow\"\n            )\n        })?;\n        Money::from_decimal(amount, currency)\n            .map_err(|e| anyhow::anyhow!(\"invalid fee amount='{amount}': {e}\"))\n    } else {","sourceCodeStart":162,"sourceCodeEnd":198,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/a4b06ed870971b5671d12754ea138a3ab99b1dec/crates/adapters/binance/src/futures/websocket/streams/parse_exec.rs#L162-L198","documentation":"Error \"invalid commission='{raw_commission}': {e}\" thrown in nautechsystems/nautilus_trader.","triggerScenarios":"Thrown at crates/adapters/binance/src/futures/websocket/streams/parse_exec.rs:180 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a4b06ed870971b5671d12754ea138a3ab99b1dec","analyzedAt":"2026-08-16T22:54:50.089Z","schemaVersion":2},"datasetVersion":"2026-08-16T23:17:17.608Z"}