DexExtended

Struct DexExtended 

Source
pub struct DexExtended {
Show 15 fields pub dex: SharedDex, pub parse_pool_created_event_hypersync_fn: Option<fn(HypersyncLog) -> Result<PoolCreatedEvent>>, pub parse_initialize_event_hypersync_fn: Option<fn(SharedDex, HypersyncLog) -> Result<InitializeEvent>>, pub parse_swap_event_hypersync_fn: Option<fn(SharedDex, HypersyncLog) -> Result<SwapEvent>>, pub parse_mint_event_hypersync_fn: Option<fn(SharedDex, HypersyncLog) -> Result<MintEvent>>, pub parse_burn_event_hypersync_fn: Option<fn(SharedDex, HypersyncLog) -> Result<BurnEvent>>, pub parse_collect_event_hypersync_fn: Option<fn(SharedDex, HypersyncLog) -> Result<CollectEvent>>, pub parse_flash_event_hypersync_fn: Option<fn(SharedDex, HypersyncLog) -> Result<FlashEvent>>, pub parse_pool_created_event_rpc_fn: Option<fn(&RpcLog) -> Result<PoolCreatedEvent>>, pub parse_initialize_event_rpc_fn: Option<fn(SharedDex, &RpcLog) -> Result<InitializeEvent>>, pub parse_swap_event_rpc_fn: Option<fn(SharedDex, &RpcLog) -> Result<SwapEvent>>, pub parse_mint_event_rpc_fn: Option<fn(SharedDex, &RpcLog) -> Result<MintEvent>>, pub parse_burn_event_rpc_fn: Option<fn(SharedDex, &RpcLog) -> Result<BurnEvent>>, pub parse_collect_event_rpc_fn: Option<fn(SharedDex, &RpcLog) -> Result<CollectEvent>>, pub parse_flash_event_rpc_fn: Option<fn(SharedDex, &RpcLog) -> Result<FlashEvent>>,
}
Expand description

Extended DEX wrapper that adds provider-specific event parsing capabilities to the domain Dex model.

Fields§

§dex: SharedDex

The core domain Dex object being extended.

§parse_pool_created_event_hypersync_fn: Option<fn(HypersyncLog) -> Result<PoolCreatedEvent>>

Function to parse pool creation events from HyperSync logs.

§parse_initialize_event_hypersync_fn: Option<fn(SharedDex, HypersyncLog) -> Result<InitializeEvent>>

Function to parse initialize events from HyperSync logs.

§parse_swap_event_hypersync_fn: Option<fn(SharedDex, HypersyncLog) -> Result<SwapEvent>>

Function to parse swap events from HyperSync logs.

§parse_mint_event_hypersync_fn: Option<fn(SharedDex, HypersyncLog) -> Result<MintEvent>>

Function to parse mint events from HyperSync logs.

§parse_burn_event_hypersync_fn: Option<fn(SharedDex, HypersyncLog) -> Result<BurnEvent>>

Function to parse burn events from HyperSync logs.

§parse_collect_event_hypersync_fn: Option<fn(SharedDex, HypersyncLog) -> Result<CollectEvent>>

Function to parse collect events from HyperSync logs.

§parse_flash_event_hypersync_fn: Option<fn(SharedDex, HypersyncLog) -> Result<FlashEvent>>

Function to parse flash events from HyperSync logs.

§parse_pool_created_event_rpc_fn: Option<fn(&RpcLog) -> Result<PoolCreatedEvent>>

Function to parse pool creation events from RPC logs.

§parse_initialize_event_rpc_fn: Option<fn(SharedDex, &RpcLog) -> Result<InitializeEvent>>

Function to parse initialize events from RPC logs.

§parse_swap_event_rpc_fn: Option<fn(SharedDex, &RpcLog) -> Result<SwapEvent>>

Function to parse swap events from RPC logs.

§parse_mint_event_rpc_fn: Option<fn(SharedDex, &RpcLog) -> Result<MintEvent>>

Function to parse mint events from RPC logs.

§parse_burn_event_rpc_fn: Option<fn(SharedDex, &RpcLog) -> Result<BurnEvent>>

Function to parse burn events from RPC logs.

§parse_collect_event_rpc_fn: Option<fn(SharedDex, &RpcLog) -> Result<CollectEvent>>

Function to parse collect events from RPC logs.

§parse_flash_event_rpc_fn: Option<fn(SharedDex, &RpcLog) -> Result<FlashEvent>>

Function to parse flash events from RPC logs.

Implementations§

Source§

impl DexExtended

Source

pub fn new(dex: Dex) -> Self

Creates a new DexExtended wrapper around a domain Dex object.

Source

pub fn set_pool_created_event_hypersync_parsing( &mut self, parse_fn: fn(HypersyncLog) -> Result<PoolCreatedEvent>, )

Sets the function used to parse pool creation events from HyperSync logs.

Source

pub fn set_initialize_event_hypersync_parsing( &mut self, parse_fn: fn(SharedDex, HypersyncLog) -> Result<InitializeEvent>, )

Sets the function used to parse initialize events from HyperSync logs.

Source

pub fn set_swap_event_hypersync_parsing( &mut self, parse_fn: fn(SharedDex, HypersyncLog) -> Result<SwapEvent>, )

Sets the function used to parse swap events from HyperSync logs.

Source

pub fn set_mint_event_hypersync_parsing( &mut self, parse_fn: fn(SharedDex, HypersyncLog) -> Result<MintEvent>, )

Sets the function used to parse mint events from HyperSync logs.

Source

pub fn set_burn_event_hypersync_parsing( &mut self, parse_fn: fn(SharedDex, HypersyncLog) -> Result<BurnEvent>, )

Sets the function used to parse burn events from HyperSync logs.

Source

pub fn set_collect_event_hypersync_parsing( &mut self, parse_fn: fn(SharedDex, HypersyncLog) -> Result<CollectEvent>, )

Sets the function used to parse collect events from HyperSync logs.

Source

pub fn set_flash_event_hypersync_parsing( &mut self, parse_fn: fn(SharedDex, HypersyncLog) -> Result<FlashEvent>, )

Sets the function used to parse flash events from HyperSync logs.

Source

pub fn set_pool_created_event_rpc_parsing( &mut self, parse_fn: fn(&RpcLog) -> Result<PoolCreatedEvent>, )

Sets the function used to parse pool creation events from RPC logs.

Source

pub fn set_initialize_event_rpc_parsing( &mut self, parse_fn: fn(SharedDex, &RpcLog) -> Result<InitializeEvent>, )

Sets the function used to parse initialize events from RPC logs.

Source

pub fn set_swap_event_rpc_parsing( &mut self, parse_fn: fn(SharedDex, &RpcLog) -> Result<SwapEvent>, )

Sets the function used to parse swap events from RPC logs.

Source

pub fn set_mint_event_rpc_parsing( &mut self, parse_fn: fn(SharedDex, &RpcLog) -> Result<MintEvent>, )

Sets the function used to parse mint events from RPC logs.

Source

pub fn set_burn_event_rpc_parsing( &mut self, parse_fn: fn(SharedDex, &RpcLog) -> Result<BurnEvent>, )

Sets the function used to parse burn events from RPC logs.

Source

pub fn set_collect_event_rpc_parsing( &mut self, parse_fn: fn(SharedDex, &RpcLog) -> Result<CollectEvent>, )

Sets the function used to parse collect events from RPC logs.

Source

pub fn set_flash_event_rpc_parsing( &mut self, parse_fn: fn(SharedDex, &RpcLog) -> Result<FlashEvent>, )

Sets the function used to parse flash events from RPC logs.

Source

pub fn parse_pool_created_event_hypersync( &self, log: HypersyncLog, ) -> Result<PoolCreatedEvent>

Parses a pool creation event from a HyperSync log.

§Errors

Returns an error if the DEX does not have a HyperSync pool creation event parser defined or if parsing fails.

Source

pub fn parse_swap_event_hypersync(&self, log: HypersyncLog) -> Result<SwapEvent>

Parses a swap event from a HyperSync log.

§Errors

Returns an error if the DEX does not have a HyperSync swap event parser defined or if parsing fails.

Source

pub fn parse_mint_event_hypersync(&self, log: HypersyncLog) -> Result<MintEvent>

Parses a mint event from a HyperSync log.

§Errors

Returns an error if the DEX does not have a HyperSync mint event parser defined or if parsing fails.

Source

pub fn parse_burn_event_hypersync(&self, log: HypersyncLog) -> Result<BurnEvent>

Parses a burn event from a HyperSync log.

§Errors

Returns an error if the DEX does not have a HyperSync burn event parser defined or if parsing fails.

Source

pub fn parse_initialize_event_hypersync( &self, log: HypersyncLog, ) -> Result<InitializeEvent>

Parses an initialize event from a HyperSync log.

§Errors

Returns an error if the DEX does not have a HyperSync initialize event parser defined or if parsing fails.

Source

pub fn parse_collect_event_hypersync( &self, log: HypersyncLog, ) -> Result<CollectEvent>

Parses a collect event from a HyperSync log.

§Errors

Returns an error if the DEX does not have a HyperSync collect event parser defined or if parsing fails.

Source

pub fn parse_flash_event_hypersync( &self, log: HypersyncLog, ) -> Result<FlashEvent>

Parses a flash event from a HyperSync log.

§Errors

Returns an error if the DEX does not have a HyperSync flash event parser defined or if parsing fails.

Source

pub fn parse_pool_created_event_rpc( &self, log: &RpcLog, ) -> Result<PoolCreatedEvent>

Parses a pool creation event from an RPC log.

§Errors

Returns an error if the DEX does not have an RPC pool creation event parser defined or if parsing fails.

Source

pub fn parse_swap_event_rpc(&self, log: &RpcLog) -> Result<SwapEvent>

Parses a swap event from an RPC log.

§Errors

Returns an error if the DEX does not have an RPC swap event parser defined or if parsing fails.

Source

pub fn parse_mint_event_rpc(&self, log: &RpcLog) -> Result<MintEvent>

Parses a mint event from an RPC log.

§Errors

Returns an error if the DEX does not have an RPC mint event parser defined or if parsing fails.

Source

pub fn parse_burn_event_rpc(&self, log: &RpcLog) -> Result<BurnEvent>

Parses a burn event from an RPC log.

§Errors

Returns an error if the DEX does not have an RPC burn event parser defined or if parsing fails.

Source

pub fn parse_initialize_event_rpc( &self, log: &RpcLog, ) -> Result<InitializeEvent>

Parses an initialize event from an RPC log.

§Errors

Returns an error if the DEX does not have an RPC initialize event parser defined or if parsing fails.

Source

pub fn parse_collect_event_rpc(&self, log: &RpcLog) -> Result<CollectEvent>

Parses a collect event from an RPC log.

§Errors

Returns an error if the DEX does not have an RPC collect event parser defined or if parsing fails.

Source

pub fn parse_flash_event_rpc(&self, log: &RpcLog) -> Result<FlashEvent>

Parses a flash event from an RPC log.

§Errors

Returns an error if the DEX does not have an RPC flash event parser defined or if parsing fails.

Source

pub fn needs_initialization(&self) -> bool

Checks if this DEX requires pool initialization events.

Methods from Deref<Target = Dex>§

Source

pub fn id(&self) -> String

Returns a unique identifier for this DEX, combining chain and protocol name.

Trait Implementations§

Source§

impl Clone for DexExtended

Source§

fn clone(&self) -> DexExtended

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DexExtended

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for DexExtended

Source§

type Target = Dex

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

§

impl<T> Ungil for T
where T: Send,