pub enum RegisterValidatorDatum {
V0 {
stake_ownership: AdaBasedStaking,
sidechain_pub_key: SidechainPublicKey,
sidechain_signature: SidechainSignature,
registration_utxo: UtxoId,
own_pkh: MainchainKeyHash,
aura_pub_key: AuraPublicKey,
grandpa_pub_key: GrandpaPublicKey,
},
V1 {
stake_ownership: AdaBasedStaking,
sidechain_pub_key: SidechainPublicKey,
sidechain_signature: SidechainSignature,
registration_utxo: UtxoId,
own_pkh: MainchainKeyHash,
keys: CandidateKeys,
},
}Expand description
Representation of the plutus type in the mainchain contract (rev 4ed2cc66c554ec8c5bec7b90ad9273e9069a1fb4)
Note that the ECDSA secp256k1 public key is serialized in compressed format and the sidechain signature does not contain the recovery bytes (it’s just r an s concatenated).
data BlockProducerRegistration = BlockProducerRegistration { – | Verification keys required by the stake ownership model – | @since v4.0.0 stakeOwnership :: StakeOwnership , – | public key in the sidechain’s desired format sidechainPubKey :: LedgerBytes , – | Signature of the sidechain – | @since v4.0.0 sidechainSignature :: Signature , – | A UTxO that must be spent by the transaction – | @since v4.0.0 inputUtxo :: TxOutRef , – | Owner public key hash – | @since v4.0.0 ownPkh :: PubKeyHash , – | Sidechain authority discovery key – | @since Unreleased auraKey :: LedgerBytes , – | Sidechain grandpa key – | @since Unreleased grandpaKey :: LedgerBytes }
Variants§
V0
Initial/legacy datum schema. If a datum doesn’t contain a version, it is assumed to be V0
Fields
stake_ownership: AdaBasedStakingStake ownership information of registered candidate.
sidechain_pub_key: SidechainPublicKeySidechain public key of the candidate. See [SidechainPublicKey] for more details.
sidechain_signature: SidechainSignatureSidechain key signature of the registration message.
registration_utxo: UtxoIdUTxO id that is a part of the signed registration message. It is spent during the registration process. Prevents replay attacks.
own_pkh: MainchainKeyHashHash of the registering SPO’s Cardano public key. Used by offchain code to find the registration UTXO when re-registering or de-registering.
aura_pub_key: AuraPublicKeyRegistering SPO’s Aura public key
grandpa_pub_key: GrandpaPublicKeyRegistering SPO’s GRANDPA public key
V1
V1 datum with support for generic keys
Fields
stake_ownership: AdaBasedStakingStake ownership information of registered candidate.
sidechain_pub_key: SidechainPublicKeySidechain public key of the candidate. See [SidechainPublicKey] for more details.
sidechain_signature: SidechainSignatureSidechain key signature of the registration message.
registration_utxo: UtxoIdUTxO id that is a part of the signed registration message. It is spent during the registration process. Prevents replay attacks.
own_pkh: MainchainKeyHashHash of the registering SPO’s Cardano public key. Used by offchain code to find the registration UTXO when re-registering or de-registering.
keys: CandidateKeysAdditional keys of the registered candidate, these are specific to the keys used by the partner chain
Trait Implementations§
Source§impl Clone for RegisterValidatorDatum
impl Clone for RegisterValidatorDatum
Source§fn clone(&self) -> RegisterValidatorDatum
fn clone(&self) -> RegisterValidatorDatum
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RegisterValidatorDatum
impl Debug for RegisterValidatorDatum
Source§impl From<RegisterValidatorDatum> for CandidateRegistration
impl From<RegisterValidatorDatum> for CandidateRegistration
Source§fn from(value: RegisterValidatorDatum) -> Self
fn from(value: RegisterValidatorDatum) -> Self
Source§impl From<RegisterValidatorDatum> for PlutusData
impl From<RegisterValidatorDatum> for PlutusData
Source§fn from(value: RegisterValidatorDatum) -> Self
fn from(value: RegisterValidatorDatum) -> Self
Source§impl PartialEq for RegisterValidatorDatum
impl PartialEq for RegisterValidatorDatum
Source§impl TryFrom<PlutusData> for RegisterValidatorDatum
impl TryFrom<PlutusData> for RegisterValidatorDatum
Source§type Error = DataDecodingError
type Error = DataDecodingError
Source§fn try_from(datum: PlutusData) -> Result<Self, DataDecodingError>
fn try_from(datum: PlutusData) -> Result<Self, DataDecodingError>
impl Eq for RegisterValidatorDatum
impl StructuralPartialEq for RegisterValidatorDatum
Auto Trait Implementations§
impl Freeze for RegisterValidatorDatum
impl RefUnwindSafe for RegisterValidatorDatum
impl Send for RegisterValidatorDatum
impl Sync for RegisterValidatorDatum
impl Unpin for RegisterValidatorDatum
impl UnwindSafe for RegisterValidatorDatum
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)§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
§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
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
§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
§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>
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>
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§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling [Attribute] value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi [Quirk] value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the [Condition] value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T. Read more§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from.§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.