pub struct ChangeEpoch {
pub epoch: EpochId,
pub protocol_version: ProtocolVersion,
pub storage_charge: u64,
pub computation_charge: u64,
pub storage_rebate: u64,
pub non_refundable_storage_fee: u64,
pub epoch_start_timestamp_ms: u64,
pub system_packages: Vec<SystemPackage>,
}
Expand description
System transaction used to change the epoch
§BCS
The BCS serialized form for this type is defined by the following ABNF:
change-epoch = u64 ; next epoch
u64 ; protocol version
u64 ; storage charge
u64 ; computation charge
u64 ; storage rebate
u64 ; non-refundable storage fee
u64 ; epoch start timestamp
(vector system-package)
Fields§
§epoch: EpochId
The next (to become) epoch ID.
protocol_version: ProtocolVersion
The protocol version in effect in the new epoch.
storage_charge: u64
The total amount of gas charged for storage during the epoch.
computation_charge: u64
The total amount of gas charged for computation during the epoch.
storage_rebate: u64
The amount of storage rebate refunded to the txn senders.
non_refundable_storage_fee: u64
The non-refundable storage fee.
epoch_start_timestamp_ms: u64
Unix timestamp when epoch started
system_packages: Vec<SystemPackage>
System packages (specifically framework and move stdlib) that are written before the new epoch starts. This tracks framework upgrades on chain. When executing the ChangeEpoch txn, the validator must write out the modules below. Modules are provided with the version they will be upgraded to, their modules in serialized form (which include their package ID), and a list of their transitive dependencies.
Trait Implementations§
Source§impl Arbitrary for ChangeEpoch
impl Arbitrary for ChangeEpoch
Source§type Parameters = ()
type Parameters = ()
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.Source§type Strategy = BoxedStrategy<ChangeEpoch>
type Strategy = BoxedStrategy<ChangeEpoch>
Strategy
used to generate values of type Self
.Source§fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
fn arbitrary_with(args: <Self as Arbitrary>::Parameters) -> Self::Strategy
Source§impl Clone for ChangeEpoch
impl Clone for ChangeEpoch
Source§fn clone(&self) -> ChangeEpoch
fn clone(&self) -> ChangeEpoch
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ChangeEpoch
impl Debug for ChangeEpoch
Source§impl<'de> Deserialize<'de> for ChangeEpoch
impl<'de> Deserialize<'de> for ChangeEpoch
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 ChangeEpoch
impl PartialEq for ChangeEpoch
Source§impl Serialize for ChangeEpoch
impl Serialize for ChangeEpoch
impl Eq for ChangeEpoch
impl StructuralPartialEq for ChangeEpoch
Auto Trait Implementations§
impl Freeze for ChangeEpoch
impl RefUnwindSafe for ChangeEpoch
impl Send for ChangeEpoch
impl Sync for ChangeEpoch
impl Unpin for ChangeEpoch
impl UnwindSafe for ChangeEpoch
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 more