Skip to content

Commit

Permalink
Merge pull request #1 from StephenButtolph/custom-genesis
Browse files Browse the repository at this point in the history
Custom genesis
  • Loading branch information
danlaine authored Mar 17, 2020
2 parents a76787e + 4f432cb commit bace899
Show file tree
Hide file tree
Showing 11 changed files with 101 additions and 106 deletions.
2 changes: 1 addition & 1 deletion vms/platformvm/add_nondefault_subnet_validator_tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ func (tx *addNonDefaultSubnetValidatorTx) SemanticVerify(db database.Database) (
}
var subnet *CreateSubnetTx
for _, sn := range subnets {
if sn.ID.Equals(tx.SubnetID()) {
if sn.id.Equals(tx.SubnetID()) {
subnet = sn
break
}
Expand Down
88 changes: 44 additions & 44 deletions vms/platformvm/add_nondefault_subnet_validator_tx_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ func TestAddNonDefaultSubnetValidatorTxSyntacticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()),
uint64(defaultValidateEndTime.Unix()),
defaultKey.PublicKey().Address(),
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -48,7 +48,7 @@ func TestAddNonDefaultSubnetValidatorTxSyntacticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()),
uint64(defaultValidateEndTime.Unix()),
defaultKey.PublicKey().Address(),
testSubnet1.ID,
testSubnet1.id,
testNetworkID+1,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -67,7 +67,7 @@ func TestAddNonDefaultSubnetValidatorTxSyntacticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()),
uint64(defaultValidateEndTime.Unix()),
defaultKey.PublicKey().Address(),
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -87,7 +87,7 @@ func TestAddNonDefaultSubnetValidatorTxSyntacticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()),
uint64(defaultValidateEndTime.Unix()),
defaultKey.PublicKey().Address(),
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -107,7 +107,7 @@ func TestAddNonDefaultSubnetValidatorTxSyntacticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()),
uint64(defaultValidateEndTime.Unix()),
defaultKey.PublicKey().Address(),
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -126,7 +126,7 @@ func TestAddNonDefaultSubnetValidatorTxSyntacticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()),
uint64(defaultValidateEndTime.Unix())-1,
defaultKey.PublicKey().Address(),
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -147,7 +147,7 @@ func TestAddNonDefaultSubnetValidatorTxSyntacticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()),
uint64(defaultValidateStartTime.Add(MinimumStakingDuration).Unix())-1,
defaultKey.PublicKey().Address(),
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -167,7 +167,7 @@ func TestAddNonDefaultSubnetValidatorTxSyntacticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()),
uint64(defaultValidateStartTime.Add(MaximumStakingDuration).Unix())+1,
defaultKey.PublicKey().Address(),
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -187,7 +187,7 @@ func TestAddNonDefaultSubnetValidatorTxSyntacticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()),
uint64(defaultValidateEndTime.Unix()),
defaultKey.PublicKey().Address(),
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -212,7 +212,7 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()),
uint64(defaultValidateEndTime.Unix())+1,
defaultKey.PublicKey().Address(),
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -235,7 +235,7 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()),
uint64(defaultValidateEndTime.Unix()),
defaultKey.PublicKey().Address(),
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -245,15 +245,15 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
}
_, _, _, _, err = tx.SemanticVerify(vm.DB)
if err != nil {
t.Log(testSubnet1.ID)
t.Log(testSubnet1.id)
subnets, err := vm.getSubnets(vm.DB)
if err != nil {
t.Fatal(err)
}
if len(subnets) == 0 {
t.Fatal("no subnets found")
}
t.Logf("subnets[0].ID: %v", subnets[0].ID)
t.Logf("subnets[0].ID: %v", subnets[0].id)
t.Fatal(err)
}

Expand Down Expand Up @@ -290,7 +290,7 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
uint64(DSStartTime.Unix()), // start validating non-default subnet before default subnet
uint64(DSEndTime.Unix()),
pendingDSValidatorID,
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand Down Expand Up @@ -324,7 +324,7 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
uint64(DSStartTime.Unix())-1, // start validating non-default subnet before default subnet
uint64(DSEndTime.Unix()),
pendingDSValidatorID,
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -346,7 +346,7 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
uint64(DSStartTime.Unix()),
uint64(DSEndTime.Unix())+1, // stop validating non-default subnet after stopping validating default subnet
pendingDSValidatorID,
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -368,7 +368,7 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
uint64(DSStartTime.Unix()), // same start time as for default subnet
uint64(DSEndTime.Unix()), // same end time as for default subnet
pendingDSValidatorID,
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand All @@ -389,12 +389,12 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
}

tx, err = vm.newAddNonDefaultSubnetValidatorTx(
defaultNonce+1, // nonce
defaultWeight, // weight
uint64(newTimestamp.Unix()), // start time
defaultNonce+1, // nonce
defaultWeight, // weight
uint64(newTimestamp.Unix()), // start time
uint64(newTimestamp.Add(MinimumStakingDuration).Unix()), // end time
defaultKey.PublicKey().Address(), // node ID
testSubnet1.ID, // subnet ID
testSubnet1.id, // subnet ID
testNetworkID, // network ID
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey, // tx fee payer
Expand Down Expand Up @@ -429,7 +429,7 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()), // start time
uint64(defaultValidateEndTime.Unix()), // end time
defaultKey.PublicKey().Address(), // node ID
testSubnet1.ID, // subnet ID
testSubnet1.id, // subnet ID
testNetworkID, // network ID
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
newAcctKey.(*crypto.PrivateKeySECP256K1R), // tx fee payer
Expand All @@ -451,7 +451,7 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()), // start time
uint64(defaultValidateEndTime.Unix()), // end time
defaultKey.PublicKey().Address(), // node ID
testSubnet1.ID, // subnet ID
testSubnet1.id, // subnet ID
testNetworkID, // network ID
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey, // tx fee payer
Expand All @@ -465,7 +465,7 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
SortByStartTime: false,
Txs: []TimedTx{tx},
},
testSubnet1.ID,
testSubnet1.id,
)
// Node with ID nodeIDKey.PublicKey().Address() now validating subnet with ID testSubnet1.ID

Expand All @@ -475,7 +475,7 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
uint64(defaultValidateStartTime.Unix()), // start time
uint64(defaultValidateEndTime.Unix()), // end time
defaultKey.PublicKey().Address(), // node ID
testSubnet1.ID, // subnet ID
testSubnet1.id, // subnet ID
testNetworkID, // network ID
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey, // tx fee payer
Expand All @@ -494,17 +494,17 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
&EventHeap{
SortByStartTime: false,
},
testSubnet1.ID,
testSubnet1.id,
)

// Case 9: Too many signatures
tx, err = vm.newAddNonDefaultSubnetValidatorTx(
defaultNonce+1, // nonce
defaultWeight, // weight
uint64(defaultGenesisTime.Unix()), // start time
defaultNonce+1, // nonce
defaultWeight, // weight
uint64(defaultGenesisTime.Unix()), // start time
uint64(defaultGenesisTime.Add(MinimumStakingDuration).Unix())+1, // end time
keys[0].PublicKey().Address(), // node ID
testSubnet1.ID, // subnet ID
testSubnet1.id, // subnet ID
testNetworkID, // network ID
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1], testSubnet1ControlKeys[2]},
defaultKey, // tx fee payer
Expand All @@ -520,12 +520,12 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {

// Case 10: Too few signatures
tx, err = vm.newAddNonDefaultSubnetValidatorTx(
defaultNonce+1, // nonce
defaultWeight, // weight
uint64(defaultGenesisTime.Unix()), // start time
defaultNonce+1, // nonce
defaultWeight, // weight
uint64(defaultGenesisTime.Unix()), // start time
uint64(defaultGenesisTime.Add(MinimumStakingDuration).Unix()), // end time
keys[0].PublicKey().Address(), // node ID
testSubnet1.ID, // subnet ID
testSubnet1.id, // subnet ID
testNetworkID, // network ID
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[2]},
defaultKey, // tx fee payer
Expand All @@ -541,12 +541,12 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {

// Case 10: Control Signature from invalid key
tx, err = vm.newAddNonDefaultSubnetValidatorTx(
defaultNonce+1, // nonce
defaultWeight, // weight
uint64(defaultGenesisTime.Unix()), // start time
defaultNonce+1, // nonce
defaultWeight, // weight
uint64(defaultGenesisTime.Unix()), // start time
uint64(defaultGenesisTime.Add(MinimumStakingDuration).Unix()), // end time
keys[0].PublicKey().Address(), // node ID
testSubnet1.ID, // subnet ID
testSubnet1.id, // subnet ID
testNetworkID, // network ID
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], keys[3]},
defaultKey, // tx fee payer
Expand All @@ -563,12 +563,12 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
// Case 11: Proposed validator in pending validator set for subnet
// First, add validator to pending validator set of subnet
tx, err = vm.newAddNonDefaultSubnetValidatorTx(
defaultNonce+1, // nonce
defaultWeight, // weight
uint64(defaultGenesisTime.Unix())+1, // start time
defaultNonce+1, // nonce
defaultWeight, // weight
uint64(defaultGenesisTime.Unix())+1, // start time
uint64(defaultGenesisTime.Add(MinimumStakingDuration).Unix())+1, // end time
defaultKey.PublicKey().Address(), // node ID
testSubnet1.ID, // subnet ID
testSubnet1.id, // subnet ID
testNetworkID, // network ID
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey, // tx fee payer
Expand All @@ -582,7 +582,7 @@ func TestAddNonDefaultSubnetValidatorTxSemanticVerify(t *testing.T) {
SortByStartTime: true,
Txs: []TimedTx{tx},
},
testSubnet1.ID,
testSubnet1.id,
)
// Node with ID nodeIDKey.PublicKey().Address() now pending validator for subnet with ID testSubnet1.ID

Expand All @@ -604,7 +604,7 @@ func TestAddNonDefaultSubnetValidatorMarshal(t *testing.T) {
uint64(defaultValidateStartTime.Unix()),
uint64(defaultValidateEndTime.Unix()),
defaultKey.PublicKey().Address(),
testSubnet1.ID,
testSubnet1.id,
testNetworkID,
[]*crypto.PrivateKeySECP256K1R{testSubnet1ControlKeys[0], testSubnet1ControlKeys[1]},
defaultKey,
Expand Down
8 changes: 4 additions & 4 deletions vms/platformvm/advance_time_tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,15 +105,15 @@ func (tx *advanceTimeTx) SemanticVerify(db database.Database) (*versiondb.Databa
return nil, nil, nil, nil, err
}
for _, subnet := range subnets {
current, pending, err := tx.vm.calculateValidators(db, tx.Timestamp(), subnet.ID)
current, pending, err := tx.vm.calculateValidators(db, tx.Timestamp(), subnet.id)
if err != nil {
return nil, nil, nil, nil, err
}

if err := tx.vm.putCurrentValidators(onCommitDB, current, subnet.ID); err != nil {
if err := tx.vm.putCurrentValidators(onCommitDB, current, subnet.id); err != nil {
return nil, nil, nil, nil, err
}
if err := tx.vm.putPendingValidators(onCommitDB, pending, subnet.ID); err != nil {
if err := tx.vm.putPendingValidators(onCommitDB, pending, subnet.id); err != nil {
return nil, nil, nil, nil, err
}
}
Expand All @@ -127,7 +127,7 @@ func (tx *advanceTimeTx) SemanticVerify(db database.Database) (*versiondb.Databa
return
}
for _, subnet := range subnets {
if err := tx.vm.updateValidators(subnet.ID); err != nil {
if err := tx.vm.updateValidators(subnet.id); err != nil {
tx.vm.Ctx.Log.Debug("failed to update validators on the default subnet: %s", err)
}
}
Expand Down
2 changes: 1 addition & 1 deletion vms/platformvm/create_chain_tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ func (tx *CreateChainTx) SemanticVerify(db database.Database) (func(), error) {
}
var subnet *CreateSubnetTx // the subnet that will validate the new chain
for _, sn := range subnets {
if sn.ID.Equals(tx.SubnetID) {
if sn.id.Equals(tx.SubnetID) {
subnet = sn
break
}
Expand Down
Loading

0 comments on commit bace899

Please sign in to comment.