pub struct ValidatorEmissionAppliedEvent {
pub epoch: Epoch,
pub starting_stake_pool_xrd: Decimal,
pub stake_pool_added_xrd: Decimal,
pub total_stake_unit_supply: Decimal,
pub validator_fee_xrd: Decimal,
pub proposals_made: u64,
pub proposals_missed: u64,
}
Fields§
§epoch: Epoch
An epoch number of the concluded epoch (i.e. for which this emission applies).
starting_stake_pool_xrd: Decimal
An amount of XRD in the validator’s stake pool, captured before this emission.
stake_pool_added_xrd: Decimal
An amount of XRD added to the validator’s stake pool from this epoch’s emissions. Note: this number represents the net emission, after any applicable reliability penalty and validator fee have been subtracted.
total_stake_unit_supply: Decimal
A total supply of stake units of the validator at the moment of applying this emission.
Note: calculating stake_pool_added_xrd / total_stake_unit_supply
gives a convenient “XRD
emitted per stake unit” factor, which may be used to easily calculate individual staker’s
gains.
Note: this number is captured before auto-staking of the validator fee described below.
validator_fee_xrd: Decimal
An amount of XRD received by the validator’s owner (according to the configured fee
percentage).
Note: this fee is automatically staked and placed inside the owner’s stake vault (internal
to the validator).
Note: calculating stake_pool_added_xrd + validator_fee_xrd
gives the total emission for
this validator (entirety of which goes into its stake pool XRD vault).
Note: calculating validator_fee_xrd / (stake_pool_added_xrd + validator_fee_xrd)
gives the
validator’s configured fee percentage effective during the emission period.
proposals_made: u64
A number of proposals successfully made by this validator during the emission period.
proposals_missed: u64
A number of proposals missed by this validator during the emission period.
Trait Implementations§
source§impl<D> Decode<ScryptoCustomValueKind, D> for ValidatorEmissionAppliedEventwhere
D: Decoder<ScryptoCustomValueKind>,
impl<D> Decode<ScryptoCustomValueKind, D> for ValidatorEmissionAppliedEventwhere
D: Decoder<ScryptoCustomValueKind>,
source§fn decode_body_with_value_kind(
decoder: &mut D,
value_kind: ValueKind<ScryptoCustomValueKind>
) -> Result<ValidatorEmissionAppliedEvent, DecodeError>
fn decode_body_with_value_kind( decoder: &mut D, value_kind: ValueKind<ScryptoCustomValueKind> ) -> Result<ValidatorEmissionAppliedEvent, DecodeError>
source§impl Describe<ScryptoCustomTypeKind> for ValidatorEmissionAppliedEvent
impl Describe<ScryptoCustomTypeKind> for ValidatorEmissionAppliedEvent
source§const TYPE_ID: RustTypeId = _
const TYPE_ID: RustTypeId = _
TYPE_ID
should give a unique identifier for its SBOR schema type.
An SBOR schema type capture details about the SBOR payload, how it should be interpreted, validated and displayed. Read moresource§fn type_data() -> TypeData<ScryptoCustomTypeKind, RustTypeId>
fn type_data() -> TypeData<ScryptoCustomTypeKind, RustTypeId>
source§fn add_all_dependencies(aggregator: &mut TypeAggregator<ScryptoCustomTypeKind>)
fn add_all_dependencies(aggregator: &mut TypeAggregator<ScryptoCustomTypeKind>)
get_local_type_data
, we need to ensure that the type and all of its own references
get added to the aggregator. Read moresource§impl<E> Encode<ScryptoCustomValueKind, E> for ValidatorEmissionAppliedEventwhere
E: Encoder<ScryptoCustomValueKind>,
impl<E> Encode<ScryptoCustomValueKind, E> for ValidatorEmissionAppliedEventwhere
E: Encoder<ScryptoCustomValueKind>,
source§fn encode_value_kind(&self, encoder: &mut E) -> Result<(), EncodeError>
fn encode_value_kind(&self, encoder: &mut E) -> Result<(), EncodeError>
source§fn encode_body(&self, encoder: &mut E) -> Result<(), EncodeError>
fn encode_body(&self, encoder: &mut E) -> Result<(), EncodeError>
source§impl PartialEq for ValidatorEmissionAppliedEvent
impl PartialEq for ValidatorEmissionAppliedEvent
source§fn eq(&self, other: &ValidatorEmissionAppliedEvent) -> bool
fn eq(&self, other: &ValidatorEmissionAppliedEvent) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl SborTuple<ScryptoCustomValueKind> for ValidatorEmissionAppliedEvent
impl SborTuple<ScryptoCustomValueKind> for ValidatorEmissionAppliedEvent
fn get_length(&self) -> usize
source§impl ScryptoEvent for ValidatorEmissionAppliedEvent
impl ScryptoEvent for ValidatorEmissionAppliedEvent
const EVENT_NAME: &'static str = "ValidatorEmissionAppliedEvent"
impl Eq for ValidatorEmissionAppliedEvent
impl StructuralPartialEq for ValidatorEmissionAppliedEvent
Auto Trait Implementations§
impl RefUnwindSafe for ValidatorEmissionAppliedEvent
impl Send for ValidatorEmissionAppliedEvent
impl Sync for ValidatorEmissionAppliedEvent
impl Unpin for ValidatorEmissionAppliedEvent
impl UnwindSafe for ValidatorEmissionAppliedEvent
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read moresource§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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§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
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§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
key
and return true
if they are equal.