Skip to main content

ChangeEpochTransactionV2

A system transaction that updates epoch information on-chain (increments the current epoch). Executed by the system once per epoch, without using gas. Epoch change transactions cannot be submitted by users, because validators will refuse to sign them.

type ChangeEpochTransactionV2 {
epoch: Epoch
protocolVersion: UInt53!
storageCharge: BigInt!
computationCharge: BigInt!
computationChargeBurned: BigInt!
storageRebate: BigInt!
nonRefundableStorageFee: BigInt!
startTimestamp: DateTime!
systemPackages(
first: Int
after: String
last: Int
before: String
): MovePackageConnection!
eligibleActiveValidators: [BigInt!]
scores: [BigInt!]
}

Fields

ChangeEpochTransactionV2.epoch ● Epoch object

The next (to become) epoch.

ChangeEpochTransactionV2.protocolVersion ● UInt53! non-null scalar

The protocol version in effect in the new epoch.

ChangeEpochTransactionV2.storageCharge ● BigInt! non-null scalar

The total amount of gas charged for storage during the previous epoch (in NANOS).

ChangeEpochTransactionV2.computationCharge ● BigInt! non-null scalar

The total amount of gas charged for computation during the previous epoch (in NANOS).

ChangeEpochTransactionV2.computationChargeBurned ● BigInt! non-null scalar

The total amount of gas burned for computation during the previous epoch (in NANOS).

ChangeEpochTransactionV2.storageRebate ● BigInt! non-null scalar

The IOTA returned to transaction senders for cleaning up objects (in NANOS).

ChangeEpochTransactionV2.nonRefundableStorageFee ● BigInt! non-null scalar

The total gas retained from storage fees, that will not be returned by storage rebates when the relevant objects are cleaned up (in NANOS).

ChangeEpochTransactionV2.startTimestamp ● DateTime! non-null scalar

Time at which the next epoch will start.

ChangeEpochTransactionV2.systemPackages ● MovePackageConnection! non-null object

System packages (specifically framework and move stdlib) that are written before the new epoch starts, to upgrade them on-chain. Validators write these packages out when running the transaction.

ChangeEpochTransactionV2.systemPackages.first ● Int scalar
ChangeEpochTransactionV2.systemPackages.after ● String scalar
ChangeEpochTransactionV2.systemPackages.last ● Int scalar
ChangeEpochTransactionV2.systemPackages.before ● String scalar

ChangeEpochTransactionV2.eligibleActiveValidators ● [BigInt!] list scalar

The list of active validators eligible for committee selection for the next epoch.

ChangeEpochTransactionV2.scores ● [BigInt!] list scalar

The validator scores at the end of the epoch.

Implemented By

EndOfEpochTransactionKind union