Skip to content

Drop Pending Stakers 4 - minimal UT infra cleanup #2332

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 173 commits into from
Dec 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
173 commits
Select commit Hold shift + click to select a range
17723e2
wip: introduced post durango staker tx
abi87 Nov 14, 2023
88130e4
TO BE SQUASHED
abi87 Nov 14, 2023
acc1517
nit
abi87 Nov 14, 2023
50df8b9
stored stakers startTime
abi87 Nov 14, 2023
512e6ab
nits
abi87 Nov 15, 2023
3ec3cd2
Merge branch 'dev' into post_durango_staker_txs
abi87 Nov 15, 2023
59cc7ad
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 15, 2023
943ec7d
fixed codec versions
abi87 Nov 15, 2023
19a8318
nit
abi87 Nov 15, 2023
004e8fc
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 15, 2023
b213740
updated PR to acp proposal
abi87 Nov 15, 2023
1f8b796
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 15, 2023
9e7f851
Merge branch 'dev' into post_durango_staker_txs
abi87 Nov 16, 2023
d3a1ea7
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 16, 2023
13d150f
Merge branch 'dev' into post_durango_staker_txs
abi87 Nov 16, 2023
6079eb0
introduced pre durango staker tx
abi87 Nov 16, 2023
9e5cc17
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Nov 16, 2023
c6736b6
nit
abi87 Nov 16, 2023
6f34808
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Nov 16, 2023
a0fb538
nit
abi87 Nov 16, 2023
150f122
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 16, 2023
944f309
Merge branch 'dev' into post_durango_staker_txs_0
abi87 Nov 17, 2023
7b79d43
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Nov 17, 2023
19d78cf
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 17, 2023
e208ad6
minimal UT infra cleanup
abi87 Nov 17, 2023
d1bc116
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Nov 17, 2023
3f618e6
nit
abi87 Nov 17, 2023
5355215
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Nov 17, 2023
06a28ed
nit
abi87 Nov 17, 2023
0106d75
Merge branch 'dev' into post_durango_staker_txs_0
abi87 Nov 18, 2023
0ed0d1f
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Nov 18, 2023
7f736c9
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 18, 2023
8caa471
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Nov 18, 2023
9a9897c
nit
abi87 Nov 18, 2023
409008f
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Nov 18, 2023
3f27bb9
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 18, 2023
4efdc18
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Nov 18, 2023
d17f2a2
nits
abi87 Nov 18, 2023
6ab4d6e
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Nov 18, 2023
c70e892
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 18, 2023
c7c8810
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Nov 18, 2023
4c4c011
nits to reduce future diffs
abi87 Nov 19, 2023
905e55e
nit
abi87 Nov 19, 2023
89094cd
improved e2e test
abi87 Nov 19, 2023
5dd8dd8
Merge branch 'post_durango_nits_0' into post_durango_staker_txs_0
abi87 Nov 19, 2023
6fe5652
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Nov 19, 2023
6172998
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 19, 2023
3fad836
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Nov 19, 2023
698af90
Merge branch 'dev' into post_durango_nits_0
abi87 Nov 21, 2023
0c631c6
Merge branch 'post_durango_nits_0' into post_durango_staker_txs_0
abi87 Nov 21, 2023
8717574
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Nov 21, 2023
e3b6925
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 21, 2023
51575e0
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Nov 21, 2023
c3e3670
nits
abi87 Nov 21, 2023
9606b77
Merge branch 'dev' into post_durango_nits_0
abi87 Nov 22, 2023
ce87dea
nits
abi87 Nov 22, 2023
fd33fde
Merge branch 'post_durango_nits_0' into post_durango_staker_txs_0
abi87 Nov 22, 2023
4f06497
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Nov 22, 2023
60ba270
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 22, 2023
2dfc0b7
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Nov 22, 2023
6ea5add
Merge branch 'dev' into post_durango_nits_0
abi87 Nov 23, 2023
b820cae
Merge branch 'post_durango_nits_0' into post_durango_staker_txs_0
abi87 Nov 23, 2023
ef2443c
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Nov 23, 2023
5098dc2
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 23, 2023
77da906
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Nov 23, 2023
8260546
Merge branch 'dev' into post_durango_nits_0
abi87 Nov 27, 2023
73d5c2f
nit
abi87 Nov 27, 2023
84321ef
Merge branch 'dev' into post_durango_nits_0
abi87 Nov 28, 2023
c353c33
nits
abi87 Nov 28, 2023
d296e52
Merge branch 'post_durango_nits_0' into post_durango_staker_txs_0
abi87 Nov 28, 2023
3d27b66
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Nov 28, 2023
1b3960f
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 28, 2023
a9eb1df
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Nov 28, 2023
9bd9d60
Merge branch 'dev' into post_durango_nits_0
abi87 Nov 28, 2023
a99a5f7
Merge branch 'dev' into post_durango_nits_0
abi87 Nov 29, 2023
c07e2c8
Merge branch 'post_durango_nits_0' into post_durango_staker_txs_0
abi87 Nov 29, 2023
105f5f1
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Nov 29, 2023
3f0c2bf
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Nov 29, 2023
4e0b423
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Nov 29, 2023
5bb301b
Merge branch 'dev' into post_durango_nits_0
abi87 Nov 29, 2023
e6463b7
Merge branch 'dev' into post_durango_nits_0
abi87 Nov 30, 2023
43839ee
Merge branch 'post_durango_nits_0' into post_durango_staker_txs_0
abi87 Nov 30, 2023
15d7871
Merge branch 'dev' into post_durango_nits_0
abi87 Dec 1, 2023
5e10688
nits
abi87 Dec 1, 2023
0e40da4
Merge branch 'post_durango_nits_0' into post_durango_staker_txs_0
abi87 Dec 1, 2023
02ca462
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Dec 1, 2023
2ddba62
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Dec 1, 2023
b381302
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 1, 2023
a997d80
fixed merge
abi87 Dec 1, 2023
a5b3875
Merge branch 'dev' into post_durango_nits_0
abi87 Dec 3, 2023
a7daf81
Merge branch 'post_durango_nits_0' into post_durango_staker_txs_0
abi87 Dec 3, 2023
a2115a4
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Dec 3, 2023
c1189b4
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Dec 3, 2023
735685f
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 3, 2023
fb85fe1
Merge branch 'dev' into post_durango_staker_txs_0
abi87 Dec 4, 2023
f0e490e
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Dec 4, 2023
bfc29a1
Merge branch 'dev' into post_durango_staker_txs_0
abi87 Dec 5, 2023
9b97b59
fix
abi87 Dec 5, 2023
02449eb
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Dec 5, 2023
76ad594
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Dec 5, 2023
83486c1
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 5, 2023
0684a8a
nits
StephenButtolph Dec 5, 2023
d914f34
Merge branch 'dev' into post_durango_staker_txs_0
abi87 Dec 6, 2023
89ce3c2
fix error
abi87 Dec 6, 2023
f0c55ef
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
abi87 Dec 6, 2023
0857061
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Dec 6, 2023
d948ffd
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 6, 2023
fa9269c
simplify comment
StephenButtolph Dec 6, 2023
e73b312
Merge branch 'post_durango_staker_txs_0' into post_durango_staker_txs
StephenButtolph Dec 6, 2023
5330986
merged
StephenButtolph Dec 6, 2023
d3a6bf5
Merge branch 'dev' into post_durango_staker_txs
abi87 Dec 7, 2023
db4c048
fixed bad merge
abi87 Dec 7, 2023
b100a3d
explicit type casts
abi87 Dec 7, 2023
e8b1ad8
Merge branch 'post_durango_staker_txs' into post_durango_startTime_st…
abi87 Dec 7, 2023
ef27dc9
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 7, 2023
4fc8b59
Merge branch 'dev' into post_durango_startTime_storing
abi87 Dec 8, 2023
b1cd75e
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 8, 2023
f7827bf
Merge branch 'dev' into post_durango_startTime_storing
abi87 Dec 9, 2023
1341ff1
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 9, 2023
4a1db39
Merge branch 'dev' into post_durango_startTime_storing
abi87 Dec 11, 2023
d1c0734
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 11, 2023
0a7798d
nit
abi87 Dec 11, 2023
c21bd77
Merge branch 'dev' into post_durango_startTime_storing
abi87 Dec 12, 2023
17d27cf
reintroduced config to db
abi87 Dec 12, 2023
af4299e
made codec version downgradable
abi87 Dec 12, 2023
6f8224c
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 12, 2023
c8630ec
Merge branch 'dev' into post_durango_startTime_storing
abi87 Dec 12, 2023
3de8149
Merge branch 'dev' into post_durango_startTime_storing
abi87 Dec 12, 2023
e860293
added UT
abi87 Dec 12, 2023
f76c4c7
nit
abi87 Dec 12, 2023
7cbf9a8
nits
dhrubabasu Dec 12, 2023
51f1c47
nit
dhrubabasu Dec 12, 2023
f038750
nit
dhrubabasu Dec 12, 2023
28b2dec
nits
dhrubabasu Dec 12, 2023
e997dc8
dropped zero lenght case for delegators metadata
abi87 Dec 12, 2023
82d1fae
add comment
dhrubabasu Dec 12, 2023
c9b111d
error handling nit
dhrubabasu Dec 12, 2023
c4a523f
remove test
dhrubabasu Dec 12, 2023
e4b7f51
Merge branch 'dev' into post_durango_startTime_storing
dhrubabasu Dec 12, 2023
ff4fae4
nit
dhrubabasu Dec 12, 2023
3e6c59c
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 12, 2023
7e0e59f
Merge branch 'dev' into post_durango_startTime_storing
abi87 Dec 12, 2023
3deecaa
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 12, 2023
0eb0582
Merge branch 'dev' into post_durango_startTime_storing
dhrubabasu Dec 12, 2023
009c942
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
dhrubabasu Dec 12, 2023
2cd2ed2
Merge branch 'dev' into post_durango_startTime_storing
abi87 Dec 13, 2023
ca729d8
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 13, 2023
0f8138e
nit
dhrubabasu Dec 13, 2023
fdfff63
nit
dhrubabasu Dec 13, 2023
2a02982
nits
dhrubabasu Dec 13, 2023
bb045d2
comment nit
dhrubabasu Dec 13, 2023
8f7530c
Merge branch 'dev' into post_durango_startTime_storing
dhrubabasu Dec 13, 2023
0ae7e37
nits
StephenButtolph Dec 13, 2023
d7b5705
Merge branch 'dev' into post_durango_startTime_storing
dhrubabasu Dec 13, 2023
12869f8
Merge branch 'dev' into post_durango_startTime_storing
abi87 Dec 13, 2023
2683628
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 13, 2023
825fb10
Merge branch 'dev' into post_durango_startTime_storing
abi87 Dec 14, 2023
e32bd83
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 14, 2023
b8dd673
Merge branch 'dev' into post_durango_startTime_storing
abi87 Dec 14, 2023
67c4fc5
Merge branch 'post_durango_startTime_storing' into post_durango_minim…
abi87 Dec 14, 2023
e11b002
dropped duplicated asserts
abi87 Dec 14, 2023
509d770
Merge branch 'dev' into post_durango_minimal_test_infra
abi87 Dec 14, 2023
39c3b12
Merge branch 'dev' into post_durango_minimal_test_infra
abi87 Dec 15, 2023
9d8d2a2
nits
abi87 Dec 15, 2023
5402c39
Merge branch 'post_durango_minimal_test_infra' of github.com:ava-labs…
abi87 Dec 15, 2023
1c85582
nits
abi87 Dec 15, 2023
cb76aa5
Merge branch 'dev' into post_durango_minimal_test_infra
abi87 Dec 15, 2023
4bd7b47
Merge branch 'dev' into post_durango_minimal_test_infra
abi87 Dec 15, 2023
6fed91f
nits
StephenButtolph Dec 15, 2023
3147109
nit
StephenButtolph Dec 15, 2023
b8ef82f
nit
StephenButtolph Dec 15, 2023
5cea47f
avoid changing default Balance
abi87 Dec 15, 2023
f9cc02c
leftover
abi87 Dec 15, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 22 additions & 16 deletions vms/platformvm/service_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ var (
)

func defaultService(t *testing.T) (*Service, *mutableSharedMemory) {
vm, _, mutableSharedMemory := defaultVM(t)
vm, _, mutableSharedMemory := defaultVM(t, latestFork)
vm.ctx.Lock.Lock()
defer vm.ctx.Lock.Unlock()
ks := keystore.New(logging.NoLog{}, memdb.New())
Expand Down Expand Up @@ -400,7 +400,7 @@ func TestGetBalance(t *testing.T) {

// Ensure GetStake is correct for each of the genesis validators
genesis, _ := defaultGenesis(t)
for _, utxo := range genesis.UTXOs {
for idx, utxo := range genesis.UTXOs {
request := GetBalanceRequest{
Addresses: []string{
fmt.Sprintf("P-%s", utxo.Address),
Expand All @@ -409,9 +409,14 @@ func TestGetBalance(t *testing.T) {
reply := GetBalanceResponse{}

require.NoError(service.GetBalance(nil, &request, &reply))

require.Equal(json.Uint64(defaultBalance), reply.Balance)
require.Equal(json.Uint64(defaultBalance), reply.Unlocked)
balance := defaultBalance
if idx == 0 {
// we use the first key to fund a subnet creation in [defaultGenesis].
// As such we need to account for the subnet creation fee
balance = defaultBalance - service.vm.Config.GetCreateSubnetTxFee(service.vm.clock.Time())
}
require.Equal(json.Uint64(balance), reply.Balance)
require.Equal(json.Uint64(balance), reply.Unlocked)
require.Equal(json.Uint64(0), reply.LockedStakeable)
require.Equal(json.Uint64(0), reply.LockedNotStakeable)
}
Expand Down Expand Up @@ -495,11 +500,12 @@ func TestGetStake(t *testing.T) {
// Add a delegator
stakeAmount := service.vm.MinDelegatorStake + 12345
delegatorNodeID := genesisNodeIDs[0]
delegatorEndTime := uint64(defaultGenesisTime.Add(defaultMinStakingDuration).Unix())
delegatorStartTime := defaultValidateStartTime
delegatorEndTime := defaultGenesisTime.Add(defaultMinStakingDuration)
tx, err := service.vm.txBuilder.NewAddDelegatorTx(
stakeAmount,
uint64(defaultGenesisTime.Unix()),
delegatorEndTime,
uint64(delegatorStartTime.Unix()),
uint64(delegatorEndTime.Unix()),
delegatorNodeID,
ids.GenerateTestShortID(),
[]*secp256k1.PrivateKey{keys[0]},
Expand All @@ -511,7 +517,7 @@ func TestGetStake(t *testing.T) {
staker, err := state.NewCurrentStaker(
tx.ID(),
addDelTx,
addDelTx.StartTime(),
delegatorStartTime,
0,
)
require.NoError(err)
Expand Down Expand Up @@ -629,15 +635,15 @@ func TestGetCurrentValidators(t *testing.T) {
// Add a delegator
stakeAmount := service.vm.MinDelegatorStake + 12345
validatorNodeID := genesisNodeIDs[1]
delegatorStartTime := uint64(defaultValidateStartTime.Unix())
delegatorEndTime := uint64(defaultValidateStartTime.Add(defaultMinStakingDuration).Unix())
delegatorStartTime := defaultValidateStartTime
delegatorEndTime := delegatorStartTime.Add(defaultMinStakingDuration)

service.vm.ctx.Lock.Lock()

delTx, err := service.vm.txBuilder.NewAddDelegatorTx(
stakeAmount,
delegatorStartTime,
delegatorEndTime,
uint64(delegatorStartTime.Unix()),
uint64(delegatorEndTime.Unix()),
validatorNodeID,
ids.GenerateTestShortID(),
[]*secp256k1.PrivateKey{keys[0]},
Expand All @@ -649,7 +655,7 @@ func TestGetCurrentValidators(t *testing.T) {
staker, err := state.NewCurrentStaker(
delTx.ID(),
addDelTx,
addDelTx.StartTime(),
delegatorStartTime,
0,
)
require.NoError(err)
Expand Down Expand Up @@ -691,8 +697,8 @@ func TestGetCurrentValidators(t *testing.T) {
require.Len(*innerVdr.Delegators, 1)
delegator := (*innerVdr.Delegators)[0]
require.Equal(delegator.NodeID, innerVdr.NodeID)
require.Equal(uint64(delegator.StartTime), delegatorStartTime)
require.Equal(uint64(delegator.EndTime), delegatorEndTime)
require.Equal(int64(delegator.StartTime), delegatorStartTime.Unix())
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(No action required) Maybe call Unix() where these are defined rather than at each point of use?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's annoying but I use delegatorStartTime as time.Time too, so can't redefine it as uint64

Copy link
Contributor

@marun marun Dec 15, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you talking about for Add? Because adding (or comparing) seconds doesn't require a time type.

require.Equal(int64(delegator.EndTime), delegatorEndTime.Unix())
require.Equal(uint64(delegator.Weight), stakeAmount)
}
require.True(found)
Expand Down
64 changes: 37 additions & 27 deletions vms/platformvm/txs/executor/advance_time_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import (
// for the primary network
func TestAdvanceTimeTxUpdatePrimaryNetworkStakers(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
Expand All @@ -33,10 +33,16 @@ func TestAdvanceTimeTxUpdatePrimaryNetworkStakers(t *testing.T) {

// Case: Timestamp is after next validator start time
// Add a pending validator
pendingValidatorStartTime := defaultGenesisTime.Add(1 * time.Second)
pendingValidatorStartTime := defaultValidateStartTime.Add(1 * time.Second)
pendingValidatorEndTime := pendingValidatorStartTime.Add(defaultMinStakingDuration)
nodeID := ids.GenerateTestNodeID()
addPendingValidatorTx, err := addPendingValidator(env, pendingValidatorStartTime, pendingValidatorEndTime, nodeID, []*secp256k1.PrivateKey{preFundedKeys[0]})
addPendingValidatorTx, err := addPendingValidator(
env,
pendingValidatorStartTime,
pendingValidatorEndTime,
nodeID,
[]*secp256k1.PrivateKey{preFundedKeys[0]},
)
require.NoError(err)

tx, err := env.txBuilder.NewAdvanceTimeTx(pendingValidatorStartTime)
Expand Down Expand Up @@ -83,12 +89,12 @@ func TestAdvanceTimeTxUpdatePrimaryNetworkStakers(t *testing.T) {
// Ensure semantic verification fails when proposed timestamp is at or before current timestamp
func TestAdvanceTimeTxTimestampTooEarly(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
defer func() {
require.NoError(shutdownEnvironment(env))
}()

tx, err := env.txBuilder.NewAdvanceTimeTx(defaultGenesisTime)
tx, err := env.txBuilder.NewAdvanceTimeTx(env.state.GetTimestamp())
require.NoError(err)

onCommitState, err := state.NewDiff(lastAcceptedID, env)
Expand All @@ -110,12 +116,12 @@ func TestAdvanceTimeTxTimestampTooEarly(t *testing.T) {
// Ensure semantic verification fails when proposed timestamp is after next validator set change time
func TestAdvanceTimeTxTimestampTooLate(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()

// Case: Timestamp is after next validator start time
// Add a pending validator
pendingValidatorStartTime := defaultGenesisTime.Add(1 * time.Second)
pendingValidatorStartTime := defaultValidateStartTime.Add(1 * time.Second)
pendingValidatorEndTime := pendingValidatorStartTime.Add(defaultMinStakingDuration)
nodeID := ids.GenerateTestNodeID()
_, err := addPendingValidator(env, pendingValidatorStartTime, pendingValidatorEndTime, nodeID, []*secp256k1.PrivateKey{preFundedKeys[0]})
Expand Down Expand Up @@ -144,7 +150,7 @@ func TestAdvanceTimeTxTimestampTooLate(t *testing.T) {
require.NoError(shutdownEnvironment(env))

// Case: Timestamp is after next validator end time
env = newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/)
env = newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
Expand Down Expand Up @@ -207,8 +213,8 @@ func TestAdvanceTimeTxUpdateStakers(t *testing.T) {
// Staker5: |--------------------|
staker1 := staker{
nodeID: ids.GenerateTestNodeID(),
startTime: defaultGenesisTime.Add(1 * time.Minute),
endTime: defaultGenesisTime.Add(10 * defaultMinStakingDuration).Add(1 * time.Minute),
startTime: defaultValidateStartTime.Add(1 * time.Minute),
endTime: defaultValidateStartTime.Add(10 * defaultMinStakingDuration).Add(1 * time.Minute),
}
staker2 := staker{
nodeID: ids.GenerateTestNodeID(),
Expand Down Expand Up @@ -346,7 +352,7 @@ func TestAdvanceTimeTxUpdateStakers(t *testing.T) {
for _, test := range tests {
t.Run(test.description, func(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
Expand Down Expand Up @@ -451,7 +457,7 @@ func TestAdvanceTimeTxUpdateStakers(t *testing.T) {
// is after the new timestamp
func TestAdvanceTimeTxRemoveSubnetValidator(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
Expand Down Expand Up @@ -555,7 +561,7 @@ func TestTrackedSubnet(t *testing.T) {
for _, tracked := range []bool{true, false} {
t.Run(fmt.Sprintf("tracked %t", tracked), func(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
Expand All @@ -570,8 +576,8 @@ func TestTrackedSubnet(t *testing.T) {
// Add a subnet validator to the staker set
subnetValidatorNodeID := genesisNodeIDs[0]

subnetVdr1StartTime := defaultGenesisTime.Add(1 * time.Minute)
subnetVdr1EndTime := defaultGenesisTime.Add(10 * defaultMinStakingDuration).Add(1 * time.Minute)
subnetVdr1StartTime := defaultValidateStartTime.Add(1 * time.Minute)
subnetVdr1EndTime := defaultValidateStartTime.Add(10 * defaultMinStakingDuration).Add(1 * time.Minute)
tx, err := env.txBuilder.NewAddSubnetValidatorTx(
1, // Weight
uint64(subnetVdr1StartTime.Unix()), // Start time
Expand Down Expand Up @@ -625,7 +631,7 @@ func TestTrackedSubnet(t *testing.T) {

func TestAdvanceTimeTxDelegatorStakerWeight(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
Expand All @@ -634,7 +640,7 @@ func TestAdvanceTimeTxDelegatorStakerWeight(t *testing.T) {

// Case: Timestamp is after next validator start time
// Add a pending validator
pendingValidatorStartTime := defaultGenesisTime.Add(1 * time.Second)
pendingValidatorStartTime := defaultValidateStartTime.Add(1 * time.Second)
pendingValidatorEndTime := pendingValidatorStartTime.Add(defaultMaxStakingDuration)
nodeID := ids.GenerateTestNodeID()
_, err := addPendingValidator(
Expand Down Expand Up @@ -732,7 +738,7 @@ func TestAdvanceTimeTxDelegatorStakerWeight(t *testing.T) {

func TestAdvanceTimeTxDelegatorStakers(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
Expand All @@ -741,7 +747,7 @@ func TestAdvanceTimeTxDelegatorStakers(t *testing.T) {

// Case: Timestamp is after next validator start time
// Add a pending validator
pendingValidatorStartTime := defaultGenesisTime.Add(1 * time.Second)
pendingValidatorStartTime := defaultValidateStartTime.Add(1 * time.Second)
pendingValidatorEndTime := pendingValidatorStartTime.Add(defaultMinStakingDuration)
nodeID := ids.GenerateTestNodeID()
_, err := addPendingValidator(env, pendingValidatorStartTime, pendingValidatorEndTime, nodeID, []*secp256k1.PrivateKey{preFundedKeys[0]})
Expand Down Expand Up @@ -829,15 +835,15 @@ func TestAdvanceTimeTxDelegatorStakers(t *testing.T) {
// Test method InitiallyPrefersCommit
func TestAdvanceTimeTxInitiallyPrefersCommit(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
}()
env.clk.Set(defaultGenesisTime) // VM's clock reads the genesis time
now := env.clk.Time()

// Proposed advancing timestamp to 1 second after sync bound
tx, err := env.txBuilder.NewAdvanceTimeTx(defaultGenesisTime.Add(SyncBound))
tx, err := env.txBuilder.NewAdvanceTimeTx(now.Add(SyncBound))
require.NoError(err)

onCommitState, err := state.NewDiff(lastAcceptedID, env)
Expand All @@ -859,16 +865,19 @@ func TestAdvanceTimeTxInitiallyPrefersCommit(t *testing.T) {

func TestAdvanceTimeTxAfterBanff(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
}()
env.clk.Set(defaultGenesisTime) // VM's clock reads the genesis time
env.config.BanffTime = defaultGenesisTime.Add(SyncBound)
upgradeTime := env.clk.Time().Add(SyncBound)
env.config.BanffTime = upgradeTime
env.config.CortinaTime = upgradeTime
env.config.DurangoTime = upgradeTime

// Proposed advancing timestamp to the banff timestamp
tx, err := env.txBuilder.NewAdvanceTimeTx(defaultGenesisTime.Add(SyncBound))
tx, err := env.txBuilder.NewAdvanceTimeTx(upgradeTime)
require.NoError(err)

onCommitState, err := state.NewDiff(lastAcceptedID, env)
Expand All @@ -890,13 +899,14 @@ func TestAdvanceTimeTxAfterBanff(t *testing.T) {
// Ensure marshaling/unmarshaling works
func TestAdvanceTimeTxUnmarshal(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
}()

tx, err := env.txBuilder.NewAdvanceTimeTx(defaultGenesisTime)
chainTime := env.state.GetTimestamp()
tx, err := env.txBuilder.NewAdvanceTimeTx(chainTime.Add(time.Second))
require.NoError(err)

bytes, err := txs.Codec.Marshal(txs.Version, tx)
Expand Down
10 changes: 5 additions & 5 deletions vms/platformvm/txs/executor/create_chain_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import (
// Ensure Execute fails when there are not enough control sigs
func TestCreateChainTxInsufficientControlSigs(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, true /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, true /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
Expand Down Expand Up @@ -60,7 +60,7 @@ func TestCreateChainTxInsufficientControlSigs(t *testing.T) {
// Ensure Execute fails when an incorrect control signature is given
func TestCreateChainTxWrongControlSig(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, true /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, true /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
Expand Down Expand Up @@ -102,7 +102,7 @@ func TestCreateChainTxWrongControlSig(t *testing.T) {
// its validator set doesn't exist
func TestCreateChainTxNoSuchSubnet(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, true /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, true /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
Expand Down Expand Up @@ -136,7 +136,7 @@ func TestCreateChainTxNoSuchSubnet(t *testing.T) {
// Ensure valid tx passes semanticVerify
func TestCreateChainTxValid(t *testing.T) {
require := require.New(t)
env := newEnvironment(t, true /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, true /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(shutdownEnvironment(env))
Expand Down Expand Up @@ -195,7 +195,7 @@ func TestCreateChainTxAP3FeeChange(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
require := require.New(t)

env := newEnvironment(t, true /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, true /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.config.ApricotPhase3Time = ap3Time

defer func() {
Expand Down
2 changes: 1 addition & 1 deletion vms/platformvm/txs/executor/create_subnet_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ func TestCreateSubnetTxAP3FeeChange(t *testing.T) {
t.Run(test.name, func(t *testing.T) {
require := require.New(t)

env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, false /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.config.ApricotPhase3Time = ap3Time
env.ctx.Lock.Lock()
defer func() {
Expand Down
2 changes: 1 addition & 1 deletion vms/platformvm/txs/executor/export_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import (
)

func TestNewExportTx(t *testing.T) {
env := newEnvironment(t, true /*=postBanff*/, false /*=postCortina*/)
env := newEnvironment(t, true /*=postBanff*/, false /*=postCortina*/, false /*postDurango*/)
env.ctx.Lock.Lock()
defer func() {
require.NoError(t, shutdownEnvironment(env))
Expand Down
Loading