pub struct TreasureMap {
pub threshold: u8,
pub hrac: HRAC,
pub destinations: BTreeMap<Address, EncryptedKeyFrag>,
pub policy_encrypting_key: PublicKey,
pub publisher_verifying_key: PublicKey,
}
Expand description
A structure containing KeyFrag
objects encrypted for Ursulas chosen for this policy.
Fields§
§threshold: u8
Threshold for successful re-encryption.
hrac: HRAC
Policy HRAC.
destinations: BTreeMap<Address, EncryptedKeyFrag>
Encrypted key frags assigned to target Ursulas.
policy_encrypting_key: PublicKey
A key to create encrypted messages under this policy.
publisher_verifying_key: PublicKey
Publisher’s verifying key.
Implementations§
Source§impl TreasureMap
impl TreasureMap
Sourcepub fn new(
signer: &Signer,
hrac: &HRAC,
policy_encrypting_key: &PublicKey,
assigned_kfrags: impl IntoIterator<Item = (Address, (PublicKey, VerifiedKeyFrag))>,
threshold: u8,
) -> Self
pub fn new( signer: &Signer, hrac: &HRAC, policy_encrypting_key: &PublicKey, assigned_kfrags: impl IntoIterator<Item = (Address, (PublicKey, VerifiedKeyFrag))>, threshold: u8, ) -> Self
Create a new treasure map for a collection of ursulas and kfrags.
Panics if threshold
is set to 0,
the number of assigned keyfrags is less than threshold
,
or if the addresses in assigned_kfrags
repeat.
Sourcepub fn encrypt(
&self,
signer: &Signer,
recipient_key: &PublicKey,
) -> EncryptedTreasureMap
pub fn encrypt( &self, signer: &Signer, recipient_key: &PublicKey, ) -> EncryptedTreasureMap
Encrypts the treasure map for Bob.
Sourcepub fn make_revocation_orders(&self, signer: &Signer) -> Vec<RevocationOrder>
pub fn make_revocation_orders(&self, signer: &Signer) -> Vec<RevocationOrder>
Makes revocation orders for all destinations in the treasure map.
Trait Implementations§
Source§impl Clone for TreasureMap
impl Clone for TreasureMap
Source§fn clone(&self) -> TreasureMap
fn clone(&self) -> TreasureMap
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 TreasureMap
impl Debug for TreasureMap
Source§impl<'de> Deserialize<'de> for TreasureMap
impl<'de> Deserialize<'de> for TreasureMap
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 PartialEq for TreasureMap
impl PartialEq for TreasureMap
Source§impl<'a> ProtocolObject<'a> for TreasureMap
impl<'a> ProtocolObject<'a> for TreasureMap
Source§impl Serialize for TreasureMap
impl Serialize for TreasureMap
impl StructuralPartialEq for TreasureMap
Auto Trait Implementations§
impl Freeze for TreasureMap
impl RefUnwindSafe for TreasureMap
impl Send for TreasureMap
impl Sync for TreasureMap
impl Unpin for TreasureMap
impl UnwindSafe for TreasureMap
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> FromBytes for Twhere
T: for<'de> Deserialize<'de>,
impl<T> FromBytes for Twhere
T: for<'de> Deserialize<'de>,
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