{"record":{"id":"49064f2fd091677f","repo":"nautechsystems/nautilus_trader","slug":"unsupported-lighter-candle-aggregation-other","errorCode":null,"errorMessage":"unsupported Lighter candle aggregation: {other}","messagePattern":"unsupported Lighter candle aggregation: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/adapters/lighter/src/common/enums.rs","lineNumber":284,"sourceCode":"                15 => Ok(Self::FifteenMinute),\n                30 => Ok(Self::ThirtyMinute),\n                _ => anyhow::bail!(\"unsupported Lighter candle minute step: {step}\"),\n            },\n            BarAggregation::Hour => match step {\n                1 => Ok(Self::OneHour),\n                4 => Ok(Self::FourHour),\n                12 => Ok(Self::TwelveHour),\n                _ => anyhow::bail!(\"unsupported Lighter candle hour step: {step}\"),\n            },\n            BarAggregation::Day => match step {\n                1 => Ok(Self::OneDay),\n                _ => anyhow::bail!(\"unsupported Lighter candle day step: {step}\"),\n            },\n            BarAggregation::Week => match step {\n                1 => Ok(Self::OneWeek),\n                _ => anyhow::bail!(\"unsupported Lighter candle week step: {step}\"),\n            },\n            other => anyhow::bail!(\"unsupported Lighter candle aggregation: {other}\"),\n        }\n    }\n}\n\n/// Lighter historical funding resolution.\n#[derive(\n    Copy,\n    Clone,\n    Debug,\n    Default,\n    Display,\n    PartialEq,\n    Eq,\n    Hash,\n    AsRefStr,\n    EnumIter,\n    EnumString,\n    Serialize,","sourceCodeStart":266,"sourceCodeEnd":302,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/lighter/src/common/enums.rs#L266-L302","documentation":"Catch-all arm of the LighterCandleInterval try_from conversion: any BarAggregation other than Minute, Hour, Day, or Week (e.g. Second, Tick, Volume) has no Lighter candle counterpart and is rejected with this message. Lighter's candle API is time-bar only with the listed intervals.","triggerScenarios":"Calling try_from with aggregation=Second (e.g. Second/step 15), Tick, Volume, or Dollar aggregation for a Lighter bar subscription or historical bar request.","commonSituations":"Porting strategies built on tick or volume bars from other venues to Lighter; generic configs with SECOND-15 bars; assuming the adapter synthesizes non-time bars.","solutions":["Switch to a time-based aggregation: Minute, Hour, Day, or Week with a supported step.","For sub-minute bars, note Lighter does not offer second candles; use trades/quotes and build bars client-side.","For tick/volume bars, subscribe to the trade stream and aggregate locally.","Check the aggregation before calling the adapter's bar APIs."],"exampleFix":"// before\nBarSpec { aggregation: BarAggregation::Second, step: 15, .. }\n// after\nBarSpec { aggregation: BarAggregation::Minute, step: 1, .. }","handlingStrategy":"validation","validationCode":"const SUPPORTED: [BarAggregation; 4] = [BarAggregation::Minute, BarAggregation::Hour, BarAggregation::Day, BarAggregation::Week];\nassert!(SUPPORTED.contains(&bar_spec.aggregation), \"Lighter candles require Minute/Hour/Day/Week aggregation\");","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Restrict bar configs for Lighter to time-based aggregations.","Build tick/volume/second bars client-side from the trade stream if needed."],"tags":["rust","adapter","bar-aggregation","configuration"],"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-14T00:17:10.932Z"}