pub struct ChangeEpochV2 {
pub epoch: EpochId,
pub protocol_version: ProtocolVersion,
pub storage_charge: u64,
pub computation_charge: u64,
pub computation_charge_burned: 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 ; computation charge burned
u64 ; storage rebate
u64 ; non-refundable storage fee
u64 ; epoch start timestamp
(vector system-package)Fields§
§epoch: EpochIdThe next (to become) epoch ID.
protocol_version: ProtocolVersionThe protocol version in effect in the new epoch.
storage_charge: u64The total amount of gas charged for storage during the epoch.
computation_charge: u64The total amount of gas charged for computation during the epoch.
computation_charge_burned: u64The total amount of gas burned for computation during the epoch.
storage_rebate: u64The amount of storage rebate refunded to the txn senders.
non_refundable_storage_fee: u64The non-refundable storage fee.
epoch_start_timestamp_ms: u64Unix 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 ChangeEpochV2
impl Arbitrary for ChangeEpochV2
Source§type Parameters = ()
type Parameters = ()
arbitrary_with accepts for configuration
of the generated Strategy. Parameters must implement Default.Source§type Strategy = BoxedStrategy<ChangeEpochV2>
type Strategy = BoxedStrategy<ChangeEpochV2>
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 ChangeEpochV2
impl Clone for ChangeEpochV2
Source§fn clone(&self) -> ChangeEpochV2
fn clone(&self) -> ChangeEpochV2
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ChangeEpochV2
impl Debug for ChangeEpochV2
Source§impl<'de> Deserialize<'de> for ChangeEpochV2
impl<'de> Deserialize<'de> for ChangeEpochV2
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 JsonSchema for ChangeEpochV2
impl JsonSchema for ChangeEpochV2
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl PartialEq for ChangeEpochV2
impl PartialEq for ChangeEpochV2
Source§impl Serialize for ChangeEpochV2
impl Serialize for ChangeEpochV2
impl Eq for ChangeEpochV2
impl StructuralPartialEq for ChangeEpochV2
Auto Trait Implementations§
impl Freeze for ChangeEpochV2
impl RefUnwindSafe for ChangeEpochV2
impl Send for ChangeEpochV2
impl Sync for ChangeEpochV2
impl Unpin for ChangeEpochV2
impl UnwindSafe for ChangeEpochV2
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,
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