pub struct EigenPodInstance<P, N = Ethereum> { /* private fields */ }
Expand description
A EigenPod
instance.
Contains type-safe methods for interacting with an on-chain instance of the
[`EigenPod`](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<P: Provider<N>, N: Network> EigenPodInstance<P, N>
Instantiation and getters/setters.
impl<P: Provider<N>, N: Network> EigenPodInstance<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 EigenPod
contract instance.
See the [wrapper's documentation](`EigenPodInstance`) for more details.
Sourcepub async fn deploy(
provider: P,
_ethPOS: Address,
_eigenPodManager: Address,
_GENESIS_TIME: u64,
) -> Result<EigenPodInstance<P, N>>
pub async fn deploy( provider: P, _ethPOS: Address, _eigenPodManager: Address, _GENESIS_TIME: u64, ) -> Result<EigenPodInstance<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,
_ethPOS: Address,
_eigenPodManager: Address,
_GENESIS_TIME: u64,
) -> RawCallBuilder<P, N>
pub fn deploy_builder( provider: P, _ethPOS: Address, _eigenPodManager: Address, _GENESIS_TIME: u64, ) -> RawCallBuilder<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<P: Clone, N> EigenPodInstance<&P, N>
impl<P: Clone, N> EigenPodInstance<&P, N>
Sourcepub fn with_cloned_provider(self) -> EigenPodInstance<P, N>
pub fn with_cloned_provider(self) -> EigenPodInstance<P, N>
Clones the provider and returns a new instance with the cloned provider.
Source§impl<P: Provider<N>, N: Network> EigenPodInstance<P, N>
Function calls.
impl<P: Provider<N>, N: Network> EigenPodInstance<P, N>
Function calls.
Sourcepub fn call_builder<C: SolCall>(&self, call: &C) -> SolCallBuilder<&P, C, N>
pub fn call_builder<C: SolCall>(&self, call: &C) -> SolCallBuilder<&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 GENESIS_TIME(&self) -> SolCallBuilder<&P, GENESIS_TIMECall, N>
pub fn GENESIS_TIME(&self) -> SolCallBuilder<&P, GENESIS_TIMECall, N>
Creates a new call builder for the [GENESIS_TIME
] function.
Sourcepub fn activeValidatorCount(
&self,
) -> SolCallBuilder<&P, activeValidatorCountCall, N>
pub fn activeValidatorCount( &self, ) -> SolCallBuilder<&P, activeValidatorCountCall, N>
Creates a new call builder for the [activeValidatorCount
] function.
Sourcepub fn checkpointBalanceExitedGwei(
&self,
_0: u64,
) -> SolCallBuilder<&P, checkpointBalanceExitedGweiCall, N>
pub fn checkpointBalanceExitedGwei( &self, _0: u64, ) -> SolCallBuilder<&P, checkpointBalanceExitedGweiCall, N>
Creates a new call builder for the [checkpointBalanceExitedGwei
] function.
Sourcepub fn currentCheckpoint(&self) -> SolCallBuilder<&P, currentCheckpointCall, N>
pub fn currentCheckpoint(&self) -> SolCallBuilder<&P, currentCheckpointCall, N>
Creates a new call builder for the [currentCheckpoint
] function.
Sourcepub fn currentCheckpointTimestamp(
&self,
) -> SolCallBuilder<&P, currentCheckpointTimestampCall, N>
pub fn currentCheckpointTimestamp( &self, ) -> SolCallBuilder<&P, currentCheckpointTimestampCall, N>
Creates a new call builder for the [currentCheckpointTimestamp
] function.
Sourcepub fn eigenPodManager(&self) -> SolCallBuilder<&P, eigenPodManagerCall, N>
pub fn eigenPodManager(&self) -> SolCallBuilder<&P, eigenPodManagerCall, N>
Creates a new call builder for the [eigenPodManager
] function.
Sourcepub fn ethPOS(&self) -> SolCallBuilder<&P, ethPOSCall, N>
pub fn ethPOS(&self) -> SolCallBuilder<&P, ethPOSCall, N>
Creates a new call builder for the [ethPOS
] function.
Sourcepub fn getParentBlockRoot(
&self,
timestamp: u64,
) -> SolCallBuilder<&P, getParentBlockRootCall, N>
pub fn getParentBlockRoot( &self, timestamp: u64, ) -> SolCallBuilder<&P, getParentBlockRootCall, N>
Creates a new call builder for the [getParentBlockRoot
] function.
Sourcepub fn initialize(
&self,
_podOwner: Address,
) -> SolCallBuilder<&P, initializeCall, N>
pub fn initialize( &self, _podOwner: Address, ) -> SolCallBuilder<&P, initializeCall, N>
Creates a new call builder for the [initialize
] function.
Sourcepub fn lastCheckpointTimestamp(
&self,
) -> SolCallBuilder<&P, lastCheckpointTimestampCall, N>
pub fn lastCheckpointTimestamp( &self, ) -> SolCallBuilder<&P, lastCheckpointTimestampCall, N>
Creates a new call builder for the [lastCheckpointTimestamp
] function.
Sourcepub fn podOwner(&self) -> SolCallBuilder<&P, podOwnerCall, N>
pub fn podOwner(&self) -> SolCallBuilder<&P, podOwnerCall, N>
Creates a new call builder for the [podOwner
] function.
Sourcepub fn proofSubmitter(&self) -> SolCallBuilder<&P, proofSubmitterCall, N>
pub fn proofSubmitter(&self) -> SolCallBuilder<&P, proofSubmitterCall, N>
Creates a new call builder for the [proofSubmitter
] function.
Sourcepub fn recoverTokens(
&self,
tokenList: Vec<Address>,
amountsToWithdraw: Vec<U256>,
recipient: Address,
) -> SolCallBuilder<&P, recoverTokensCall, N>
pub fn recoverTokens( &self, tokenList: Vec<Address>, amountsToWithdraw: Vec<U256>, recipient: Address, ) -> SolCallBuilder<&P, recoverTokensCall, N>
Creates a new call builder for the [recoverTokens
] function.
Sourcepub fn setProofSubmitter(
&self,
newProofSubmitter: Address,
) -> SolCallBuilder<&P, setProofSubmitterCall, N>
pub fn setProofSubmitter( &self, newProofSubmitter: Address, ) -> SolCallBuilder<&P, setProofSubmitterCall, N>
Creates a new call builder for the [setProofSubmitter
] function.
Sourcepub fn stake(
&self,
pubkey: Bytes,
signature: Bytes,
depositDataRoot: FixedBytes<32>,
) -> SolCallBuilder<&P, stakeCall, N>
pub fn stake( &self, pubkey: Bytes, signature: Bytes, depositDataRoot: FixedBytes<32>, ) -> SolCallBuilder<&P, stakeCall, N>
Creates a new call builder for the [stake
] function.
Sourcepub fn startCheckpoint(
&self,
revertIfNoBalance: bool,
) -> SolCallBuilder<&P, startCheckpointCall, N>
pub fn startCheckpoint( &self, revertIfNoBalance: bool, ) -> SolCallBuilder<&P, startCheckpointCall, N>
Creates a new call builder for the [startCheckpoint
] function.
Sourcepub fn validatorPubkeyHashToInfo(
&self,
validatorPubkeyHash: FixedBytes<32>,
) -> SolCallBuilder<&P, validatorPubkeyHashToInfoCall, N>
pub fn validatorPubkeyHashToInfo( &self, validatorPubkeyHash: FixedBytes<32>, ) -> SolCallBuilder<&P, validatorPubkeyHashToInfoCall, N>
Creates a new call builder for the [validatorPubkeyHashToInfo
] function.
Sourcepub fn validatorPubkeyToInfo(
&self,
validatorPubkey: Bytes,
) -> SolCallBuilder<&P, validatorPubkeyToInfoCall, N>
pub fn validatorPubkeyToInfo( &self, validatorPubkey: Bytes, ) -> SolCallBuilder<&P, validatorPubkeyToInfoCall, N>
Creates a new call builder for the [validatorPubkeyToInfo
] function.
Sourcepub fn validatorStatus_0(
&self,
validatorPubkey: Bytes,
) -> SolCallBuilder<&P, validatorStatus_0Call, N>
pub fn validatorStatus_0( &self, validatorPubkey: Bytes, ) -> SolCallBuilder<&P, validatorStatus_0Call, N>
Creates a new call builder for the [validatorStatus_0
] function.
Sourcepub fn validatorStatus_1(
&self,
pubkeyHash: FixedBytes<32>,
) -> SolCallBuilder<&P, validatorStatus_1Call, N>
pub fn validatorStatus_1( &self, pubkeyHash: FixedBytes<32>, ) -> SolCallBuilder<&P, validatorStatus_1Call, N>
Creates a new call builder for the [validatorStatus_1
] function.
Sourcepub fn verifyCheckpointProofs(
&self,
balanceContainerProof: <BalanceContainerProof as SolType>::RustType,
proofs: Vec<<BalanceProof as SolType>::RustType>,
) -> SolCallBuilder<&P, verifyCheckpointProofsCall, N>
pub fn verifyCheckpointProofs( &self, balanceContainerProof: <BalanceContainerProof as SolType>::RustType, proofs: Vec<<BalanceProof as SolType>::RustType>, ) -> SolCallBuilder<&P, verifyCheckpointProofsCall, N>
Creates a new call builder for the [verifyCheckpointProofs
] function.
Sourcepub fn verifyStaleBalance(
&self,
beaconTimestamp: u64,
stateRootProof: <StateRootProof as SolType>::RustType,
proof: <ValidatorProof as SolType>::RustType,
) -> SolCallBuilder<&P, verifyStaleBalanceCall, N>
pub fn verifyStaleBalance( &self, beaconTimestamp: u64, stateRootProof: <StateRootProof as SolType>::RustType, proof: <ValidatorProof as SolType>::RustType, ) -> SolCallBuilder<&P, verifyStaleBalanceCall, N>
Creates a new call builder for the [verifyStaleBalance
] function.
Sourcepub fn verifyWithdrawalCredentials(
&self,
beaconTimestamp: u64,
stateRootProof: <StateRootProof as SolType>::RustType,
validatorIndices: Vec<U40>,
validatorFieldsProofs: Vec<Bytes>,
validatorFields: Vec<Vec<FixedBytes<32>>>,
) -> SolCallBuilder<&P, verifyWithdrawalCredentialsCall, N>
pub fn verifyWithdrawalCredentials( &self, beaconTimestamp: u64, stateRootProof: <StateRootProof as SolType>::RustType, validatorIndices: Vec<U40>, validatorFieldsProofs: Vec<Bytes>, validatorFields: Vec<Vec<FixedBytes<32>>>, ) -> SolCallBuilder<&P, verifyWithdrawalCredentialsCall, N>
Creates a new call builder for the [verifyWithdrawalCredentials
] function.
Sourcepub fn withdrawRestakedBeaconChainETH(
&self,
recipient: Address,
amountWei: U256,
) -> SolCallBuilder<&P, withdrawRestakedBeaconChainETHCall, N>
pub fn withdrawRestakedBeaconChainETH( &self, recipient: Address, amountWei: U256, ) -> SolCallBuilder<&P, withdrawRestakedBeaconChainETHCall, N>
Creates a new call builder for the [withdrawRestakedBeaconChainETH
] function.
Sourcepub fn withdrawableRestakedExecutionLayerGwei(
&self,
) -> SolCallBuilder<&P, withdrawableRestakedExecutionLayerGweiCall, N>
pub fn withdrawableRestakedExecutionLayerGwei( &self, ) -> SolCallBuilder<&P, withdrawableRestakedExecutionLayerGweiCall, N>
Creates a new call builder for the [withdrawableRestakedExecutionLayerGwei
] function.
Source§impl<P: Provider<N>, N: Network> EigenPodInstance<P, N>
Event filters.
impl<P: Provider<N>, N: Network> EigenPodInstance<P, N>
Event filters.
Sourcepub fn event_filter<E: SolEvent>(&self) -> Event<&P, E, N>
pub fn event_filter<E: SolEvent>(&self) -> Event<&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 CheckpointCreated_filter(&self) -> Event<&P, CheckpointCreated, N>
pub fn CheckpointCreated_filter(&self) -> Event<&P, CheckpointCreated, N>
Creates a new event filter for the CheckpointCreated
event.
Sourcepub fn CheckpointFinalized_filter(&self) -> Event<&P, CheckpointFinalized, N>
pub fn CheckpointFinalized_filter(&self) -> Event<&P, CheckpointFinalized, N>
Creates a new event filter for the CheckpointFinalized
event.
Sourcepub fn EigenPodStaked_filter(&self) -> Event<&P, EigenPodStaked, N>
pub fn EigenPodStaked_filter(&self) -> Event<&P, EigenPodStaked, N>
Creates a new event filter for the EigenPodStaked
event.
Sourcepub fn Initialized_filter(&self) -> Event<&P, Initialized, N>
pub fn Initialized_filter(&self) -> Event<&P, Initialized, N>
Creates a new event filter for the Initialized
event.
Sourcepub fn NonBeaconChainETHReceived_filter(
&self,
) -> Event<&P, NonBeaconChainETHReceived, N>
pub fn NonBeaconChainETHReceived_filter( &self, ) -> Event<&P, NonBeaconChainETHReceived, N>
Creates a new event filter for the NonBeaconChainETHReceived
event.
Sourcepub fn ProofSubmitterUpdated_filter(
&self,
) -> Event<&P, ProofSubmitterUpdated, N>
pub fn ProofSubmitterUpdated_filter( &self, ) -> Event<&P, ProofSubmitterUpdated, N>
Creates a new event filter for the ProofSubmitterUpdated
event.
Sourcepub fn RestakedBeaconChainETHWithdrawn_filter(
&self,
) -> Event<&P, RestakedBeaconChainETHWithdrawn, N>
pub fn RestakedBeaconChainETHWithdrawn_filter( &self, ) -> Event<&P, RestakedBeaconChainETHWithdrawn, N>
Creates a new event filter for the RestakedBeaconChainETHWithdrawn
event.
Sourcepub fn ValidatorBalanceUpdated_filter(
&self,
) -> Event<&P, ValidatorBalanceUpdated, N>
pub fn ValidatorBalanceUpdated_filter( &self, ) -> Event<&P, ValidatorBalanceUpdated, N>
Creates a new event filter for the ValidatorBalanceUpdated
event.
Sourcepub fn ValidatorCheckpointed_filter(
&self,
) -> Event<&P, ValidatorCheckpointed, N>
pub fn ValidatorCheckpointed_filter( &self, ) -> Event<&P, ValidatorCheckpointed, N>
Creates a new event filter for the ValidatorCheckpointed
event.
Sourcepub fn ValidatorRestaked_filter(&self) -> Event<&P, ValidatorRestaked, N>
pub fn ValidatorRestaked_filter(&self) -> Event<&P, ValidatorRestaked, N>
Creates a new event filter for the ValidatorRestaked
event.
Sourcepub fn ValidatorWithdrawn_filter(&self) -> Event<&P, ValidatorWithdrawn, N>
pub fn ValidatorWithdrawn_filter(&self) -> Event<&P, ValidatorWithdrawn, N>
Creates a new event filter for the ValidatorWithdrawn
event.
Trait Implementations§
Source§impl<P: Clone, N: Clone> Clone for EigenPodInstance<P, N>
impl<P: Clone, N: Clone> Clone for EigenPodInstance<P, N>
Source§fn clone(&self) -> EigenPodInstance<P, N>
fn clone(&self) -> EigenPodInstance<P, N>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl<P, N> Freeze for EigenPodInstance<P, N>where
P: Freeze,
impl<P, N> RefUnwindSafe for EigenPodInstance<P, N>where
P: RefUnwindSafe,
N: RefUnwindSafe,
impl<P, N> Send for EigenPodInstance<P, N>
impl<P, N> Sync for EigenPodInstance<P, N>
impl<P, N> Unpin for EigenPodInstance<P, N>
impl<P, N> UnwindSafe for EigenPodInstance<P, N>where
P: UnwindSafe,
N: UnwindSafe,
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