Skip to main content

WitnessStatement

Struct WitnessStatement 

Source
pub struct WitnessStatement {
    pub format_version: u16,
    pub witness: String,
    pub home_node_id: String,
    pub snapshot: String,
    pub at_seq: u64,
    pub seen_at_seq: u64,
}
Expand description

A seed’s word that it folded the home’s attestation snapshot (D80).

Its own object, under its own format_version, served and never written into anybody’s log: a seed that cosigned through the home would have to win a race against every new attestation, and a statement compared by ancestry does not care how many landed since.

Fields§

§format_version: u16

Version of this object’s shape; 1.

§witness: String

The seed’s actor id: the hash of the key that signs this.

§home_node_id: String

The home’s node actor id, which signed the attestation.

§snapshot: String

The attestation’s id, choir_view::RefSnapshot::id, as hex.

§at_seq: u64

The log position the attestation occupies.

§seen_at_seq: u64

The last seq the seed had folded when it signed.

Implementations§

Source§

impl WitnessStatement

Source

pub fn canonical_bytes(&self) -> Vec<u8> ⓘ

The bytes that are signed: compact JSON, fields in declaration order.

Written out rather than left to a map’s iteration order, because whether serde_json sorts object keys depends on a feature any crate in a build can switch on, and a signature over bytes that move with the build is a signature over nothing.

Source

pub fn from_json(value: &Value) -> Option<Self>

Reads one back from its JSON form.

Source

pub fn to_json(&self) -> Value

Its JSON form.

Trait Implementations§

Source§

impl Clone for WitnessStatement

Source§

fn clone(&self) -> WitnessStatement

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for WitnessStatement

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for WitnessStatement

Source§

fn eq(&self, other: &WitnessStatement) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for WitnessStatement

Source§

impl StructuralPartialEq for WitnessStatement

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.