pub struct Initializer {
pub stake: Stake,
pub params: Parameters,
/* private fields */
}Expand description
Initializer for Signer.
This is the data that is used during the key registration procedure.
Once the latter is finished, this instance is consumed into an Signer.
Fields§
§stake: StakeThis participant’s stake.
params: ParametersCurrent protocol instantiation parameters.
Implementations§
Source§impl Initializer
impl Initializer
Sourcepub fn new<R: RngCore + CryptoRng>(
params: Parameters,
stake: Stake,
rng: &mut R,
) -> Self
pub fn new<R: RngCore + CryptoRng>( params: Parameters, stake: Stake, rng: &mut R, ) -> Self
Builds an Initializer that is ready to register with the key registration service.
This function generates the signing and verification key with a PoP, and initialises the structure.
Sourcepub fn setup<R: RngCore + CryptoRng>(
params: Parameters,
stake: Stake,
rng: &mut R,
) -> Self
👎Deprecated since 0.5.0: Use new instead
pub fn setup<R: RngCore + CryptoRng>( params: Parameters, stake: Stake, rng: &mut R, ) -> Self
new insteadBuilds an Initializer that is ready to register with the key registration service.
This function generates the signing and verification key with a PoP, and initialises the structure.
Sourcepub fn get_verification_key_proof_of_possession(
&self,
) -> VerificationKeyProofOfPossession
pub fn get_verification_key_proof_of_possession( &self, ) -> VerificationKeyProofOfPossession
Extract the verification key with proof of possession.
Sourcepub fn verification_key(&self) -> VerificationKeyProofOfPossession
👎Deprecated since 0.5.0: Use get_verification_key_proof_of_possession instead
pub fn verification_key(&self) -> VerificationKeyProofOfPossession
get_verification_key_proof_of_possession insteadExtract the verification key.
Sourcepub fn create_signer<D: Digest + Clone + FixedOutput>(
self,
closed_reg: ClosedKeyRegistration<D>,
) -> StmResult<Signer<D>>
pub fn create_signer<D: Digest + Clone + FixedOutput>( self, closed_reg: ClosedKeyRegistration<D>, ) -> StmResult<Signer<D>>
Build the avk for the given list of parties.
Note that if this Initializer was modified between the last call to register,
then the resulting Signer may not be able to produce valid signatures.
Returns an Signer specialized to
- this
Signer’s ID and current stake - this
Signer’s parameter valuation - the
avkas built from the current registered parties (according to the registration service) - the current total stake (according to the registration service)
§Error
This function fails if the initializer is not registered.
Sourcepub fn new_signer<D: Digest + Clone + FixedOutput>(
self,
closed_reg: ClosedKeyRegistration<D>,
) -> StmResult<Signer<D>>
👎Deprecated since 0.5.0: Use create_signer instead
pub fn new_signer<D: Digest + Clone + FixedOutput>( self, closed_reg: ClosedKeyRegistration<D>, ) -> StmResult<Signer<D>>
create_signer insteadBuild the avk for the given list of parties.
Note that if this Initializer was modified between the last call to register,
then the resulting Signer may not be able to produce valid signatures.
Returns an Signer specialized to
- this
Signer’s ID and current stake - this
Signer’s parameter valuation - the
avkas built from the current registered parties (according to the registration service) - the current total stake (according to the registration service)
§Error
This function fails if the initializer is not registered.
Sourcepub fn create_basic_signer<D: Digest + Clone + FixedOutput>(
self,
eligible_parties: &[RegisteredParty],
) -> Option<Signer<D>>
pub fn create_basic_signer<D: Digest + Clone + FixedOutput>( self, eligible_parties: &[RegisteredParty], ) -> Option<Signer<D>>
Creates a new basic signer that does not include closed registration.
Takes eligible_parties as a parameter and determines the signer’s index in the parties.
eligible_parties is verified and trusted which is only run by a full-node
that has already verified the parties.
Sourcepub fn new_core_signer<D: Digest + Clone + FixedOutput>(
self,
eligible_parties: &[RegisteredParty],
) -> Option<Signer<D>>
👎Deprecated since 0.5.0: Use create_basic_signer instead
pub fn new_core_signer<D: Digest + Clone + FixedOutput>( self, eligible_parties: &[RegisteredParty], ) -> Option<Signer<D>>
create_basic_signer insteadCreates a new basic signer that does not include closed registration.
Takes eligible_parties as a parameter and determines the signer’s index in the parties.
eligible_parties is verified and trusted which is only run by a full-node
that has already verified the parties.
Sourcepub fn from_bytes(bytes: &[u8]) -> StmResult<Initializer>
pub fn from_bytes(bytes: &[u8]) -> StmResult<Initializer>
Convert a slice of bytes to an Initializer
§Error
The function fails if the given string of bytes is not of required size.
Trait Implementations§
Source§impl Clone for Initializer
impl Clone for Initializer
Source§fn clone(&self) -> Initializer
fn clone(&self) -> Initializer
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Initializer
impl Debug for Initializer
Source§impl<'de> Deserialize<'de> for Initializer
impl<'de> Deserialize<'de> for Initializer
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>,
Source§impl PartialEq for Initializer
impl PartialEq for Initializer
Auto Trait Implementations§
impl Freeze for Initializer
impl RefUnwindSafe for Initializer
impl Send for Initializer
impl Sync for Initializer
impl Unpin for Initializer
impl UnwindSafe for Initializer
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.