pub struct PoolFeeProtocolCollect {Show 14 fields
pub chain: SharedChain,
pub dex: SharedDex,
pub instrument_id: InstrumentId,
pub pool_identifier: PoolIdentifier,
pub block: u64,
pub transaction_hash: String,
pub transaction_index: u32,
pub log_index: u32,
pub sender: Address,
pub recipient: Address,
pub amount0: u128,
pub amount1: u128,
pub ts_event: UnixNanos,
pub ts_init: UnixNanos,
}Expand description
Represents a protocol-fee withdrawal from a Uniswap V3-style pool.
Emitted by CollectProtocol, this carries the protocol-fee amounts withdrawn to the recipient.
The amounts decrement the pool’s accrued protocol-fee balances, leaving the on-chain remainder
(Uniswap V3 keeps one wei in each slot to save gas).
Fields§
§chain: SharedChainThe blockchain network where the protocol-fee withdrawal occurred.
dex: SharedDexThe decentralized exchange where the protocol-fee withdrawal occurred.
instrument_id: InstrumentIdThe instrument ID for this pool’s trading pair.
pool_identifier: PoolIdentifierThe unique identifier for this pool (could be an address or other protocol-specific hex string).
block: u64The blockchain block number where the protocol-fee withdrawal occurred.
transaction_hash: StringThe unique hash identifier of the blockchain transaction containing the protocol-fee withdrawal.
transaction_index: u32The index position of the transaction within the block.
log_index: u32The index position of the protocol-fee withdrawal event log within the transaction.
sender: AddressThe address that initiated the withdrawal (the factory owner).
recipient: AddressThe address that received the withdrawn protocol fees.
amount0: u128The amount of token0 protocol fees withdrawn.
amount1: u128The amount of token1 protocol fees withdrawn.
ts_event: UnixNanosUNIX timestamp (nanoseconds) when the protocol-fee withdrawal event occurred.
ts_init: UnixNanosUNIX timestamp (nanoseconds) when the instance was created.
Implementations§
Source§impl PoolFeeProtocolCollect
impl PoolFeeProtocolCollect
Sourcepub const fn new(
chain: SharedChain,
dex: SharedDex,
instrument_id: InstrumentId,
pool_identifier: PoolIdentifier,
block: u64,
transaction_hash: String,
transaction_index: u32,
log_index: u32,
sender: Address,
recipient: Address,
amount0: u128,
amount1: u128,
ts_event: UnixNanos,
ts_init: UnixNanos,
) -> Self
pub const fn new( chain: SharedChain, dex: SharedDex, instrument_id: InstrumentId, pool_identifier: PoolIdentifier, block: u64, transaction_hash: String, transaction_index: u32, log_index: u32, sender: Address, recipient: Address, amount0: u128, amount1: u128, ts_event: UnixNanos, ts_init: UnixNanos, ) -> Self
Creates a new PoolFeeProtocolCollect instance with the specified properties.
Trait Implementations§
Source§impl Clone for PoolFeeProtocolCollect
impl Clone for PoolFeeProtocolCollect
Source§fn clone(&self) -> PoolFeeProtocolCollect
fn clone(&self) -> PoolFeeProtocolCollect
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 PoolFeeProtocolCollect
impl Debug for PoolFeeProtocolCollect
impl DerefToPyAny for PoolFeeProtocolCollect
Source§impl<'de> Deserialize<'de> for PoolFeeProtocolCollect
impl<'de> Deserialize<'de> for PoolFeeProtocolCollect
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>,
Source§impl Display for PoolFeeProtocolCollect
impl Display for PoolFeeProtocolCollect
Source§impl From<PoolFeeProtocolCollect> for DefiData
impl From<PoolFeeProtocolCollect> for DefiData
Source§fn from(value: PoolFeeProtocolCollect) -> Self
fn from(value: PoolFeeProtocolCollect) -> Self
Source§impl<'a, 'py> FromPyObject<'a, 'py> for PoolFeeProtocolCollectwhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for PoolFeeProtocolCollectwhere
Self: Clone,
Source§impl HasTsInit for PoolFeeProtocolCollect
impl HasTsInit for PoolFeeProtocolCollect
Source§impl<'py> IntoPyObject<'py> for PoolFeeProtocolCollect
impl<'py> IntoPyObject<'py> for PoolFeeProtocolCollect
Source§type Target = PoolFeeProtocolCollect
type Target = PoolFeeProtocolCollect
Source§type Output = Bound<'py, <PoolFeeProtocolCollect as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <PoolFeeProtocolCollect as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PartialEq for PoolFeeProtocolCollect
impl PartialEq for PoolFeeProtocolCollect
Source§fn eq(&self, other: &PoolFeeProtocolCollect) -> bool
fn eq(&self, other: &PoolFeeProtocolCollect) -> bool
self and other values to be equal, and is used by ==.Source§impl PyClass for PoolFeeProtocolCollect
impl PyClass for PoolFeeProtocolCollect
Source§impl PyClassImpl for PoolFeeProtocolCollect
impl PyClassImpl for PoolFeeProtocolCollect
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = /// Represents a protocol-fee withdrawal from a Uniswap V3-style pool.
///
/// Emitted by `CollectProtocol`, this carries the protocol-fee amounts withdrawn to the recipient.
/// The amounts decrement the pool's accrued protocol-fee balances, leaving the on-chain remainder
/// (Uniswap V3 keeps one wei in each slot to save gas).
const RAW_DOC: &'static CStr = /// Represents a protocol-fee withdrawal from a Uniswap V3-style pool. /// /// Emitted by `CollectProtocol`, this carries the protocol-fee amounts withdrawn to the recipient. /// The amounts decrement the pool's accrued protocol-fee balances, leaving the on-chain remainder /// (Uniswap V3 keeps one wei in each slot to save gas).
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type Layout = <<PoolFeeProtocolCollect as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<PoolFeeProtocolCollect>
type Layout = <<PoolFeeProtocolCollect as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<PoolFeeProtocolCollect>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForPoolFeeProtocolCollect
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
§fn dict_offset() -> Option<PyObjectOffset>
fn dict_offset() -> Option<PyObjectOffset>
§fn weaklist_offset() -> Option<PyObjectOffset>
fn weaklist_offset() -> Option<PyObjectOffset>
Source§impl PyClassNewTextSignature for PoolFeeProtocolCollect
impl PyClassNewTextSignature for PoolFeeProtocolCollect
const TEXT_SIGNATURE: &'static str = "(chain, dex, pool_identifier, instrument_id, block, transaction_hash, transaction_index, log_index, sender, recipient, amount0, amount1, timestamp)"
Source§impl PyStubType for PoolFeeProtocolCollect
impl PyStubType for PoolFeeProtocolCollect
Source§fn type_output() -> TypeInfo
fn type_output() -> TypeInfo
§fn type_input() -> TypeInfo
fn type_input() -> TypeInfo
Source§impl PyTypeInfo for PoolFeeProtocolCollect
impl PyTypeInfo for PoolFeeProtocolCollect
Source§const NAME: &str = <Self as ::pyo3::PyClass>::NAME
const NAME: &str = <Self as ::pyo3::PyClass>::NAME
prefer using ::type_object(py).name() to get the correct runtime value
Source§const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
prefer using ::type_object(py).module() to get the correct runtime value
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.Source§impl Serialize for PoolFeeProtocolCollect
impl Serialize for PoolFeeProtocolCollect
impl StructuralPartialEq for PoolFeeProtocolCollect
Auto Trait Implementations§
impl Freeze for PoolFeeProtocolCollect
impl RefUnwindSafe for PoolFeeProtocolCollect
impl Send for PoolFeeProtocolCollect
impl Sync for PoolFeeProtocolCollect
impl Unpin for PoolFeeProtocolCollect
impl UnsafeUnpin for PoolFeeProtocolCollect
impl UnwindSafe for PoolFeeProtocolCollect
Blanket Implementations§
impl<T> Allocation for T
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>,
impl<'py, T> FromPyObjectOwned<'py> for Twhere
T: for<'a> FromPyObject<'a, 'py>,
§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read more§impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
impl<'py, T> IntoPyObjectNautilusExt<'py> for Twhere
T: IntoPyObjectExt<'py>,
§fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
fn into_py_any_unwrap(self, py: Python<'py>) -> Py<PyAny>
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
isinstance and issubclass function. Read more