Struct diem_types::contract_event::EventWithProof
source · pub struct EventWithProof {
pub transaction_version: u64,
pub event_index: u64,
pub event: ContractEvent,
pub proof: EventProof,
}
Fields§
§transaction_version: u64
§event_index: u64
§event: ContractEvent
§proof: EventProof
Implementations§
source§impl EventWithProof
impl EventWithProof
sourcepub fn new(
transaction_version: Version,
event_index: u64,
event: ContractEvent,
proof: EventProof
) -> Self
pub fn new( transaction_version: Version, event_index: u64, event: ContractEvent, proof: EventProof ) -> Self
Constructor.
sourcepub fn verify(
&self,
ledger_info: &LedgerInfo,
event_key: &EventKey,
sequence_number: u64,
transaction_version: Version,
event_index: u64
) -> Result<()>
pub fn verify( &self, ledger_info: &LedgerInfo, event_key: &EventKey, sequence_number: u64, transaction_version: Version, event_index: u64 ) -> Result<()>
Verifies the event with the proof, both carried by self
.
Two things are ensured if no error is raised:
- This event exists in the ledger represented by
ledger_info
. - And this event has the same
event_key
,sequence_number
,transaction_version
, andevent_index
as indicated in the parameter list. If any of these parameter is unknown to the call site and is supposed to be informed by this struct, get it from the struct itself, such as:event_with_proof.event.access_path()
,event_with_proof.event_index()
, etc.
Trait Implementations§
source§impl Arbitrary for EventWithProof
impl Arbitrary for EventWithProof
§type Parameters = (<u64 as Arbitrary>::Parameters, <u64 as Arbitrary>::Parameters, <ContractEvent as Arbitrary>::Parameters, <EventProof as Arbitrary>::Parameters)
type Parameters = (<u64 as Arbitrary>::Parameters, <u64 as Arbitrary>::Parameters, <ContractEvent as Arbitrary>::Parameters, <EventProof as Arbitrary>::Parameters)
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.§type Strategy = Map<(<u64 as Arbitrary>::Strategy, <u64 as Arbitrary>::Strategy, <ContractEvent as Arbitrary>::Strategy, <EventProof as Arbitrary>::Strategy), fn(_: (u64, u64, ContractEvent, EventProof)) -> EventWithProof>
type Strategy = Map<(<u64 as Arbitrary>::Strategy, <u64 as Arbitrary>::Strategy, <ContractEvent as Arbitrary>::Strategy, <EventProof as Arbitrary>::Strategy), fn(_: (u64, u64, ContractEvent, EventProof)) -> EventWithProof>
The type of
Strategy
used to generate values of type Self
.source§fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
source§impl Clone for EventWithProof
impl Clone for EventWithProof
source§fn clone(&self) -> EventWithProof
fn clone(&self) -> EventWithProof
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for EventWithProof
impl Debug for EventWithProof
source§impl<'de> Deserialize<'de> for EventWithProof
impl<'de> Deserialize<'de> for EventWithProof
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Display for EventWithProof
impl Display for EventWithProof
source§impl PartialEq<EventWithProof> for EventWithProof
impl PartialEq<EventWithProof> for EventWithProof
source§fn eq(&self, other: &EventWithProof) -> bool
fn eq(&self, other: &EventWithProof) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for EventWithProof
impl Serialize for EventWithProof
impl Eq for EventWithProof
impl StructuralEq for EventWithProof
impl StructuralPartialEq for EventWithProof
Auto Trait Implementations§
impl RefUnwindSafe for EventWithProof
impl Send for EventWithProof
impl Sync for EventWithProof
impl Unpin for EventWithProof
impl UnwindSafe for EventWithProof
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> TestOnlyHash for Twhere
T: Serialize + ?Sized,
impl<T> TestOnlyHash for Twhere T: Serialize + ?Sized,
source§fn test_only_hash(&self) -> HashValue
fn test_only_hash(&self) -> HashValue
Generates a hash used only for tests.