pub struct McIngredients<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair> { /* private fields */ }Expand description
Everything you need to authorise entries via Meadowcap: a WriteCapability, and the keypair of its receiver.
Implementations§
Source§impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair> McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair> McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
Sourcepub fn capability(
&self,
) -> &WriteCapability<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature>
pub fn capability( &self, ) -> &WriteCapability<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature>
Returns a reference to the write capability.
Sourcepub fn keypair(&self) -> &UserKeypair
pub fn keypair(&self) -> &UserKeypair
Returns a reference to the keypair.
Sourcepub fn into_parts(
self,
) -> (WriteCapability<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature>, UserKeypair)
pub fn into_parts( self, ) -> (WriteCapability<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature>, UserKeypair)
Takes ownership of the ingredients and returns the capability and keypair by value.
Source§impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair> McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair> McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
Sourcepub fn new(
capability: WriteCapability<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature>,
keypair: UserKeypair,
) -> Option<Self>
pub fn new( capability: WriteCapability<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature>, keypair: UserKeypair, ) -> Option<Self>
Creates new McIngredients, returning None if the keypair does not match the receiver of the capability.
use willow_data_model::{prelude::*, test_parameters::*};
use meadowcap::*;
let cap = WriteCapability::<
4, 4, 4,
TestNamespace,
TestNamespaceSignature,
TestSubspace,
TestSubspaceSignature,
>::new_communal(Family, Alfie);
assert!(McIngredients::new(cap.clone(), AlfieSecret).is_some());
assert!(McIngredients::new(cap, BettySecret).is_none());Trait Implementations§
Source§impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey: Clone, NamespaceSignature: Clone, UserPublicKey: Clone, UserSignature: Clone, UserKeypair: Clone> Clone for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey: Clone, NamespaceSignature: Clone, UserPublicKey: Clone, UserSignature: Clone, UserKeypair: Clone> Clone for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
Source§fn clone(
&self,
) -> McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
fn clone( &self, ) -> McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
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<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey: Debug, NamespaceSignature: Debug, UserPublicKey: Debug, UserSignature: Debug, UserKeypair: Debug> Debug for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey: Debug, NamespaceSignature: Debug, UserPublicKey: Debug, UserSignature: Debug, UserKeypair: Debug> Debug for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
Source§impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey: Hash, NamespaceSignature: Hash, UserPublicKey: Hash, UserSignature: Hash, UserKeypair: Hash> Hash for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey: Hash, NamespaceSignature: Hash, UserPublicKey: Hash, UserSignature: Hash, UserKeypair: Hash> Hash for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
Source§impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey: PartialEq, NamespaceSignature: PartialEq, UserPublicKey: PartialEq, UserSignature: PartialEq, UserKeypair: PartialEq> PartialEq for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey: PartialEq, NamespaceSignature: PartialEq, UserPublicKey: PartialEq, UserSignature: PartialEq, UserKeypair: PartialEq> PartialEq for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
Source§fn eq(
&self,
other: &McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>,
) -> bool
fn eq( &self, other: &McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>, ) -> bool
Tests for
self and other values to be equal, and is used by ==.impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey: Eq, NamespaceSignature: Eq, UserPublicKey: Eq, UserSignature: Eq, UserKeypair: Eq> Eq for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair> StructuralPartialEq for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
Auto Trait Implementations§
impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair> Freeze for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair> RefUnwindSafe for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>where
UserKeypair: RefUnwindSafe,
NamespacePublicKey: RefUnwindSafe,
UserPublicKey: RefUnwindSafe,
NamespaceSignature: RefUnwindSafe,
UserSignature: RefUnwindSafe,
impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair> Send for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair> Sync for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair> Unpin for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>
impl<const MCL: usize, const MCC: usize, const MPL: usize, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair> UnwindSafe for McIngredients<MCL, MCC, MPL, NamespacePublicKey, NamespaceSignature, UserPublicKey, UserSignature, UserKeypair>where
UserKeypair: UnwindSafe,
NamespacePublicKey: UnwindSafe,
UserPublicKey: UnwindSafe,
NamespaceSignature: UnwindSafe,
UserSignature: UnwindSafe,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more