pub struct IntegrationChain { /* private fields */ }
Expand description

Primary chain of full ResolvedIotaDocuments holding the latest version of a DID document and its history.

See also DocumentChain and DiffChain.

Implementations

Constructs a new IntegrationChain from a slice of Messages.

Constructs a new IntegrationChain from the given MessageIndex.

Creates a new IntegrationChain with current as the root ResolvedIotaDocument and no history.

Returns a reference to the latest ResolvedIotaDocument.

Returns a mutable reference to the latest ResolvedIotaDocument.

Returns the Tangle message id of the latest integration ResolvedIotaDocument.

Returns a slice of ResolvedIotaDocuments in the integration chain, if present. This excludes the current document.

Adds a new ResolvedIotaDocument to this IntegrationChain.

Errors

Fails if the ResolvedIotaDocument is not a valid addition. See IntegrationChain::check_valid_addition.

Returns true if the ResolvedIotaDocument can be added to this IntegrationChain.

See IntegrationChain::check_valid_addition.

Checks if the ResolvedIotaDocument can be added to this IntegrationChain.

NOTE: the checks here are not exhaustive (e.g. the document message_id is not verified to have been published and contain the same contents on the Tangle).

Errors

Fails if the document signature is invalid or the Tangle message references within the ResolvedIotaDocument are invalid.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Deserialize this value from the given Serde deserializer. Read more

Formats the value using the given formatter. Read more

Convert an IntegrationChain into an ordered list of documents with the current document as the last entry.

Converts to this type from the input type.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Format this as a JSON string or pretty-JSON string based on whether the # format flag was used. Read more

Returns the argument unchanged.

Deserialize Self from a string of JSON text.

Deserialize Self from bytes of JSON text.

Deserialize Self from a [serde_json::Value].

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

Should always be Self

Serialize self as a string of JSON.

Serialize self as a JSON byte vector.

Serialize self as a [serde_json::Value].

Serialize self as a pretty-printed string of JSON.

Serialize self as a JSON byte vector, normalized using JSON Canonicalization Scheme (JCS). Read more

The resulting type after obtaining ownership.

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

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

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more