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