pub struct AccountStateWithProof {
pub version: Version,
pub blob: Option<AccountStateBlob>,
pub proof: AccountStateProof,
}
Fields§
§version: Version
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§
source§impl AccountStateWithProof
impl AccountStateWithProof
sourcepub fn new(
version: Version,
blob: Option<AccountStateBlob>,
proof: AccountStateProof
) -> Self
pub fn new( version: Version, blob: Option<AccountStateBlob>, proof: AccountStateProof ) -> Self
Constructor.
sourcepub fn verify(
&self,
ledger_info: &LedgerInfo,
version: Version,
address: AccountAddress
) -> Result<()>
pub fn verify( &self, ledger_info: &LedgerInfo, version: Version, address: AccountAddress ) -> Result<()>
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§
source§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
.source§fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
source§impl Clone for AccountStateWithProof
impl Clone for AccountStateWithProof
source§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 moresource§impl Debug for AccountStateWithProof
impl Debug for AccountStateWithProof
source§impl<'de> Deserialize<'de> for AccountStateWithProof
impl<'de> Deserialize<'de> for AccountStateWithProof
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 PartialEq<AccountStateWithProof> for AccountStateWithProof
impl PartialEq<AccountStateWithProof> for AccountStateWithProof
source§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 ==
.source§impl Serialize for AccountStateWithProof
impl Serialize for AccountStateWithProof
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> 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.