pub struct IUniswapV3PoolInstance<T, P, N = Ethereum> {
address: Address,
provider: P,
_network_transport: PhantomData<(N, T)>,
}
Expand description
A IUniswapV3Pool
instance.
Contains type-safe methods for interacting with an on-chain instance of the
IUniswapV3Pool
contract located at a given address
, using a given
provider P
.
If the contract bytecode is available (see the sol!
documentation on how to provide it), the deploy
and deploy_builder
methods can
be used to deploy a new instance of the contract.
See the module-level documentation for all the available methods.
Fields§
§address: Address
§provider: P
§_network_transport: PhantomData<(N, T)>
Implementations§
Source§impl<T: Transport + Clone, P: Provider<T, N>, N: Network> IUniswapV3PoolInstance<T, P, N>
impl<T: Transport + Clone, P: Provider<T, N>, N: Network> IUniswapV3PoolInstance<T, P, N>
Instantiation and getters/setters.
Sourcepub const fn new(address: Address, provider: P) -> Self
pub const fn new(address: Address, provider: P) -> Self
Creates a new wrapper around an on-chain IUniswapV3Pool
contract instance.
See the wrapper’s documentation for more details.
Sourcepub fn set_address(&mut self, address: Address)
pub fn set_address(&mut self, address: Address)
Sets the address.
Source§impl<T, P: Clone, N> IUniswapV3PoolInstance<T, &P, N>
impl<T, P: Clone, N> IUniswapV3PoolInstance<T, &P, N>
Sourcepub fn with_cloned_provider(self) -> IUniswapV3PoolInstance<T, P, N>
pub fn with_cloned_provider(self) -> IUniswapV3PoolInstance<T, P, N>
Clones the provider and returns a new instance with the cloned provider.
Source§impl<T: Transport + Clone, P: Provider<T, N>, N: Network> IUniswapV3PoolInstance<T, P, N>
impl<T: Transport + Clone, P: Provider<T, N>, N: Network> IUniswapV3PoolInstance<T, P, N>
Function calls.
Sourcepub fn call_builder<C: SolCall>(&self, call: &C) -> SolCallBuilder<T, &P, C, N>
pub fn call_builder<C: SolCall>(&self, call: &C) -> SolCallBuilder<T, &P, C, N>
Creates a new call builder using this contract instance’s provider and address.
Note that the call can be any function call, not just those defined in this contract. Prefer using the other methods for building type-safe contract calls.
Sourcepub fn slot0(&self) -> SolCallBuilder<T, &P, slot0Call, N>
pub fn slot0(&self) -> SolCallBuilder<T, &P, slot0Call, N>
Creates a new call builder for the [slot0
] function.
Sourcepub fn mint(
&self,
recipient: Address,
tickLower: I24,
tickUpper: I24,
amount: u128,
data: Bytes,
) -> SolCallBuilder<T, &P, mintCall, N>
pub fn mint( &self, recipient: Address, tickLower: I24, tickUpper: I24, amount: u128, data: Bytes, ) -> SolCallBuilder<T, &P, mintCall, N>
Creates a new call builder for the [mint
] function.
Sourcepub fn collect(
&self,
recipient: Address,
tickLower: I24,
tickUpper: I24,
amount0Requested: u128,
amount1Requested: u128,
) -> SolCallBuilder<T, &P, collectCall, N>
pub fn collect( &self, recipient: Address, tickLower: I24, tickUpper: I24, amount0Requested: u128, amount1Requested: u128, ) -> SolCallBuilder<T, &P, collectCall, N>
Creates a new call builder for the [collect
] function.
Sourcepub fn burn(
&self,
tickLower: I24,
tickUpper: I24,
amount: u128,
) -> SolCallBuilder<T, &P, burnCall, N>
pub fn burn( &self, tickLower: I24, tickUpper: I24, amount: u128, ) -> SolCallBuilder<T, &P, burnCall, N>
Creates a new call builder for the [burn
] function.
Sourcepub fn swap(
&self,
recipient: Address,
zeroForOne: bool,
amountSpecified: I256,
sqrtPriceLimitX96: U160,
data: Bytes,
) -> SolCallBuilder<T, &P, swapCall, N>
pub fn swap( &self, recipient: Address, zeroForOne: bool, amountSpecified: I256, sqrtPriceLimitX96: U160, data: Bytes, ) -> SolCallBuilder<T, &P, swapCall, N>
Creates a new call builder for the [swap
] function.
Sourcepub fn flash(
&self,
recipient: Address,
amount0: U256,
amount1: U256,
data: Bytes,
) -> SolCallBuilder<T, &P, flashCall, N>
pub fn flash( &self, recipient: Address, amount0: U256, amount1: U256, data: Bytes, ) -> SolCallBuilder<T, &P, flashCall, N>
Creates a new call builder for the [flash
] function.
Sourcepub fn factory(&self) -> SolCallBuilder<T, &P, factoryCall, N>
pub fn factory(&self) -> SolCallBuilder<T, &P, factoryCall, N>
Creates a new call builder for the [factory
] function.
Sourcepub fn token0(&self) -> SolCallBuilder<T, &P, token0Call, N>
pub fn token0(&self) -> SolCallBuilder<T, &P, token0Call, N>
Creates a new call builder for the [token0
] function.
Sourcepub fn token1(&self) -> SolCallBuilder<T, &P, token1Call, N>
pub fn token1(&self) -> SolCallBuilder<T, &P, token1Call, N>
Creates a new call builder for the [token1
] function.
Sourcepub fn fee(&self) -> SolCallBuilder<T, &P, feeCall, N>
pub fn fee(&self) -> SolCallBuilder<T, &P, feeCall, N>
Creates a new call builder for the [fee
] function.
Sourcepub fn tickSpacing(&self) -> SolCallBuilder<T, &P, tickSpacingCall, N>
pub fn tickSpacing(&self) -> SolCallBuilder<T, &P, tickSpacingCall, N>
Creates a new call builder for the [tickSpacing
] function.
Sourcepub fn maxLiquidityPerTick(
&self,
) -> SolCallBuilder<T, &P, maxLiquidityPerTickCall, N>
pub fn maxLiquidityPerTick( &self, ) -> SolCallBuilder<T, &P, maxLiquidityPerTickCall, N>
Creates a new call builder for the [maxLiquidityPerTick
] function.
Sourcepub fn liquidity(&self) -> SolCallBuilder<T, &P, liquidityCall, N>
pub fn liquidity(&self) -> SolCallBuilder<T, &P, liquidityCall, N>
Creates a new call builder for the [liquidity
] function.
Sourcepub fn ticks(&self, tick: I24) -> SolCallBuilder<T, &P, ticksCall, N>
pub fn ticks(&self, tick: I24) -> SolCallBuilder<T, &P, ticksCall, N>
Creates a new call builder for the [ticks
] function.
Sourcepub fn tickBitmap(
&self,
wordPosition: i16,
) -> SolCallBuilder<T, &P, tickBitmapCall, N>
pub fn tickBitmap( &self, wordPosition: i16, ) -> SolCallBuilder<T, &P, tickBitmapCall, N>
Creates a new call builder for the [tickBitmap
] function.
Sourcepub fn positions(
&self,
key: FixedBytes<32>,
) -> SolCallBuilder<T, &P, positionsCall, N>
pub fn positions( &self, key: FixedBytes<32>, ) -> SolCallBuilder<T, &P, positionsCall, N>
Creates a new call builder for the [positions
] function.
Sourcepub fn observations(
&self,
index: U256,
) -> SolCallBuilder<T, &P, observationsCall, N>
pub fn observations( &self, index: U256, ) -> SolCallBuilder<T, &P, observationsCall, N>
Creates a new call builder for the [observations
] function.
Source§impl<T: Transport + Clone, P: Provider<T, N>, N: Network> IUniswapV3PoolInstance<T, P, N>
impl<T: Transport + Clone, P: Provider<T, N>, N: Network> IUniswapV3PoolInstance<T, P, N>
Event filters.
Sourcepub fn event_filter<E: SolEvent>(&self) -> Event<T, &P, E, N>
pub fn event_filter<E: SolEvent>(&self) -> Event<T, &P, E, N>
Creates a new event filter using this contract instance’s provider and address.
Note that the type can be any event, not just those defined in this contract. Prefer using the other methods for building type-safe event filters.
Sourcepub fn Initialize_filter(&self) -> Event<T, &P, Initialize, N>
pub fn Initialize_filter(&self) -> Event<T, &P, Initialize, N>
Creates a new event filter for the Initialize
event.
Sourcepub fn Mint_filter(&self) -> Event<T, &P, Mint, N>
pub fn Mint_filter(&self) -> Event<T, &P, Mint, N>
Creates a new event filter for the Mint
event.
Sourcepub fn Collect_filter(&self) -> Event<T, &P, Collect, N>
pub fn Collect_filter(&self) -> Event<T, &P, Collect, N>
Creates a new event filter for the Collect
event.
Sourcepub fn Burn_filter(&self) -> Event<T, &P, Burn, N>
pub fn Burn_filter(&self) -> Event<T, &P, Burn, N>
Creates a new event filter for the Burn
event.
Sourcepub fn Swap_filter(&self) -> Event<T, &P, Swap, N>
pub fn Swap_filter(&self) -> Event<T, &P, Swap, N>
Creates a new event filter for the Swap
event.
Sourcepub fn Flash_filter(&self) -> Event<T, &P, Flash, N>
pub fn Flash_filter(&self) -> Event<T, &P, Flash, N>
Creates a new event filter for the Flash
event.
Sourcepub fn IncreaseObservationCardinalityNext_filter(
&self,
) -> Event<T, &P, IncreaseObservationCardinalityNext, N>
pub fn IncreaseObservationCardinalityNext_filter( &self, ) -> Event<T, &P, IncreaseObservationCardinalityNext, N>
Creates a new event filter for the IncreaseObservationCardinalityNext
event.
Sourcepub fn SetFeeProtocol_filter(&self) -> Event<T, &P, SetFeeProtocol, N>
pub fn SetFeeProtocol_filter(&self) -> Event<T, &P, SetFeeProtocol, N>
Creates a new event filter for the SetFeeProtocol
event.
Sourcepub fn CollectProtocol_filter(&self) -> Event<T, &P, CollectProtocol, N>
pub fn CollectProtocol_filter(&self) -> Event<T, &P, CollectProtocol, N>
Creates a new event filter for the CollectProtocol
event.
Trait Implementations§
Auto Trait Implementations§
impl<T, P, N> Freeze for IUniswapV3PoolInstance<T, P, N>where
P: Freeze,
impl<T, P, N> RefUnwindSafe for IUniswapV3PoolInstance<T, P, N>
impl<T, P, N> Send for IUniswapV3PoolInstance<T, P, N>
impl<T, P, N> Sync for IUniswapV3PoolInstance<T, P, N>
impl<T, P, N> Unpin for IUniswapV3PoolInstance<T, P, N>
impl<T, P, N> UnwindSafe for IUniswapV3PoolInstance<T, P, N>
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.