pub struct HoprPixSpec;Expand description
Current specification of the PIX protocol in HOPR.
Trait Implementations§
Source§impl Clone for HoprPixSpec
impl Clone for HoprPixSpec
Source§fn clone(&self) -> HoprPixSpec
fn clone(&self) -> HoprPixSpec
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for HoprPixSpec
Source§impl Debug for HoprPixSpec
impl Debug for HoprPixSpec
Source§impl Default for HoprPixSpec
impl Default for HoprPixSpec
Source§fn default() -> HoprPixSpec
fn default() -> HoprPixSpec
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for HoprPixSpec
impl<'de> Deserialize<'de> for HoprPixSpec
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
impl Eq for HoprPixSpec
Source§impl Hash for HoprPixSpec
impl Hash for HoprPixSpec
Source§impl Ord for HoprPixSpec
impl Ord for HoprPixSpec
Source§fn cmp(&self, other: &HoprPixSpec) -> Ordering
fn cmp(&self, other: &HoprPixSpec) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for HoprPixSpec
impl PartialEq for HoprPixSpec
Source§impl PartialOrd for HoprPixSpec
impl PartialOrd for HoprPixSpec
Source§impl PixSpec for HoprPixSpec
Available on crate feature pix-bjj and non-crate feature pix-secp256k1 only.
impl PixSpec for HoprPixSpec
Available on crate feature
pix-bjj and non-crate feature pix-secp256k1 only.Source§const HASH_TO_SCALAR_SUITE_ID: &'static [u8] = b"BabyJubJub_XMD:BLAKE3_SSWU_RO_"
const HASH_TO_SCALAR_SUITE_ID: &'static [u8] = b"BabyJubJub_XMD:BLAKE3_SSWU_RO_"
Stable, protocol-versioned hash-to-scalar suite identifier used for
domain separation. This must be a fixed string — deriving it dynamically
from Debug output would break wire compatibility when dependency versions
change formatting.
Source§type AddressPrivateKey = BjjKeypair
type AddressPrivateKey = BjjKeypair
Private key type.
Source§type Cipher = StreamCipherCoreWrapper<ChaChaCore<R20, Ietf>>
type Cipher = StreamCipherCoreWrapper<ChaChaCore<R20, Ietf>>
Stream cipher used to encrypt the SSA shares.
Source§type DepositAddress = BjjPublicKey
type DepositAddress = BjjPublicKey
Deposit address type.
Source§fn group_to_deposit_address(
group: PixGroup<Self>,
) -> Option<Self::DepositAddress>
fn group_to_deposit_address( group: PixGroup<Self>, ) -> Option<Self::DepositAddress>
Converts
PixGroup to an address that can be deposited to. Read moreSource§fn scalar_to_private_key(
scalar: PixScalar<Self>,
) -> Option<Self::AddressPrivateKey>
fn scalar_to_private_key( scalar: PixScalar<Self>, ) -> Option<Self::AddressPrivateKey>
Convert
PixScalar to a private key of a deposit address. Read moreSource§const KEY_DERIVATION_CONTEXT: &'static str = "HASH_SSA_POLY_SHARE"
const KEY_DERIVATION_CONTEXT: &'static str = "HASH_SSA_POLY_SHARE"
Context data used to derive the SSA encryption key.
Source§const HASH_SCALAR_DERIVATION_CONTEXT: &'static str = "HASH_SSA_POLY_SHARE_SCALAR"
const HASH_SCALAR_DERIVATION_CONTEXT: &'static str = "HASH_SSA_POLY_SHARE_SCALAR"
Domain separator used to derive the X value of a share.
Source§const HASH_COMMITMENT_PROOF_CONTEXT: &'static str = "HASH_SSA_COMMITMENT_PROOF"
const HASH_COMMITMENT_PROOF_CONTEXT: &'static str = "HASH_SSA_COMMITMENT_PROOF"
Domain separator used to derive the Fiat–Shamir challenge of an
SsaCommitmentProof.Source§fn msg_to_scalar(
spi: &SsaPolynomialId<Self::Pseudonym>,
msg: impl AsRef<[u8]>,
) -> Result<<Self::Curve as CurveArithmetic>::Scalar, PixError<Self::Pseudonym>>where
Self: Sized,
fn msg_to_scalar(
spi: &SsaPolynomialId<Self::Pseudonym>,
msg: impl AsRef<[u8]>,
) -> Result<<Self::Curve as CurveArithmetic>::Scalar, PixError<Self::Pseudonym>>where
Self: Sized,
Source§fn commitment_proof_challenge(
ssa_id: &SsaId<Self::Pseudonym>,
ssa_commitment: &<Self::Curve as CurveArithmetic>::ProjectivePoint,
nonce_commitment: &<Self::Curve as CurveArithmetic>::ProjectivePoint,
) -> Result<<Self::Curve as CurveArithmetic>::Scalar, PixError<Self::Pseudonym>>where
Self: Sized,
fn commitment_proof_challenge(
ssa_id: &SsaId<Self::Pseudonym>,
ssa_commitment: &<Self::Curve as CurveArithmetic>::ProjectivePoint,
nonce_commitment: &<Self::Curve as CurveArithmetic>::ProjectivePoint,
) -> Result<<Self::Curve as CurveArithmetic>::Scalar, PixError<Self::Pseudonym>>where
Self: Sized,
Derives the Fiat–Shamir challenge of an
SsaCommitmentProof over the client’s
ssa_commitment and the prover’s nonce_commitment. Read moreSource§impl Serialize for HoprPixSpec
impl Serialize for HoprPixSpec
impl StructuralPartialEq for HoprPixSpec
Auto Trait Implementations§
impl Freeze for HoprPixSpec
impl RefUnwindSafe for HoprPixSpec
impl Send for HoprPixSpec
impl Sync for HoprPixSpec
impl Unpin for HoprPixSpec
impl UnsafeUnpin for HoprPixSpec
impl UnwindSafe for HoprPixSpec
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
impl<'de, T> BorrowedRpcObject<'de> for Twhere
T: RpcBorrow<'de> + RpcSend,
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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