pub struct PackedUserOperation {Show 15 fields
pub sender: Address,
pub nonce: Uint<256, 4>,
pub factory: Option<Address>,
pub factory_data: Option<Bytes>,
pub call_data: Bytes,
pub call_gas_limit: Uint<256, 4>,
pub verification_gas_limit: Uint<256, 4>,
pub pre_verification_gas: Uint<256, 4>,
pub max_fee_per_gas: Uint<256, 4>,
pub max_priority_fee_per_gas: Uint<256, 4>,
pub paymaster: Option<Address>,
pub paymaster_verification_gas_limit: Option<Uint<256, 4>>,
pub paymaster_post_op_gas_limit: Option<Uint<256, 4>>,
pub paymaster_data: Option<Bytes>,
pub signature: Bytes,
}
eth
only.Expand description
PackedUserOperation
in the spec: Entry Point V0.7
Fields§
§sender: Address
The account making the operation.
nonce: Uint<256, 4>
Prevents message replay attacks and serves as a randomizing element for initial user registration.
factory: Option<Address>
Deployer contract address: Required exclusively for deploying new accounts that don’t yet exist on the blockchain.
factory_data: Option<Bytes>
Factory data for the account creation process, applicable only when using a deployer contract.
call_data: Bytes
The call data.
call_gas_limit: Uint<256, 4>
The gas limit for the call.
verification_gas_limit: Uint<256, 4>
The gas limit for the verification.
pre_verification_gas: Uint<256, 4>
Prepaid gas fee: Covers the bundler’s costs for initial transaction validation and data transmission.
max_fee_per_gas: Uint<256, 4>
The maximum fee per gas.
max_priority_fee_per_gas: Uint<256, 4>
The maximum priority fee per gas.
paymaster: Option<Address>
Paymaster contract address: Needed if a third party is covering transaction costs; left blank for self-funded accounts.
paymaster_verification_gas_limit: Option<Uint<256, 4>>
The gas limit for the paymaster verification.
paymaster_post_op_gas_limit: Option<Uint<256, 4>>
The gas limit for the paymaster post-operation.
paymaster_data: Option<Bytes>
The paymaster data.
signature: Bytes
The signature of the transaction.
Trait Implementations§
Source§impl Clone for PackedUserOperation
impl Clone for PackedUserOperation
Source§fn clone(&self) -> PackedUserOperation
fn clone(&self) -> PackedUserOperation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for PackedUserOperation
impl Debug for PackedUserOperation
Source§impl<'de> Deserialize<'de> for PackedUserOperation
impl<'de> Deserialize<'de> for PackedUserOperation
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PackedUserOperation, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PackedUserOperation, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for PackedUserOperation
impl PartialEq for PackedUserOperation
Source§impl Serialize for PackedUserOperation
impl Serialize for PackedUserOperation
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Eq for PackedUserOperation
impl StructuralPartialEq for PackedUserOperation
Auto Trait Implementations§
impl !Freeze for PackedUserOperation
impl RefUnwindSafe for PackedUserOperation
impl Send for PackedUserOperation
impl Sync for PackedUserOperation
impl Unpin for PackedUserOperation
impl UnwindSafe for PackedUserOperation
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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