Skip to content

Commit f68c8bd

Browse files
Merge pull request #743 from ava-labs/platformvm-iter-syntax
Use constant stop/start db syntax for current/pending validators
2 parents 551eae5 + 86961df commit f68c8bd

File tree

3 files changed

+31
-31
lines changed

3 files changed

+31
-31
lines changed

vms/platformvm/service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2098,7 +2098,7 @@ func (service *Service) GetStake(_ *http.Request, args *api.JSONAddresses, respo
20982098
startIter := startDB.NewIterator()
20992099
defer startIter.Release()
21002100

2101-
for startIter.Next() { // Iterates over current stakers
2101+
for startIter.Next() { // Iterates over pending stakers
21022102
stakerBytes := startIter.Value()
21032103

21042104
tx := Tx{}

vms/platformvm/state.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -264,47 +264,47 @@ func (vm *VM) removeStaker(db database.Database, subnetID ids.ID, tx *rewardTx)
264264

265265
// Returns the pending staker that will start staking next
266266
func (vm *VM) nextStakerStart(db database.Database, subnetID ids.ID) (*Tx, error) {
267-
iter := prefixdb.NewNested([]byte(fmt.Sprintf("%s%s", subnetID, startDBPrefix)), db).NewIterator()
268-
defer iter.Release()
267+
startIter := prefixdb.NewNested([]byte(fmt.Sprintf("%s%s", subnetID, startDBPrefix)), db).NewIterator()
268+
defer startIter.Release()
269269

270-
if !iter.Next() {
270+
if !startIter.Next() {
271271
return nil, errNoValidators
272272
}
273273
// Key: [Staker start time] | [Tx ID]
274274
// Value: Byte repr. of tx that added this validator
275275

276276
tx := Tx{}
277-
if _, err := Codec.Unmarshal(iter.Value(), &tx); err != nil {
277+
if _, err := Codec.Unmarshal(startIter.Value(), &tx); err != nil {
278278
return nil, err
279279
}
280280
return &tx, tx.Sign(vm.codec, nil)
281281
}
282282

283283
// Returns the current staker that will stop staking next
284284
func (vm *VM) nextStakerStop(db database.Database, subnetID ids.ID) (*rewardTx, error) {
285-
iter := prefixdb.NewNested([]byte(fmt.Sprintf("%s%s", subnetID, stopDBPrefix)), db).NewIterator()
286-
defer iter.Release()
285+
stopIter := prefixdb.NewNested([]byte(fmt.Sprintf("%s%s", subnetID, stopDBPrefix)), db).NewIterator()
286+
defer stopIter.Release()
287287

288-
if !iter.Next() {
288+
if !stopIter.Next() {
289289
return nil, errNoValidators
290290
}
291291
// Key: [Staker stop time] | [Tx ID]
292292
// Value: Byte repr. of tx that added this validator
293293

294294
tx := rewardTx{}
295-
if _, err := Codec.Unmarshal(iter.Value(), &tx); err != nil {
295+
if _, err := Codec.Unmarshal(stopIter.Value(), &tx); err != nil {
296296
return nil, err
297297
}
298298
return &tx, tx.Tx.Sign(vm.codec, nil)
299299
}
300300

301301
// Returns true if [nodeID] is a validator (not a delegator) of subnet [subnetID]
302302
func (vm *VM) isValidator(db database.Database, subnetID ids.ID, nodeID ids.ShortID) (TimedTx, bool, error) {
303-
iter := prefixdb.NewNested([]byte(fmt.Sprintf("%s%s", subnetID, stopDBPrefix)), db).NewIterator()
304-
defer iter.Release()
303+
stopIter := prefixdb.NewNested([]byte(fmt.Sprintf("%s%s", subnetID, stopDBPrefix)), db).NewIterator()
304+
defer stopIter.Release()
305305

306-
for iter.Next() {
307-
txBytes := iter.Value()
306+
for stopIter.Next() {
307+
txBytes := stopIter.Value()
308308
tx := rewardTx{}
309309
if _, err := Codec.Unmarshal(txBytes, &tx); err != nil {
310310
return nil, false, err
@@ -333,11 +333,11 @@ func (vm *VM) isValidator(db database.Database, subnetID ids.ID, nodeID ids.Shor
333333
// Returns true if [nodeID] will be a validator (not a delegator) of subnet
334334
// [subnetID]
335335
func (vm *VM) willBeValidator(db database.Database, subnetID ids.ID, nodeID ids.ShortID) (TimedTx, bool, error) {
336-
iter := prefixdb.NewNested([]byte(fmt.Sprintf("%s%s", subnetID, startDBPrefix)), db).NewIterator()
337-
defer iter.Release()
336+
startIter := prefixdb.NewNested([]byte(fmt.Sprintf("%s%s", subnetID, startDBPrefix)), db).NewIterator()
337+
defer startIter.Release()
338338

339-
for iter.Next() {
340-
txBytes := iter.Value()
339+
for startIter.Next() {
340+
txBytes := startIter.Value()
341341
tx := Tx{}
342342
if _, err := Codec.Unmarshal(txBytes, &tx); err != nil {
343343
return nil, false, err

vms/platformvm/vm.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,7 @@ func (vm *VM) Bootstrapped() error {
417417
stopIter := stopDB.NewIterator()
418418
defer stopIter.Release()
419419

420-
for stopIter.Next() { // Iterates in order of increasing start time
420+
for stopIter.Next() { // Iterates in order of increasing stop time
421421
txBytes := stopIter.Value()
422422

423423
tx := rewardTx{}
@@ -485,7 +485,7 @@ func (vm *VM) Shutdown() error {
485485
stopIter := stopDB.NewIterator()
486486
defer stopIter.Release()
487487

488-
for stopIter.Next() { // Iterates in order of increasing start time
488+
for stopIter.Next() { // Iterates in order of increasing stop time
489489
txBytes := stopIter.Value()
490490

491491
tx := rewardTx{}
@@ -878,7 +878,7 @@ pendingStakerLoop:
878878
defer stopIter.Release()
879879

880880
currentStakerLoop:
881-
for stopIter.Next() { // Iterates in order of increasing start time
881+
for stopIter.Next() { // Iterates in order of increasing stop time
882882
txBytes := stopIter.Value()
883883

884884
tx := rewardTx{}
@@ -964,7 +964,7 @@ func (vm *VM) updateVdrSet(subnetID ids.ID) error {
964964
stopIter := stopDB.NewIterator()
965965
defer stopIter.Release()
966966

967-
for stopIter.Next() { // Iterates in order of increasing start time
967+
for stopIter.Next() { // Iterates in order of increasing stop time
968968
txBytes := stopIter.Value()
969969

970970
tx := rewardTx{}
@@ -1165,12 +1165,12 @@ func (vm *VM) getStakers() ([]validators.Validator, error) {
11651165
stopPrefix := []byte(fmt.Sprintf("%s%s", constants.PrimaryNetworkID, stopDBPrefix))
11661166
stopDB := prefixdb.NewNested(stopPrefix, vm.DB)
11671167
defer stopDB.Close()
1168-
iter := stopDB.NewIterator()
1169-
defer iter.Release()
1168+
stopIter := stopDB.NewIterator()
1169+
defer stopIter.Release()
11701170

11711171
stakers := []validators.Validator{}
1172-
for iter.Next() { // Iterates in order of increasing start time
1173-
txBytes := iter.Value()
1172+
for stopIter.Next() { // Iterates in order of increasing stop time
1173+
txBytes := stopIter.Value()
11741174
tx := rewardTx{}
11751175
if _, err := vm.codec.Unmarshal(txBytes, &tx); err != nil {
11761176
return nil, fmt.Errorf("couldn't unmarshal validator tx: %w", err)
@@ -1188,7 +1188,7 @@ func (vm *VM) getStakers() ([]validators.Validator, error) {
11881188

11891189
errs := wrappers.Errs{}
11901190
errs.Add(
1191-
iter.Error(),
1191+
stopIter.Error(),
11921192
stopDB.Close(),
11931193
)
11941194
return stakers, errs.Err
@@ -1202,12 +1202,12 @@ func (vm *VM) getPendingStakers() ([]validators.Validator, error) {
12021202
startDBPrefix := []byte(fmt.Sprintf("%s%s", constants.PrimaryNetworkID, startDBPrefix))
12031203
startDB := prefixdb.NewNested(startDBPrefix, vm.DB)
12041204
defer startDB.Close()
1205-
iter := startDB.NewIterator()
1206-
defer iter.Release()
1205+
startIter := startDB.NewIterator()
1206+
defer startIter.Release()
12071207

12081208
stakers := []validators.Validator{}
1209-
for iter.Next() { // Iterates in order of increasing start time
1210-
txBytes := iter.Value()
1209+
for startIter.Next() { // Iterates in order of increasing start time
1210+
txBytes := startIter.Value()
12111211
tx := rewardTx{}
12121212
if _, err := vm.codec.Unmarshal(txBytes, &tx); err != nil {
12131213
return nil, fmt.Errorf("couldn't unmarshal validator tx: %w", err)
@@ -1225,7 +1225,7 @@ func (vm *VM) getPendingStakers() ([]validators.Validator, error) {
12251225

12261226
errs := wrappers.Errs{}
12271227
errs.Add(
1228-
iter.Error(),
1228+
startIter.Error(),
12291229
startDB.Close(),
12301230
)
12311231
return stakers, errs.Err

0 commit comments

Comments
 (0)