pub struct TezosMethod2021 {
pub id: IriBuf,
pub controller: UriBuf,
pub public_key: PublicKey,
}
Expand description
TezosMethod2021
Verification Method.
§Signature algorithm
The signature algorithm must be either:
- EdBlake2b,
- ESBlake2bK,
- ESBlake2b
§Key format
The public key is either stored using the publicKeyJwk
or
blockchainAccountId
properties. Because blockchainAccountId
is just a
hash of the key, the public key must be embedded in the proof and passed to
the verification method (as its context).
In the proof, the public must be stored using the publicKeyJwk
or
publicKeyMultibase
properties. Here publicKeyMultibase
is used in a
non-standard way, where the public key is encoded in base58 (z
prefix) as
a tezos key (so without multicodec, contrarily to the specification).
Fields§
§id: IriBuf
Key identifier.
controller: UriBuf
Controller of the verification method.
public_key: PublicKey
Implementations§
Source§impl TezosMethod2021
impl TezosMethod2021
pub const NAME: &'static str = TEZOS_METHOD_2021_TYPE
pub const IRI: &'static Iri = TEZOS_METHOD_2021_IRI
pub fn public_key_jwk(&self) -> Option<&JWK>
pub fn verify_bytes( &self, public_key_jwk: Option<&JWK>, message: &[u8], algorithm: AnyBlake2b, signature: &[u8], ) -> Result<ProofValidity, ProofValidationError>
Trait Implementations§
Source§impl Clone for TezosMethod2021
impl Clone for TezosMethod2021
Source§fn clone(&self) -> TezosMethod2021
fn clone(&self) -> TezosMethod2021
Returns a duplicate 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 TezosMethod2021
impl Debug for TezosMethod2021
Source§impl<'de> Deserialize<'de> for TezosMethod2021
impl<'de> Deserialize<'de> for TezosMethod2021
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 From<TezosMethod2021> for AnyMethod
impl From<TezosMethod2021> for AnyMethod
Source§fn from(value: TezosMethod2021) -> Self
fn from(value: TezosMethod2021) -> Self
Converts to this type from the input type.
Source§impl Hash for TezosMethod2021
impl Hash for TezosMethod2021
Source§impl<I_, V_> LinkedData<I_, V_> for TezosMethod2021where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
PublicKey: LinkedDataSubject<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
impl<I_, V_> LinkedData<I_, V_> for TezosMethod2021where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
PublicKey: LinkedDataSubject<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
Source§impl<I_, V_> LinkedDataDeserializePredicateObjects<I_, V_> for TezosMethod2021where
IriBuf: LinkedDataDeserializeSubject<I_, V_>,
UriBuf: LinkedDataDeserializePredicateObjects<I_, V_>,
PublicKey: LinkedDataDeserializeSubject<I_, V_>,
I_: Interpretation + IriInterpretation<V_::Iri> + ReverseIriInterpretation<Iri = V_::Iri>,
V_: Vocabulary,
impl<I_, V_> LinkedDataDeserializePredicateObjects<I_, V_> for TezosMethod2021where
IriBuf: LinkedDataDeserializeSubject<I_, V_>,
UriBuf: LinkedDataDeserializePredicateObjects<I_, V_>,
PublicKey: LinkedDataDeserializeSubject<I_, V_>,
I_: Interpretation + IriInterpretation<V_::Iri> + ReverseIriInterpretation<Iri = V_::Iri>,
V_: Vocabulary,
fn deserialize_objects_in<'de_, D_>( vocabulary: &V_, interpretation: &I_, dataset: &D_, graph: Option<&I_::Resource>, objects: impl IntoIterator<Item = &'de_ I_::Resource>, context: Context<'_, I_>, ) -> Result<Self, FromLinkedDataError>
fn deserialize_objects<'a, D>(
vocabulary: &V,
interpretation: &I,
dataset: &D,
graph: Option<&<I as Interpretation>::Resource>,
objects: impl IntoIterator<Item = &'a <I as Interpretation>::Resource>,
) -> Result<Self, FromLinkedDataError>where
<I as Interpretation>::Resource: 'a,
D: PatternMatchingDataset<Resource = <I as Interpretation>::Resource>,
Source§impl<I_, V_> LinkedDataDeserializeSubject<I_, V_> for TezosMethod2021where
IriBuf: LinkedDataDeserializeSubject<I_, V_>,
UriBuf: LinkedDataDeserializePredicateObjects<I_, V_>,
PublicKey: LinkedDataDeserializeSubject<I_, V_>,
I_: Interpretation + IriInterpretation<V_::Iri> + ReverseIriInterpretation<Iri = V_::Iri>,
V_: Vocabulary,
impl<I_, V_> LinkedDataDeserializeSubject<I_, V_> for TezosMethod2021where
IriBuf: LinkedDataDeserializeSubject<I_, V_>,
UriBuf: LinkedDataDeserializePredicateObjects<I_, V_>,
PublicKey: LinkedDataDeserializeSubject<I_, V_>,
I_: Interpretation + IriInterpretation<V_::Iri> + ReverseIriInterpretation<Iri = V_::Iri>,
V_: Vocabulary,
fn deserialize_subject_in<D_>(
vocabulary_: &V_,
interpretation_: &I_,
dataset_: &D_,
graph_: Option<&I_::Resource>,
resource_: &I_::Resource,
context_: Context<'_, I_>,
) -> Result<Self, FromLinkedDataError>where
D_: PatternMatchingDataset<Resource = I_::Resource>,
fn deserialize_subject<D>( vocabulary: &V, interpretation: &I, dataset: &D, graph: Option<&<I as Interpretation>::Resource>, resource: &<I as Interpretation>::Resource, ) -> Result<Self, FromLinkedDataError>
Source§impl<I_, V_> LinkedDataGraph<I_, V_> for TezosMethod2021where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
PublicKey: LinkedDataSubject<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
impl<I_, V_> LinkedDataGraph<I_, V_> for TezosMethod2021where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
PublicKey: LinkedDataSubject<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
fn visit_graph<S_>(&self, visitor: S_) -> Result<S_::Ok, S_::Error>where
S_: GraphVisitor<I_, V_>,
Source§impl<I_, V_> LinkedDataPredicateObjects<I_, V_> for TezosMethod2021where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
PublicKey: LinkedDataSubject<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
impl<I_, V_> LinkedDataPredicateObjects<I_, V_> for TezosMethod2021where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
PublicKey: LinkedDataSubject<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
fn visit_objects<S_>(&self, visitor: S_) -> Result<S_::Ok, S_::Error>where
S_: PredicateObjectsVisitor<I_, V_>,
Source§impl<I_, V_> LinkedDataResource<I_, V_> for TezosMethod2021where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
PublicKey: LinkedDataSubject<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
impl<I_, V_> LinkedDataResource<I_, V_> for TezosMethod2021where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
PublicKey: LinkedDataSubject<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
fn interpretation( &self, vocabulary: &mut V_, interpretation: &mut I_, ) -> ResourceInterpretation<'_, I_, V_>
fn lexical_representation<'a>(
&'a self,
vocabulary: &'a mut V,
interpretation: &'a mut I,
) -> Option<CowRdfTerm<'a, V>>where
I: ReverseTermInterpretation<Iri = <V as IriVocabulary>::Iri, BlankId = <V as BlankIdVocabulary>::BlankId, Literal = <V as LiteralVocabulary>::Literal>,
fn reference_interpretation( &self, vocabulary: &mut V, interpretation: &mut I, ) -> ResourceInterpretation<'_, I, V>
Source§impl<I_, V_> LinkedDataSubject<I_, V_> for TezosMethod2021where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
PublicKey: LinkedDataSubject<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
impl<I_, V_> LinkedDataSubject<I_, V_> for TezosMethod2021where
UriBuf: LinkedDataPredicateObjects<I_, V_>,
PublicKey: LinkedDataSubject<I_, V_>,
IriBuf: LinkedDataResource<I_, V_>,
I_: Interpretation,
V_: Vocabulary + IriVocabularyMut,
fn visit_subject<S_>(&self, visitor: S_) -> Result<S_::Ok, S_::Error>where
S_: SubjectVisitor<I_, V_>,
Source§impl PartialEq for TezosMethod2021
impl PartialEq for TezosMethod2021
Source§impl Serialize for TezosMethod2021
impl Serialize for TezosMethod2021
Source§impl SigningMethod<JWK, AnyBlake2b> for TezosMethod2021
impl SigningMethod<JWK, AnyBlake2b> for TezosMethod2021
fn sign_bytes( &self, key: &JWK, algorithm: AnyBlake2b, bytes: &[u8], ) -> Result<Vec<u8>, MessageSignatureError>
fn sign_bytes_multi( &self, secret: &S, algorithm: <A as SignatureAlgorithmType>::Instance, messages: &[Vec<u8>], ) -> Result<Vec<u8>, MessageSignatureError>
Source§impl TryFrom<AnyMethod> for TezosMethod2021
impl TryFrom<AnyMethod> for TezosMethod2021
Source§impl TryFrom<GenericVerificationMethod> for TezosMethod2021
impl TryFrom<GenericVerificationMethod> for TezosMethod2021
Source§type Error = InvalidVerificationMethod
type Error = InvalidVerificationMethod
The type returned in the event of a conversion error.
Source§impl TypedVerificationMethod for TezosMethod2021
impl TypedVerificationMethod for TezosMethod2021
fn expected_type() -> Option<ExpectedType>
fn type_match(ty: &str) -> bool
fn type_(&self) -> &str
Source§impl VerificationMethod for TezosMethod2021
impl VerificationMethod for TezosMethod2021
impl Eq for TezosMethod2021
impl StructuralPartialEq for TezosMethod2021
Auto Trait Implementations§
impl Freeze for TezosMethod2021
impl RefUnwindSafe for TezosMethod2021
impl Send for TezosMethod2021
impl Sync for TezosMethod2021
impl Unpin for TezosMethod2021
impl UnwindSafe for TezosMethod2021
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> BorrowUnordered for T
impl<T> BorrowUnordered for T
fn as_unordered(&self) -> &Unordered<T>
Source§impl<T> CallHasher for T
impl<T> CallHasher for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'de, T, C> DeserializeTyped<'de, C> for Twhere
T: Deserialize<'de>,
impl<'de, T, C> DeserializeTyped<'de, C> for Twhere
T: Deserialize<'de>,
fn deserialize_typed<S>(
_: &C,
deserializer: S,
) -> Result<T, <S as Deserializer<'de>>::Error>where
S: Deserializer<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
fn equivalent(&self, key: &K) -> bool
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
impl<T, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
Source§impl<T> ResourceProvider<()> for T
impl<T> ResourceProvider<()> for T
Source§fn get_resource(&self) -> &()
fn get_resource(&self) -> &()
Returns a reference to the resource of type
T
.