Skip to content

Commit

Permalink
Rename BeaconState fork_data to fork
Browse files Browse the repository at this point in the history
And rename `ForkData` class to `Fork`.
Brings code into line with 0.1 spec, and addresses part of Consensys#235.
  • Loading branch information
benjaminion committed Feb 4, 2019
1 parent 4e05785 commit 25bd807
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 26 deletions.
Expand Up @@ -15,13 +15,13 @@

import com.google.common.primitives.UnsignedLong;

public class ForkData {
public class Fork {

private UnsignedLong pre_fork_version;
private UnsignedLong post_fork_version;
private UnsignedLong fork_slot;

public ForkData(
public Fork(
UnsignedLong pre_fork_version, UnsignedLong post_fork_version, UnsignedLong fork_slot) {
this.pre_fork_version = pre_fork_version;
this.post_fork_version = post_fork_version;
Expand Down
Expand Up @@ -51,7 +51,7 @@
import tech.pegasys.artemis.datastructures.operations.DepositInput;
import tech.pegasys.artemis.datastructures.state.CandidatePoWReceiptRootRecord;
import tech.pegasys.artemis.datastructures.state.CrosslinkRecord;
import tech.pegasys.artemis.datastructures.state.ForkData;
import tech.pegasys.artemis.datastructures.state.Fork;
import tech.pegasys.artemis.datastructures.state.PendingAttestationRecord;
import tech.pegasys.artemis.datastructures.state.ShardCommittee;
import tech.pegasys.artemis.datastructures.state.ShardReassignmentRecord;
Expand All @@ -67,7 +67,7 @@ public class BeaconState {
// Misc
private long slot;
private long genesis_time;
private ForkData fork_data;
private Fork fork;

// Validator registry
private Validators validator_registry;
Expand Down Expand Up @@ -119,7 +119,7 @@ public BeaconState(
// Misc
long slot,
long genesis_time,
ForkData fork_data,
Fork fork,
// Validator registry
Validators validator_registry,
ArrayList<Double> validator_balances,
Expand Down Expand Up @@ -150,7 +150,7 @@ public BeaconState(
// Misc
this.slot = slot;
this.genesis_time = genesis_time;
this.fork_data = fork_data;
this.fork = fork;

// Validator registry
this.validator_registry = validator_registry;
Expand Down Expand Up @@ -205,7 +205,7 @@ public BeaconState get_initial_beacon_state(
// Misc
INITIAL_SLOT_NUMBER,
genesis_time,
new ForkData(
new Fork(
UnsignedLong.valueOf(INITIAL_FORK_VERSION),
UnsignedLong.valueOf(INITIAL_FORK_VERSION),
UnsignedLong.valueOf(INITIAL_SLOT_NUMBER)),
Expand Down Expand Up @@ -350,8 +350,7 @@ private boolean validate_proof_of_possession(
Bytes48.leftPad(proof_of_possession.get(0)),
Bytes48.leftPad(proof_of_possession.get(1)));
UnsignedLong domain =
UnsignedLong.valueOf(
get_domain(state.fork_data, toIntExact(state.getSlot()), DOMAIN_DEPOSIT));
UnsignedLong.valueOf(get_domain(state.fork, toIntExact(state.getSlot()), DOMAIN_DEPOSIT));
return bls_verify(
pubkey, TreeHashUtil.hash_tree_root(proof_of_possession_data.toBytes()), signature, domain);
}
Expand Down Expand Up @@ -443,25 +442,25 @@ private int indexOfPubkey(Bytes48[] validator_pubkeys, Bytes48 pubkey) {
}

/**
* @param fork_data
* @param fork
* @param slot
* @param domain_type
* @return
*/
private int get_domain(ForkData fork_data, int slot, UnsignedLong domain_type) {
return get_fork_version(fork_data, slot) * (int) Math.pow(2, 32) + domain_type.intValue();
private int get_domain(Fork fork, int slot, UnsignedLong domain_type) {
return get_fork_version(fork, slot) * (int) Math.pow(2, 32) + domain_type.intValue();
}

/**
* @param fork_data
* @param fork
* @param slot
* @return
*/
private int get_fork_version(ForkData fork_data, int slot) {
if (slot < fork_data.getFork_slot().longValue()) {
return toIntExact(fork_data.getPre_fork_version().longValue());
private int get_fork_version(Fork fork, int slot) {
if (slot < fork.getFork_slot().longValue()) {
return toIntExact(fork.getPre_fork_version().longValue());
} else {
return toIntExact(fork_data.getPost_fork_version().longValue());
return toIntExact(fork.getPost_fork_version().longValue());
}
}

Expand Down Expand Up @@ -839,12 +838,12 @@ public void setGenesis_time(long genesis_time) {
this.genesis_time = genesis_time;
}

public ForkData getFork_data() {
return fork_data;
public Fork getFork() {
return fork;
}

public void setFork_data(ForkData fork_data) {
this.fork_data = fork_data;
public void setFork(Fork fork) {
this.fork = fork;
}

public Validators getValidator_registry() {
Expand Down
Expand Up @@ -41,7 +41,7 @@
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import tech.pegasys.artemis.datastructures.operations.AttestationData;
import tech.pegasys.artemis.datastructures.state.ForkData;
import tech.pegasys.artemis.datastructures.state.Fork;
import tech.pegasys.artemis.datastructures.state.ShardCommittee;
import tech.pegasys.artemis.datastructures.state.ValidatorRecord;
import tech.pegasys.artemis.datastructures.state.Validators;
Expand All @@ -55,7 +55,7 @@ private BeaconState newState() {
new BeaconState(
0,
0,
new ForkData(UnsignedLong.ZERO, UnsignedLong.ZERO, UnsignedLong.ZERO),
new Fork(UnsignedLong.ZERO, UnsignedLong.ZERO, UnsignedLong.ZERO),
new Validators(),
new ArrayList<>(),
0,
Expand Down Expand Up @@ -446,9 +446,9 @@ void deepCopyBeaconState() {
assertThat(deepCopy.getSlot()).isNotEqualTo(state.getSlot());

// Test fork_data
state.setFork_data(new ForkData(UnsignedLong.valueOf(1), UnsignedLong.ONE, UnsignedLong.ONE));
assertThat(deepCopy.getFork_data().getPre_fork_version())
.isNotEqualTo(state.getFork_data().getPre_fork_version());
state.setFork(new Fork(UnsignedLong.valueOf(1), UnsignedLong.ONE, UnsignedLong.ONE));
assertThat(deepCopy.getFork().getPre_fork_version())
.isNotEqualTo(state.getFork().getPre_fork_version());

// Test validator registry
ArrayList<ValidatorRecord> new_records =
Expand Down

0 comments on commit 25bd807

Please sign in to comment.