pub trait PayloadAttributes:
DeserializeOwned
+ Serialize
+ Debug
+ Clone
+ Send
+ Sync
+ 'static {
// Required methods
fn payload_id(&self, parent_hash: &FixedBytes<32>) -> PayloadId;
fn timestamp(&self) -> u64;
fn withdrawals(&self) -> Option<&Vec<Withdrawal>>;
fn parent_beacon_block_root(&self) -> Option<FixedBytes<32>>;
fn slot_number(&self) -> Option<u64>;
}Expand description
Basic attributes required to initiate payload construction.
Defines minimal parameters needed to build a new execution payload. Implementations must be serializable for transmission.
Required Methods§
Sourcefn payload_id(&self, parent_hash: &FixedBytes<32>) -> PayloadId
fn payload_id(&self, parent_hash: &FixedBytes<32>) -> PayloadId
Computes the unique identifier for this payload build job.
Sourcefn withdrawals(&self) -> Option<&Vec<Withdrawal>>
fn withdrawals(&self) -> Option<&Vec<Withdrawal>>
Returns the withdrawals to be included in the payload.
Some for post-Shanghai blocks, None for earlier blocks.
Sourcefn parent_beacon_block_root(&self) -> Option<FixedBytes<32>>
fn parent_beacon_block_root(&self) -> Option<FixedBytes<32>>
Returns the parent beacon block root.
Some for post-merge blocks, None for pre-merge blocks.
Sourcefn slot_number(&self) -> Option<u64>
fn slot_number(&self) -> Option<u64>
Returns the slot number for the new payload.
Some for post-Amsterdam blocks, None for earlier blocks.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.