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

A DID Document Verification Method.

Specification

Implementations§

source§

impl VerificationMethod

source

pub fn builder(properties: BTreeMap<String, Value>) -> MethodBuilder

Creates a MethodBuilder to configure a new Method.

This is the same as MethodBuilder::new().

source

pub fn from_builder(builder: MethodBuilder) -> Result<VerificationMethod, Error>

Returns a new Method based on the MethodBuilder configuration.

source

pub fn id(&self) -> &DIDUrl

Returns a reference to the VerificationMethod id.

source

pub fn set_id(&mut self, id: DIDUrl) -> Result<(), Error>

Sets the VerificationMethod id.

§Errors

Error::MissingIdFragment if there is no fragment on the DIDUrl.

source

pub fn controller(&self) -> &CoreDID

Returns a reference to the VerificationMethod controller.

source

pub fn controller_mut(&mut self) -> &mut CoreDID

Returns a mutable reference to the VerificationMethod controller.

source

pub fn type_(&self) -> &MethodType

Returns a reference to the VerificationMethod type.

source

pub fn type_mut(&mut self) -> &mut MethodType

Returns a mutable reference to the VerificationMethod type.

source

pub fn data(&self) -> &MethodData

Returns a reference to the VerificationMethod data.

source

pub fn data_mut(&mut self) -> &mut MethodData

Returns a mutable reference to the VerificationMethod data.

source

pub fn properties(&self) -> &BTreeMap<String, Value>

Returns a reference to the custom VerificationMethod properties.

source

pub fn properties_mut(&mut self) -> &mut BTreeMap<String, Value>

Returns a mutable reference to the custom VerificationMethod properties.

source

pub fn into_method_ref(self) -> MethodRef

Creates a new MethodRef from self.

source

pub fn map<F>(self, f: F) -> VerificationMethod
where F: FnMut(CoreDID) -> CoreDID,

Maps the VerificationMethod by applying a function f to the CoreDID components of id and controller. Useful when working with DID methods where the identifier is not known before publishing.

source

pub fn try_map<F, E>(self, f: F) -> Result<VerificationMethod, E>
where F: FnMut(CoreDID) -> Result<CoreDID, E>,

Fallible version of VerificationMethod::map.

source§

impl VerificationMethod

source

pub fn new_from_jwk<D>( did: D, key: Jwk, fragment: Option<&str> ) -> Result<VerificationMethod, Error>
where D: DID,

Creates a new VerificationMethod from the given did and Jwk. If fragment is not given the kid value of the given key will be used, if present, otherwise an error is returned.

§Recommendations

The following recommendations are essentially taken from the publicKeyJwk description from the DID specification:

  • It is recommended that verification methods that use Jwks to represent their public keys use the value of kid as their fragment identifier. This is done automatically if None is passed in as the fragment.
  • It is recommended that Jwk kid values are set to the public key fingerprint. See Jwk::thumbprint_sha256_b64.

Trait Implementations§

source§

impl AsRef<DIDUrl> for VerificationMethod

source§

fn as_ref(&self) -> &DIDUrl

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Clone for VerificationMethod

source§

fn clone(&self) -> VerificationMethod

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for VerificationMethod

source§

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

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

impl<'de> Deserialize<'de> for VerificationMethod

source§

fn deserialize<__D>( __deserializer: __D ) -> Result<VerificationMethod, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Display for VerificationMethod

source§

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

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

impl From<VerificationMethod> for MethodRef

source§

fn from(other: VerificationMethod) -> MethodRef

Converts to this type from the input type.
source§

impl From<_VerificationMethod> for VerificationMethod

source§

fn from(value: _VerificationMethod) -> VerificationMethod

Converts to this type from the input type.
source§

impl KeyComparable for VerificationMethod

§

type Key = DIDUrl

Key type for comparisons.
source§

fn key(&self) -> &<VerificationMethod as KeyComparable>::Key

Returns a reference to the key.
source§

impl PartialEq for VerificationMethod

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for VerificationMethod

source§

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
source§

impl Eq for VerificationMethod

source§

impl StructuralPartialEq for VerificationMethod

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> ConvertTo<T> for T
where T: Send,

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> FmtJson for T
where T: ToJson,

source§

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

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

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FromJson for T
where T: for<'de> Deserialize<'de>,

source§

fn from_json(json: &(impl AsRef<str> + ?Sized)) -> Result<Self, Error>

Deserialize Self from a string of JSON text.
source§

fn from_json_slice(json: &(impl AsRef<[u8]> + ?Sized)) -> Result<Self, Error>

Deserialize Self from bytes of JSON text.
source§

fn from_json_value(json: Value) -> Result<Self, Error>

Deserialize Self from a serde_json::Value.
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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

§

type Output = T

Should always be Self
source§

impl<T> ToJson for T
where T: Serialize,

source§

fn to_json(&self) -> Result<String, Error>

Serialize self as a string of JSON.
source§

fn to_json_vec(&self) -> Result<Vec<u8>, Error>

Serialize self as a JSON byte vector.
source§

fn to_json_value(&self) -> Result<Value, Error>

Serialize self as a serde_json::Value.
source§

fn to_json_pretty(&self) -> Result<String, Error>

Serialize self as a pretty-printed string of JSON.
source§

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

§

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> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,