Struct diem_sdk::types::account_state_blob::AccountStateWithProof
pub struct AccountStateWithProof {
pub version: u64,
pub blob: Option<AccountStateBlob>,
pub proof: AccountStateProof,
}
Fields§
§version: u64
The transaction version at which this account state is seen.
blob: Option<AccountStateBlob>
Blob value representing the account state. If this field is not set, it means the account does not exist.
proof: AccountStateProof
The proof the client can use to authenticate the value.
Implementations§
§impl AccountStateWithProof
impl AccountStateWithProof
pub fn new(
version: u64,
blob: Option<AccountStateBlob>,
proof: AccountStateProof
) -> AccountStateWithProof
pub fn new( version: u64, blob: Option<AccountStateBlob>, proof: AccountStateProof ) -> AccountStateWithProof
Constructor.
pub fn verify(
&self,
ledger_info: &LedgerInfo,
version: u64,
address: AccountAddress
) -> Result<(), Error>
pub fn verify( &self, ledger_info: &LedgerInfo, version: u64, address: AccountAddress ) -> Result<(), Error>
Verifies the the account state blob with the proof, both carried by self
.
Two things are ensured if no error is raised:
- This account state exists in the ledger represented by
ledger_info
. - It belongs to account of
address
and is seen at the time the transaction at versionstate_version
is just committed. To make sure this is the latest state, pass inledger_info.version()
asstate_version
.
Trait Implementations§
§impl Arbitrary for AccountStateWithProof
impl Arbitrary for AccountStateWithProof
§type Parameters = (<u64 as Arbitrary>::Parameters, <Option<AccountStateBlob> as Arbitrary>::Parameters, <AccountStateProof as Arbitrary>::Parameters)
type Parameters = (<u64 as Arbitrary>::Parameters, <Option<AccountStateBlob> as Arbitrary>::Parameters, <AccountStateProof 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, <Option<AccountStateBlob> as Arbitrary>::Strategy, <AccountStateProof as Arbitrary>::Strategy), fn(_: (u64, Option<AccountStateBlob>, AccountStateProof)) -> AccountStateWithProof>
type Strategy = Map<(<u64 as Arbitrary>::Strategy, <Option<AccountStateBlob> as Arbitrary>::Strategy, <AccountStateProof as Arbitrary>::Strategy), fn(_: (u64, Option<AccountStateBlob>, AccountStateProof)) -> AccountStateWithProof>
The type of
Strategy
used to generate values of type Self
.§fn arbitrary_with(
_top: <AccountStateWithProof as Arbitrary>::Parameters
) -> <AccountStateWithProof as Arbitrary>::Strategy
fn arbitrary_with( _top: <AccountStateWithProof as Arbitrary>::Parameters ) -> <AccountStateWithProof as Arbitrary>::Strategy
§impl Clone for AccountStateWithProof
impl Clone for AccountStateWithProof
§fn clone(&self) -> AccountStateWithProof
fn clone(&self) -> AccountStateWithProof
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 more§impl Debug for AccountStateWithProof
impl Debug for AccountStateWithProof
§impl<'de> Deserialize<'de> for AccountStateWithProof
impl<'de> Deserialize<'de> for AccountStateWithProof
§fn deserialize<__D>(
__deserializer: __D
) -> Result<AccountStateWithProof, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<AccountStateWithProof, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl PartialEq<AccountStateWithProof> for AccountStateWithProof
impl PartialEq<AccountStateWithProof> for AccountStateWithProof
§fn eq(&self, other: &AccountStateWithProof) -> bool
fn eq(&self, other: &AccountStateWithProof) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.§impl Serialize for AccountStateWithProof
impl Serialize for AccountStateWithProof
§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,
Serialize this value into the given Serde serializer. Read more
§impl TryFrom<&AccountStateWithProofView> for AccountStateWithProof
impl TryFrom<&AccountStateWithProofView> for AccountStateWithProof
§fn try_from(
account_state_with_proof_view: &AccountStateWithProofView
) -> Result<AccountStateWithProof, <AccountStateWithProof as TryFrom<&AccountStateWithProofView>>::Error>
fn try_from( account_state_with_proof_view: &AccountStateWithProofView ) -> Result<AccountStateWithProof, <AccountStateWithProof as TryFrom<&AccountStateWithProofView>>::Error>
Performs the conversion.
§impl TryFrom<AccountStateWithProof> for AccountStateWithProofView
impl TryFrom<AccountStateWithProof> for AccountStateWithProofView
§fn try_from(
account_state_with_proof: AccountStateWithProof
) -> Result<AccountStateWithProofView, Error>
fn try_from( account_state_with_proof: AccountStateWithProof ) -> Result<AccountStateWithProofView, Error>
Performs the conversion.
impl Eq for AccountStateWithProof
impl StructuralEq for AccountStateWithProof
impl StructuralPartialEq for AccountStateWithProof
Auto Trait Implementations§
impl RefUnwindSafe for AccountStateWithProof
impl Send for AccountStateWithProof
impl Sync for AccountStateWithProof
impl Unpin for AccountStateWithProof
impl UnwindSafe for AccountStateWithProof
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> 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>
§impl<T> TestOnlyHash for Twhere
T: Serialize + ?Sized,
impl<T> TestOnlyHash for Twhere T: Serialize + ?Sized,
§fn test_only_hash(&self) -> HashValue
fn test_only_hash(&self) -> HashValue
Generates a hash used only for tests.