pub struct LegRecord {Show 17 fields
pub original_signature: String,
pub input_mint: Address,
pub output_mint: Address,
pub amount: u64,
pub swap_mode: SwapMode,
pub failed: bool,
pub original_failed: bool,
pub realized_output_amount: Option<u64>,
pub original_realized_output_amount: Option<u64>,
pub route_plan: Option<RoutePlan>,
pub original_route_plan: Option<RoutePlan>,
pub realized_route_plan: Option<RoutePlan>,
pub template: Option<String>,
pub quoted_output_amount: Option<u64>,
pub new_output_amount: Option<u64>,
pub error_category: Option<String>,
pub output_bps: Option<i64>,
}Expand description
One re-quoted swap. The three plans share one shape (RoutePlan); a side that was not
recorded is None, never an empty plan.
Fields§
§original_signature: String§input_mint: Address§output_mint: Address§amount: u64In the input token for ExactIn, the output token for ExactOut.
swap_mode: SwapMode§failed: boolThe replacement never landed — a reverted simulation or a not-ok execution. Neither report column counts it as flow, but pricing still reads the original’s side.
original_failed: boolThe original failed on L1, so its route events are not flow any venue served.
realized_output_amount: Option<u64>What the replacement actually produced; None when unattributable.
original_realized_output_amount: Option<u64>What the historical original produced. None when it cannot be attributed to this
record alone — a multi-swap transaction’s total is nobody’s single leg.
route_plan: Option<RoutePlan>The route the replacement was quoted over.
original_route_plan: Option<RoutePlan>The route the original actually took on L1.
realized_route_plan: Option<RoutePlan>What the replacement’s own simulation moved, hop by hop — the fill to compare
original_route_plan against.
template: Option<String>The replacement’s identity: new_route for a metis row, the template label for a probe.
quoted_output_amount: Option<u64>The original side, in the measured mint (output for ExactIn, input charged for ExactOut): as quoted on metis and stream rows, or what the original filled against the same state as the probe on probe rows.
new_output_amount: Option<u64>What the replacement itself produced at its own simulation, in the measured mint.
error_category: Option<String>Why an unfilled probe did not fill — reverted_*, unattributed (ran clean, but the
seeded account was gone or unreadable), unsimulatable (could not be compiled or run) —
or the requote failure bucket on metis rows.
output_bps: Option<i64>The recorded output_bps column, clamped by the writer. The historical fill itself is
not persisted, so this cannot be recomputed downstream.