Struct key_share::DirtyKeyInfo
source · pub struct DirtyKeyInfo<E: Curve> {
pub curve: CurveName<E>,
pub shared_public_key: NonZero<Point<E>>,
pub public_shares: Vec<NonZero<Point<E>>>,
pub vss_setup: Option<VssSetup<E>>,
pub chain_code: Option<ChainCode>,
}Expand description
Public Key Info
Contains public information about the TSS key, including shared public key, commitments to secret shares and etc.
Fields§
§curve: CurveName<E>Guard that ensures curve consistency for deseraization
Public key corresponding to shared secret key. Corresponds to X in paper.
Public shares of all signers sharing the key
public_shares[i] corresponds to public share (or public commitment) of $\ith$ party.
vss_setup: Option<VssSetup<E>>Verifiable secret sharing setup, present if key was generated using VSS scheme
chain_code: Option<ChainCode>Available on crate feature
hd-wallets only.Chain code associated with the key, if HD wallets support was enabled
Implementations§
source§impl<E: Curve> DirtyKeyInfo<E>
impl<E: Curve> DirtyKeyInfo<E>
Returns share preimage associated with j-th signer
- For additive shares, share preimage is defined as
j+1 - For VSS-shares, share preimage is scalar $I_j$ such that $x_j = F(I_j)$ where $F(x)$ is polynomial co-shared by the signers and $x_j$ is secret share of j-th signer
Note: if you have no idea what it is, probably you don’t need it.
Trait Implementations§
source§fn as_ref(&self) -> &DirtyKeyInfo<E>
fn as_ref(&self) -> &DirtyKeyInfo<E>
Converts this type into a shared reference of the (usually inferred) input type.
source§impl<E: Clone + Curve> Clone for DirtyKeyInfo<E>
impl<E: Clone + Curve> Clone for DirtyKeyInfo<E>
source§fn clone(&self) -> DirtyKeyInfo<E>
fn clone(&self) -> DirtyKeyInfo<E>
Returns a copy 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<'de, E: Curve> Deserialize<'de> for DirtyKeyInfo<E>
impl<'de, E: Curve> Deserialize<'de> for DirtyKeyInfo<E>
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<E> Digestable for DirtyKeyInfo<E>where
E: Digestable + Curve,
impl<E> Digestable for DirtyKeyInfo<E>where
E: Digestable + Curve,
source§fn unambiguously_encode<B>(&self, encoder: EncodeValue<'_, B>)where
B: Buffer,
fn unambiguously_encode<B>(&self, encoder: EncodeValue<'_, B>)where
B: Buffer,
Unambiguously encodes the value
source§impl<E: Curve> Serialize for DirtyKeyInfo<E>
impl<E: Curve> Serialize for DirtyKeyInfo<E>
Auto Trait Implementations§
impl<E> Freeze for DirtyKeyInfo<E>
impl<E> RefUnwindSafe for DirtyKeyInfo<E>
impl<E> Send for DirtyKeyInfo<E>
impl<E> Sync for DirtyKeyInfo<E>
impl<E> Unpin for DirtyKeyInfo<E>
impl<E> UnwindSafe for DirtyKeyInfo<E>
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