pub struct PermissionControllerInstance<T, P, N = Ethereum> { /* private fields */ }
Expand description
A PermissionController
instance.
Contains type-safe methods for interacting with an on-chain instance of the
[`PermissionController`](self) contract located at a given `address`, using a given
provider `P`.
If the contract bytecode is available (see the [`sol!`](alloy_sol_types::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](self) for all the available methods.
Implementations§
Source§impl<T: Transport + Clone, P: Provider<T, N>, N: Network> PermissionControllerInstance<T, P, N>
Instantiation and getters/setters.
impl<T: Transport + Clone, P: Provider<T, N>, N: Network> PermissionControllerInstance<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 PermissionController
contract instance.
See the [wrapper's documentation](`PermissionControllerInstance`) for more details.
Sourcepub async fn deploy(
provider: P,
_version: String,
) -> Result<PermissionControllerInstance<T, P, N>>
pub async fn deploy( provider: P, _version: String, ) -> Result<PermissionControllerInstance<T, P, N>>
Deploys this contract using the given provider
and constructor arguments, if any.
Returns a new instance of the contract, if the deployment was successful.
For more fine-grained control over the deployment process, use [`deploy_builder`] instead.
Sourcepub fn deploy_builder(provider: P, _version: String) -> RawCallBuilder<T, P, N>
pub fn deploy_builder(provider: P, _version: String) -> RawCallBuilder<T, P, N>
Creates a RawCallBuilder
for deploying this contract using the given provider
and constructor arguments, if any.
This is a simple wrapper around creating a `RawCallBuilder` with the data set to
the bytecode concatenated with the constructor's ABI-encoded arguments.
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> PermissionControllerInstance<T, &P, N>
impl<T, P: Clone, N> PermissionControllerInstance<T, &P, N>
Sourcepub fn with_cloned_provider(self) -> PermissionControllerInstance<T, P, N>
pub fn with_cloned_provider(self) -> PermissionControllerInstance<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> PermissionControllerInstance<T, P, N>
Function calls.
impl<T: Transport + Clone, P: Provider<T, N>, N: Network> PermissionControllerInstance<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 acceptAdmin(
&self,
account: Address,
) -> SolCallBuilder<T, &P, acceptAdminCall, N>
pub fn acceptAdmin( &self, account: Address, ) -> SolCallBuilder<T, &P, acceptAdminCall, N>
Creates a new call builder for the [acceptAdmin
] function.
Sourcepub fn addPendingAdmin(
&self,
account: Address,
admin: Address,
) -> SolCallBuilder<T, &P, addPendingAdminCall, N>
pub fn addPendingAdmin( &self, account: Address, admin: Address, ) -> SolCallBuilder<T, &P, addPendingAdminCall, N>
Creates a new call builder for the [addPendingAdmin
] function.
Sourcepub fn canCall(
&self,
account: Address,
caller: Address,
target: Address,
selector: FixedBytes<4>,
) -> SolCallBuilder<T, &P, canCallCall, N>
pub fn canCall( &self, account: Address, caller: Address, target: Address, selector: FixedBytes<4>, ) -> SolCallBuilder<T, &P, canCallCall, N>
Creates a new call builder for the [canCall
] function.
Sourcepub fn getAdmins(
&self,
account: Address,
) -> SolCallBuilder<T, &P, getAdminsCall, N>
pub fn getAdmins( &self, account: Address, ) -> SolCallBuilder<T, &P, getAdminsCall, N>
Creates a new call builder for the [getAdmins
] function.
Sourcepub fn getAppointeePermissions(
&self,
account: Address,
appointee: Address,
) -> SolCallBuilder<T, &P, getAppointeePermissionsCall, N>
pub fn getAppointeePermissions( &self, account: Address, appointee: Address, ) -> SolCallBuilder<T, &P, getAppointeePermissionsCall, N>
Creates a new call builder for the [getAppointeePermissions
] function.
Sourcepub fn getAppointees(
&self,
account: Address,
target: Address,
selector: FixedBytes<4>,
) -> SolCallBuilder<T, &P, getAppointeesCall, N>
pub fn getAppointees( &self, account: Address, target: Address, selector: FixedBytes<4>, ) -> SolCallBuilder<T, &P, getAppointeesCall, N>
Creates a new call builder for the [getAppointees
] function.
Sourcepub fn getPendingAdmins(
&self,
account: Address,
) -> SolCallBuilder<T, &P, getPendingAdminsCall, N>
pub fn getPendingAdmins( &self, account: Address, ) -> SolCallBuilder<T, &P, getPendingAdminsCall, N>
Creates a new call builder for the [getPendingAdmins
] function.
Sourcepub fn isAdmin(
&self,
account: Address,
caller: Address,
) -> SolCallBuilder<T, &P, isAdminCall, N>
pub fn isAdmin( &self, account: Address, caller: Address, ) -> SolCallBuilder<T, &P, isAdminCall, N>
Creates a new call builder for the [isAdmin
] function.
Sourcepub fn isPendingAdmin(
&self,
account: Address,
pendingAdmin: Address,
) -> SolCallBuilder<T, &P, isPendingAdminCall, N>
pub fn isPendingAdmin( &self, account: Address, pendingAdmin: Address, ) -> SolCallBuilder<T, &P, isPendingAdminCall, N>
Creates a new call builder for the [isPendingAdmin
] function.
Sourcepub fn removeAdmin(
&self,
account: Address,
admin: Address,
) -> SolCallBuilder<T, &P, removeAdminCall, N>
pub fn removeAdmin( &self, account: Address, admin: Address, ) -> SolCallBuilder<T, &P, removeAdminCall, N>
Creates a new call builder for the [removeAdmin
] function.
Sourcepub fn removeAppointee(
&self,
account: Address,
appointee: Address,
target: Address,
selector: FixedBytes<4>,
) -> SolCallBuilder<T, &P, removeAppointeeCall, N>
pub fn removeAppointee( &self, account: Address, appointee: Address, target: Address, selector: FixedBytes<4>, ) -> SolCallBuilder<T, &P, removeAppointeeCall, N>
Creates a new call builder for the [removeAppointee
] function.
Sourcepub fn removePendingAdmin(
&self,
account: Address,
admin: Address,
) -> SolCallBuilder<T, &P, removePendingAdminCall, N>
pub fn removePendingAdmin( &self, account: Address, admin: Address, ) -> SolCallBuilder<T, &P, removePendingAdminCall, N>
Creates a new call builder for the [removePendingAdmin
] function.
Sourcepub fn setAppointee(
&self,
account: Address,
appointee: Address,
target: Address,
selector: FixedBytes<4>,
) -> SolCallBuilder<T, &P, setAppointeeCall, N>
pub fn setAppointee( &self, account: Address, appointee: Address, target: Address, selector: FixedBytes<4>, ) -> SolCallBuilder<T, &P, setAppointeeCall, N>
Creates a new call builder for the [setAppointee
] function.
Sourcepub fn version(&self) -> SolCallBuilder<T, &P, versionCall, N>
pub fn version(&self) -> SolCallBuilder<T, &P, versionCall, N>
Creates a new call builder for the [version
] function.
Source§impl<T: Transport + Clone, P: Provider<T, N>, N: Network> PermissionControllerInstance<T, P, N>
Event filters.
impl<T: Transport + Clone, P: Provider<T, N>, N: Network> PermissionControllerInstance<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 AdminRemoved_filter(&self) -> Event<T, &P, AdminRemoved, N>
pub fn AdminRemoved_filter(&self) -> Event<T, &P, AdminRemoved, N>
Creates a new event filter for the AdminRemoved
event.
Sourcepub fn AdminSet_filter(&self) -> Event<T, &P, AdminSet, N>
pub fn AdminSet_filter(&self) -> Event<T, &P, AdminSet, N>
Creates a new event filter for the AdminSet
event.
Sourcepub fn AppointeeRemoved_filter(&self) -> Event<T, &P, AppointeeRemoved, N>
pub fn AppointeeRemoved_filter(&self) -> Event<T, &P, AppointeeRemoved, N>
Creates a new event filter for the AppointeeRemoved
event.
Sourcepub fn AppointeeSet_filter(&self) -> Event<T, &P, AppointeeSet, N>
pub fn AppointeeSet_filter(&self) -> Event<T, &P, AppointeeSet, N>
Creates a new event filter for the AppointeeSet
event.
Sourcepub fn Initialized_filter(&self) -> Event<T, &P, Initialized, N>
pub fn Initialized_filter(&self) -> Event<T, &P, Initialized, N>
Creates a new event filter for the Initialized
event.
Sourcepub fn PendingAdminAdded_filter(&self) -> Event<T, &P, PendingAdminAdded, N>
pub fn PendingAdminAdded_filter(&self) -> Event<T, &P, PendingAdminAdded, N>
Creates a new event filter for the PendingAdminAdded
event.
Sourcepub fn PendingAdminRemoved_filter(&self) -> Event<T, &P, PendingAdminRemoved, N>
pub fn PendingAdminRemoved_filter(&self) -> Event<T, &P, PendingAdminRemoved, N>
Creates a new event filter for the PendingAdminRemoved
event.
Trait Implementations§
Auto Trait Implementations§
impl<T, P, N> Freeze for PermissionControllerInstance<T, P, N>where
P: Freeze,
impl<T, P, N> RefUnwindSafe for PermissionControllerInstance<T, P, N>
impl<T, P, N> Send for PermissionControllerInstance<T, P, N>
impl<T, P, N> Sync for PermissionControllerInstance<T, P, N>
impl<T, P, N> Unpin for PermissionControllerInstance<T, P, N>
impl<T, P, N> UnwindSafe for PermissionControllerInstance<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,
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> 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