pub struct ProbedHop {
pub slot: u64,
pub block_time: i64,
pub tx_index: u32,
pub ix_index: u32,
pub leg_index: u32,
pub program: Option<Address>,
pub input_amount: u64,
pub output_amount: u64,
pub replay_input_amount: Option<u64>,
pub replay_output_amount: Option<u64>,
}Expand description
The hop a probe re-priced, as L1 and as the replay ran it.
Carried with the probe rather than left to a join against the original’s own notification: the two readings are what the probe is scored against, and a subscriber that had to pair them up would need every original of the pass in hand before it could write a single row.
Fields§
§slot: u64The block the hop executed in. The probe itself ran at ReplacementCore::slot, which is
earlier by DirectFillNotification::quote_lag_blocks.
block_time: i64§tx_index: u32The transaction’s position in that block.
ix_index: u32Which swap of the transaction this hop belongs to, and which hop of that swap it is.
leg_index: u32§program: Option<Address>The DEX program that priced the hop on L1. None when the route events attribute it to
none.
input_amount: u64§output_amount: u64§replay_input_amount: Option<u64>The same hop as the replayed original took it. None when the replay did not recover the
hop - it reverted, its route decoded without that hop, or it split the hop differently. Its
input can differ from input_amount when an earlier hop filled differently, so compare
output per unit of input.
replay_output_amount: Option<u64>