pub struct RerouteNotification {
pub context: RerouteContext,
pub slot: u64,
pub batch_index: u32,
pub original_signature: String,
pub legs: Vec<RerouteLegNotification>,
pub routed_transaction: EncodedBinary,
pub err: Option<String>,
pub logs: Vec<String>,
pub compute_units_consumed: u64,
pub fee: Option<u64>,
pub realized_output_amount: Option<u64>,
pub original_realized_output_amount: Option<u64>,
}Expand description
One rerouted transaction’s simulation result, delivered by rerouteSubscribe. The historical
original still executed; this is the counterfactual, committed nowhere.
Fields§
§context: RerouteContext§slot: u64§batch_index: u32Batch within the slot the original sits in; the simulation ran just before it executed.
original_signature: StringBase58 signature of the historical transaction whose swap(s) were re-routed.
legs: Vec<RerouteLegNotification>One per detected swap in the original, in order.
routed_transaction: EncodedBinaryThe metis-routed transaction that was simulated. Decode with EncodedBinary::decode
(base64 bincode of TxWithMeta) to inspect its instructions.
err: Option<String>Simulation error message; None on success.
logs: Vec<String>§compute_units_consumed: u64§fee: Option<u64>§realized_output_amount: Option<u64>What the routed swap actually produced; None for a multi-swap tx, a missing output
balance record, or a reverted simulation.
original_realized_output_amount: Option<u64>What the historical original actually produced; None for a multi-swap tx, a missing
output balance record, or a reverted original. Set independently of the simulation’s
outcome, so it is present even when err is.
Trait Implementations§
Source§impl Clone for RerouteNotification
impl Clone for RerouteNotification
Source§fn clone(&self) -> RerouteNotification
fn clone(&self) -> RerouteNotification
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RerouteNotification
impl Debug for RerouteNotification
Source§impl<'de> Deserialize<'de> for RerouteNotification
impl<'de> Deserialize<'de> for RerouteNotification
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for RerouteNotification
impl RefUnwindSafe for RerouteNotification
impl Send for RerouteNotification
impl Sync for RerouteNotification
impl Unpin for RerouteNotification
impl UnsafeUnpin for RerouteNotification
impl UnwindSafe for RerouteNotification
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more