Skip to content

Commit c991157

Browse files
Drop Pending Stakers 2 - Replace txs.ScheduledStaker with txs.Staker (#2305)
Co-authored-by: Stephen Buttolph <stephen@avalabs.org>
1 parent a754118 commit c991157

File tree

10 files changed

+125
-45
lines changed

10 files changed

+125
-45
lines changed

vms/platformvm/block/executor/proposal_block_test.go

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -641,9 +641,11 @@ func TestBanffProposalBlockUpdateStakers(t *testing.T) {
641641
require.NoError(err)
642642

643643
// store Staker0 to state
644+
addValTx := addStaker0.Unsigned.(*txs.AddValidatorTx)
644645
staker0, err := state.NewCurrentStaker(
645646
addStaker0.ID(),
646-
addStaker0.Unsigned.(*txs.AddValidatorTx),
647+
addValTx,
648+
addValTx.StartTime(),
647649
0,
648650
)
649651
require.NoError(err)
@@ -741,9 +743,11 @@ func TestBanffProposalBlockRemoveSubnetValidator(t *testing.T) {
741743
)
742744
require.NoError(err)
743745

746+
addSubnetValTx := tx.Unsigned.(*txs.AddSubnetValidatorTx)
744747
staker, err := state.NewCurrentStaker(
745748
tx.ID(),
746-
tx.Unsigned.(*txs.AddSubnetValidatorTx),
749+
addSubnetValTx,
750+
addSubnetValTx.StartTime(),
747751
0,
748752
)
749753
require.NoError(err)
@@ -799,9 +803,11 @@ func TestBanffProposalBlockRemoveSubnetValidator(t *testing.T) {
799803
require.NoError(err)
800804

801805
// store Staker0 to state
806+
addValTx := addStaker0.Unsigned.(*txs.AddValidatorTx)
802807
staker, err = state.NewCurrentStaker(
803808
addStaker0.ID(),
804-
addStaker0.Unsigned.(*txs.AddValidatorTx),
809+
addValTx,
810+
addValTx.StartTime(),
805811
0,
806812
)
807813
require.NoError(err)
@@ -912,9 +918,11 @@ func TestBanffProposalBlockTrackedSubnet(t *testing.T) {
912918
require.NoError(err)
913919

914920
// store Staker0 to state
921+
addValTx := addStaker0.Unsigned.(*txs.AddValidatorTx)
915922
staker, err = state.NewCurrentStaker(
916923
addStaker0.ID(),
917-
addStaker0.Unsigned.(*txs.AddValidatorTx),
924+
addValTx,
925+
addValTx.StartTime(),
918926
0,
919927
)
920928
require.NoError(err)
@@ -999,9 +1007,11 @@ func TestBanffProposalBlockDelegatorStakerWeight(t *testing.T) {
9991007
require.NoError(err)
10001008

10011009
// store Staker0 to state
1010+
addValTx := addStaker0.Unsigned.(*txs.AddValidatorTx)
10021011
staker, err := state.NewCurrentStaker(
10031012
addStaker0.ID(),
1004-
addStaker0.Unsigned.(*txs.AddValidatorTx),
1013+
addValTx,
1014+
addValTx.StartTime(),
10051015
0,
10061016
)
10071017
require.NoError(err)
@@ -1091,9 +1101,11 @@ func TestBanffProposalBlockDelegatorStakerWeight(t *testing.T) {
10911101
require.NoError(err)
10921102

10931103
// store Staker0 to state
1104+
addValTx = addStaker0.Unsigned.(*txs.AddValidatorTx)
10941105
staker, err = state.NewCurrentStaker(
10951106
addStaker0.ID(),
1096-
addStaker0.Unsigned.(*txs.AddValidatorTx),
1107+
addValTx,
1108+
addValTx.StartTime(),
10971109
0,
10981110
)
10991111
require.NoError(err)
@@ -1182,9 +1194,11 @@ func TestBanffProposalBlockDelegatorStakers(t *testing.T) {
11821194
require.NoError(err)
11831195

11841196
// store Staker0 to state
1197+
addValTx := addStaker0.Unsigned.(*txs.AddValidatorTx)
11851198
staker, err := state.NewCurrentStaker(
11861199
addStaker0.ID(),
1187-
addStaker0.Unsigned.(*txs.AddValidatorTx),
1200+
addValTx,
1201+
addValTx.StartTime(),
11881202
0,
11891203
)
11901204
require.NoError(err)
@@ -1273,9 +1287,11 @@ func TestBanffProposalBlockDelegatorStakers(t *testing.T) {
12731287
require.NoError(err)
12741288

12751289
// store Staker0 to state
1290+
addValTx = addStaker0.Unsigned.(*txs.AddValidatorTx)
12761291
staker, err = state.NewCurrentStaker(
12771292
addStaker0.ID(),
1278-
addStaker0.Unsigned.(*txs.AddValidatorTx),
1293+
addValTx,
1294+
addValTx.StartTime(),
12791295
0,
12801296
)
12811297
require.NoError(err)

vms/platformvm/block/executor/standard_block_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -628,9 +628,11 @@ func TestBanffStandardBlockRemoveSubnetValidator(t *testing.T) {
628628
)
629629
require.NoError(err)
630630

631+
addSubnetValTx := tx.Unsigned.(*txs.AddSubnetValidatorTx)
631632
staker, err := state.NewCurrentStaker(
632633
tx.ID(),
633-
tx.Unsigned.(*txs.AddSubnetValidatorTx),
634+
addSubnetValTx,
635+
addSubnetValTx.StartTime(),
634636
0,
635637
)
636638
require.NoError(err)

vms/platformvm/service_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -507,9 +507,11 @@ func TestGetStake(t *testing.T) {
507507
)
508508
require.NoError(err)
509509

510+
addDelTx := tx.Unsigned.(*txs.AddDelegatorTx)
510511
staker, err := state.NewCurrentStaker(
511512
tx.ID(),
512-
tx.Unsigned.(*txs.AddDelegatorTx),
513+
addDelTx,
514+
addDelTx.StartTime(),
513515
0,
514516
)
515517
require.NoError(err)
@@ -643,9 +645,11 @@ func TestGetCurrentValidators(t *testing.T) {
643645
)
644646
require.NoError(err)
645647

648+
addDelTx := delTx.Unsigned.(*txs.AddDelegatorTx)
646649
staker, err := state.NewCurrentStaker(
647650
delTx.ID(),
648-
delTx.Unsigned.(*txs.AddDelegatorTx),
651+
addDelTx,
652+
addDelTx.StartTime(),
649653
0,
650654
)
651655
require.NoError(err)

vms/platformvm/state/staker.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,12 @@ func (s *Staker) Less(than *Staker) bool {
8383
return bytes.Compare(s.TxID[:], than.TxID[:]) == -1
8484
}
8585

86-
func NewCurrentStaker(txID ids.ID, staker txs.ScheduledStaker, potentialReward uint64) (*Staker, error) {
86+
func NewCurrentStaker(
87+
txID ids.ID,
88+
staker txs.Staker,
89+
startTime time.Time,
90+
potentialReward uint64,
91+
) (*Staker, error) {
8792
publicKey, _, err := staker.PublicKey()
8893
if err != nil {
8994
return nil, err
@@ -95,7 +100,7 @@ func NewCurrentStaker(txID ids.ID, staker txs.ScheduledStaker, potentialReward u
95100
PublicKey: publicKey,
96101
SubnetID: staker.SubnetID(),
97102
Weight: staker.Weight(),
98-
StartTime: staker.StartTime(),
103+
StartTime: startTime,
99104
EndTime: endTime,
100105
PotentialReward: potentialReward,
101106
NextTime: endTime,

vms/platformvm/state/staker_test.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -148,16 +148,15 @@ func TestNewCurrentStaker(t *testing.T) {
148148
potentialReward := uint64(54321)
149149
currentPriority := txs.SubnetPermissionedValidatorCurrentPriority
150150

151-
stakerTx := txs.NewMockScheduledStaker(ctrl)
151+
stakerTx := txs.NewMockStaker(ctrl)
152+
stakerTx.EXPECT().EndTime().Return(endTime)
152153
stakerTx.EXPECT().NodeID().Return(nodeID)
153154
stakerTx.EXPECT().PublicKey().Return(publicKey, true, nil)
154155
stakerTx.EXPECT().SubnetID().Return(subnetID)
155156
stakerTx.EXPECT().Weight().Return(weight)
156-
stakerTx.EXPECT().StartTime().Return(startTime)
157-
stakerTx.EXPECT().EndTime().Return(endTime)
158157
stakerTx.EXPECT().CurrentPriority().Return(currentPriority)
159158

160-
staker, err := NewCurrentStaker(txID, stakerTx, potentialReward)
159+
staker, err := NewCurrentStaker(txID, stakerTx, startTime, potentialReward)
161160
require.NotNil(staker)
162161
require.NoError(err)
163162
require.Equal(txID, staker.TxID)
@@ -173,7 +172,7 @@ func TestNewCurrentStaker(t *testing.T) {
173172

174173
stakerTx.EXPECT().PublicKey().Return(nil, false, errCustom)
175174

176-
_, err = NewCurrentStaker(txID, stakerTx, potentialReward)
175+
_, err = NewCurrentStaker(txID, stakerTx, startTime, potentialReward)
177176
require.ErrorIs(err, errCustom)
178177
}
179178

vms/platformvm/state/state.go

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1346,7 +1346,7 @@ func (s *state) syncGenesis(genesisBlk block.Block, genesis *genesis.Genesis) er
13461346
return err
13471347
}
13481348

1349-
staker, err := NewCurrentStaker(vdrTx.ID(), validatorTx, potentialReward)
1349+
staker, err := NewCurrentStaker(vdrTx.ID(), validatorTx, validatorTx.StartTime(), potentialReward)
13501350
if err != nil {
13511351
return err
13521352
}
@@ -1457,7 +1457,7 @@ func (s *state) loadCurrentValidators() error {
14571457

14581458
stakerTx, ok := tx.Unsigned.(txs.ScheduledStaker)
14591459
if !ok {
1460-
return fmt.Errorf("expected tx type txs.Staker but got %T", tx.Unsigned)
1460+
return fmt.Errorf("expected tx type txs.ScheduledStaker but got %T", tx.Unsigned)
14611461
}
14621462

14631463
metadataBytes := validatorIt.Value()
@@ -1470,7 +1470,11 @@ func (s *state) loadCurrentValidators() error {
14701470
return err
14711471
}
14721472

1473-
staker, err := NewCurrentStaker(txID, stakerTx, metadata.PotentialReward)
1473+
staker, err := NewCurrentStaker(
1474+
txID,
1475+
stakerTx,
1476+
stakerTx.StartTime(),
1477+
metadata.PotentialReward)
14741478
if err != nil {
14751479
return err
14761480
}
@@ -1498,7 +1502,7 @@ func (s *state) loadCurrentValidators() error {
14981502

14991503
stakerTx, ok := tx.Unsigned.(txs.ScheduledStaker)
15001504
if !ok {
1501-
return fmt.Errorf("expected tx type txs.Staker but got %T", tx.Unsigned)
1505+
return fmt.Errorf("expected tx type txs.ScheduledStaker but got %T", tx.Unsigned)
15021506
}
15031507

15041508
metadataBytes := subnetValidatorIt.Value()
@@ -1513,7 +1517,12 @@ func (s *state) loadCurrentValidators() error {
15131517
return err
15141518
}
15151519

1516-
staker, err := NewCurrentStaker(txID, stakerTx, metadata.PotentialReward)
1520+
staker, err := NewCurrentStaker(
1521+
txID,
1522+
stakerTx,
1523+
startTime,
1524+
metadata.PotentialReward,
1525+
)
15171526
if err != nil {
15181527
return err
15191528
}
@@ -1545,7 +1554,7 @@ func (s *state) loadCurrentValidators() error {
15451554

15461555
stakerTx, ok := tx.Unsigned.(txs.ScheduledStaker)
15471556
if !ok {
1548-
return fmt.Errorf("expected tx type txs.Staker but got %T", tx.Unsigned)
1557+
return fmt.Errorf("expected tx type txs.ScheduledStaker but got %T", tx.Unsigned)
15491558
}
15501559

15511560
metadata := &delegatorMetadata{
@@ -1556,7 +1565,12 @@ func (s *state) loadCurrentValidators() error {
15561565
return err
15571566
}
15581567

1559-
staker, err := NewCurrentStaker(txID, stakerTx, metadata.PotentialReward)
1568+
staker, err := NewCurrentStaker(
1569+
txID,
1570+
stakerTx,
1571+
stakerTx.StartTime(),
1572+
metadata.PotentialReward,
1573+
)
15601574
if err != nil {
15611575
return err
15621576
}

vms/platformvm/txs/executor/advance_time_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -476,9 +476,11 @@ func TestAdvanceTimeTxRemoveSubnetValidator(t *testing.T) {
476476
)
477477
require.NoError(err)
478478

479+
addSubnetValTx := tx.Unsigned.(*txs.AddSubnetValidatorTx)
479480
staker, err := state.NewCurrentStaker(
480481
tx.ID(),
481-
tx.Unsigned.(*txs.AddSubnetValidatorTx),
482+
addSubnetValTx,
483+
addSubnetValTx.StartTime(),
482484
0,
483485
)
484486
require.NoError(err)

vms/platformvm/txs/executor/proposal_tx_executor_test.go

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,11 @@ func TestProposalTxExecuteAddDelegator(t *testing.T) {
4646
)
4747
require.NoError(t, err)
4848

49+
addValTx := tx.Unsigned.(*txs.AddValidatorTx)
4950
staker, err := state.NewCurrentStaker(
5051
tx.ID(),
51-
tx.Unsigned.(*txs.AddValidatorTx),
52+
addValTx,
53+
addValTx.StartTime(),
5254
0,
5355
)
5456
require.NoError(t, err)
@@ -74,9 +76,11 @@ func TestProposalTxExecuteAddDelegator(t *testing.T) {
7476
)
7577
require.NoError(t, err)
7678

79+
addValTx := tx.Unsigned.(*txs.AddValidatorTx)
7780
staker, err := state.NewCurrentStaker(
7881
tx.ID(),
79-
tx.Unsigned.(*txs.AddValidatorTx),
82+
addValTx,
83+
addValTx.StartTime(),
8084
0,
8185
)
8286
require.NoError(t, err)
@@ -398,9 +402,11 @@ func TestProposalTxExecuteAddSubnetValidator(t *testing.T) {
398402
require.ErrorIs(err, ErrNotValidator)
399403
}
400404

405+
addValTx := addDSTx.Unsigned.(*txs.AddValidatorTx)
401406
staker, err := state.NewCurrentStaker(
402407
addDSTx.ID(),
403-
addDSTx.Unsigned.(*txs.AddValidatorTx),
408+
addValTx,
409+
addValTx.StartTime(),
404410
0,
405411
)
406412
require.NoError(err)
@@ -551,9 +557,11 @@ func TestProposalTxExecuteAddSubnetValidator(t *testing.T) {
551557
)
552558
require.NoError(err)
553559

560+
addSubnetValTx := subnetTx.Unsigned.(*txs.AddSubnetValidatorTx)
554561
staker, err = state.NewCurrentStaker(
555562
subnetTx.ID(),
556-
subnetTx.Unsigned.(*txs.AddSubnetValidatorTx),
563+
addSubnetValTx,
564+
addSubnetValTx.StartTime(),
557565
0,
558566
)
559567
require.NoError(err)
@@ -680,9 +688,11 @@ func TestProposalTxExecuteAddSubnetValidator(t *testing.T) {
680688
)
681689
require.NoError(err)
682690

691+
addSubnetValTx := subnetTx.Unsigned.(*txs.AddSubnetValidatorTx)
683692
staker, err = state.NewCurrentStaker(
684693
subnetTx.ID(),
685-
subnetTx.Unsigned.(*txs.AddSubnetValidatorTx),
694+
addSubnetValTx,
695+
addSubnetValTx.StartTime(),
686696
0,
687697
)
688698
require.NoError(err)

0 commit comments

Comments
 (0)