pub struct IERC20Instance<T, P, N = Ethereum> {
address: Address,
provider: P,
_network_transport: PhantomData<(N, T)>,
}
Expand description
A IERC20
instance.
Contains type-safe methods for interacting with an on-chain instance of the
IERC20
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> IERC20Instance<T, P, N>
impl<T: Transport + Clone, P: Provider<T, N>, N: Network> IERC20Instance<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 IERC20
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> IERC20Instance<T, &P, N>
impl<T, P: Clone, N> IERC20Instance<T, &P, N>
Sourcepub fn with_cloned_provider(self) -> IERC20Instance<T, P, N>
pub fn with_cloned_provider(self) -> IERC20Instance<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> IERC20Instance<T, P, N>
impl<T: Transport + Clone, P: Provider<T, N>, N: Network> IERC20Instance<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 decimals(&self) -> SolCallBuilder<T, &P, decimalsCall, N>
pub fn decimals(&self) -> SolCallBuilder<T, &P, decimalsCall, N>
Creates a new call builder for the [decimals
] function.
Sourcepub fn totalSupply(&self) -> SolCallBuilder<T, &P, totalSupplyCall, N>
pub fn totalSupply(&self) -> SolCallBuilder<T, &P, totalSupplyCall, N>
Creates a new call builder for the [totalSupply
] function.
Sourcepub fn balanceOf(
&self,
account: Address,
) -> SolCallBuilder<T, &P, balanceOfCall, N>
pub fn balanceOf( &self, account: Address, ) -> SolCallBuilder<T, &P, balanceOfCall, N>
Creates a new call builder for the [balanceOf
] function.
Sourcepub fn transfer(
&self,
to: Address,
amount: U256,
) -> SolCallBuilder<T, &P, transferCall, N>
pub fn transfer( &self, to: Address, amount: U256, ) -> SolCallBuilder<T, &P, transferCall, N>
Creates a new call builder for the [transfer
] function.
Sourcepub fn allowance(
&self,
owner: Address,
spender: Address,
) -> SolCallBuilder<T, &P, allowanceCall, N>
pub fn allowance( &self, owner: Address, spender: Address, ) -> SolCallBuilder<T, &P, allowanceCall, N>
Creates a new call builder for the [allowance
] function.
Sourcepub fn approve(
&self,
spender: Address,
amount: U256,
) -> SolCallBuilder<T, &P, approveCall, N>
pub fn approve( &self, spender: Address, amount: U256, ) -> SolCallBuilder<T, &P, approveCall, N>
Creates a new call builder for the [approve
] function.
Sourcepub fn transferFrom(
&self,
from: Address,
to: Address,
amount: U256,
) -> SolCallBuilder<T, &P, transferFromCall, N>
pub fn transferFrom( &self, from: Address, to: Address, amount: U256, ) -> SolCallBuilder<T, &P, transferFromCall, N>
Creates a new call builder for the [transferFrom
] function.
Source§impl<T: Transport + Clone, P: Provider<T, N>, N: Network> IERC20Instance<T, P, N>
impl<T: Transport + Clone, P: Provider<T, N>, N: Network> IERC20Instance<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 Transfer_filter(&self) -> Event<T, &P, Transfer, N>
pub fn Transfer_filter(&self) -> Event<T, &P, Transfer, N>
Creates a new event filter for the Transfer
event.
Sourcepub fn Approval_filter(&self) -> Event<T, &P, Approval, N>
pub fn Approval_filter(&self) -> Event<T, &P, Approval, N>
Creates a new event filter for the Approval
event.
Trait Implementations§
Auto Trait Implementations§
impl<T, P, N> Freeze for IERC20Instance<T, P, N>where
P: Freeze,
impl<T, P, N> RefUnwindSafe for IERC20Instance<T, P, N>
impl<T, P, N> Send for IERC20Instance<T, P, N>
impl<T, P, N> Sync for IERC20Instance<T, P, N>
impl<T, P, N> Unpin for IERC20Instance<T, P, N>
impl<T, P, N> UnwindSafe for IERC20Instance<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.