pub struct RerouteStatsReport {Show 18 fields
pub swaps_detected: u64,
pub swaps_filtered: u64,
pub swaps_rerouted: u64,
pub swaps_simulated: u64,
pub swaps_succeeded: u64,
pub requote_failures: u64,
pub override_setup_failures: u64,
pub metis_unavailable_blocks: u64,
pub quote_attempts_unavailable: u64,
pub direct_fill_matched: u64,
pub direct_fill_outcomes: BTreeMap<String, u64>,
pub direct_fill_scored: u64,
pub direct_fill_bps_total: i64,
pub direct_fill_templates: BTreeMap<String, DirectFillTemplateReport>,
pub originals_scored: u64,
pub originals_bps_total: i64,
pub originals_replayed: u64,
pub dataset_uri: Option<String>,
}Expand description
High-level funnel for a reroute-order-flow session: how many detected swaps made it from
re-quoting through simulation to a non-reverting execution, and — for a run carrying a
DirectFillTemplate list — how many hops each template priced. Per-swap
economics and latency land in the reroute tables, published to dataset_uri when set.
Fields§
§swaps_detected: u64Requotable swaps detected in the replayed range, across the admitted aggregators.
swaps_filtered: u64Detected swaps excluded before quoting — an unadmitted aggregator, an arbitrage cycle, a mint
pair the filter does not name. Without it the gap between swaps_detected and
swaps_rerouted reads as routing failures.
swaps_rerouted: u64Swaps re-quoted through metis and queued for simulation.
swaps_simulated: u64Swaps whose routed transaction was simulated.
swaps_succeeded: u64Simulated swaps whose routed transaction executed without reverting.
requote_failures: u64Detected swaps metis could not route; nothing was simulated for them.
override_setup_failures: u64Computed override actions that failed and therefore contributed no state.
Blocks replayed unchanged because the metis client was unavailable.
Quote attempts that could not be made because the metis client was unavailable, summed over every swap left queued by each such block. Each one is retried on the next block, so this counts retries forced rather than swaps lost.
direct_fill_matched: u64Hops a template matched, summed over Self::direct_fill_templates. A hop two templates
match counts twice. Zero when no template was configured.
direct_fill_outcomes: BTreeMap<String, u64>Probes by outcome, summed over the templates — filled, reverted_*, unattributed
(ran clean, but the seeded account was gone or unreadable), unsimulatable (could not be
compiled or run). Every matched hop lands in exactly one bucket.
direct_fill_scored: u64Probes scored against the hop they replace, summed over the templates.
direct_fill_bps_total: i64Sum of each scored probe’s change against its L1 fill in basis points, over
direct_fill_scored — divide by that count for the mean. Positive always means the
template beat the hop, whichever amount the mode fixed.
direct_fill_templates: BTreeMap<String, DirectFillTemplateReport>The same four counters per template, keyed by label. A template that never matched is present with zeros.
originals_scored: u64Original swaps scored against their own L1 fill at quote time.
originals_bps_total: i64Sum of (quote time fill - L1 fill) / L1 fill in basis points over originals_scored
swaps — divide by that count for the mean.
originals_replayed: u64Originals replayed at the position their replacements were priced at.
dataset_uri: Option<String>s3:// URI the reroute tables are published to at session end; None when they aren’t.