diff --git a/vms/evm/sync/customrawdb/sync_progress.go b/vms/evm/sync/customrawdb/sync_progress.go index b845fd26aa6f..87e1839966be 100644 --- a/vms/evm/sync/customrawdb/sync_progress.go +++ b/vms/evm/sync/customrawdb/sync_progress.go @@ -180,15 +180,9 @@ func WriteSyncPerformed(db ethdb.KeyValueWriter, blockNumber uint64) error { return db.Put(bytes, nil) } -// NewSyncPerformedIterator returns an iterator over all block numbers the VM -// has state synced to. -func NewSyncPerformedIterator(db ethdb.Iteratee) ethdb.Iterator { - return rawdb.NewKeyLengthIterator(db.NewIterator(syncPerformedPrefix, nil), syncPerformedKeyLength) -} - // GetLatestSyncPerformed returns the latest block number state synced performed to. func GetLatestSyncPerformed(db ethdb.Iteratee) (uint64, error) { - it := NewSyncPerformedIterator(db) + it := newSyncPerformedIterator(db) defer it.Release() var latestSyncPerformed uint64 @@ -201,6 +195,18 @@ func GetLatestSyncPerformed(db ethdb.Iteratee) (uint64, error) { return latestSyncPerformed, it.Error() } +// newSyncPerformedIterator returns an iterator over all block numbers the VM +// has state synced to. +func newSyncPerformedIterator(db ethdb.Iteratee) ethdb.Iterator { + return rawdb.NewKeyLengthIterator(db.NewIterator(syncPerformedPrefix, nil), syncPerformedKeyLength) +} + +// parseSyncPerformedKey returns the block number from keys returned by +// NewSyncPerformedIterator. It panics if the key is shorter than `syncPerformedKeyLength`. +func parseSyncPerformedKey(key []byte) uint64 { + return binary.BigEndian.Uint64(key[len(syncPerformedPrefix):]) +} + // clearPrefix removes all keys in db that begin with prefix and match an // expected key length. `keyLen` must include the length of the prefix. func clearPrefix(db ethdb.KeyValueStore, prefix []byte, keyLen int) error { @@ -230,11 +236,3 @@ func clearPrefix(db ethdb.KeyValueStore, prefix []byte, keyLen int) error { } return batch.Write() } - -// parseSyncPerformedKey returns the block number from keys the iterator returned -// from NewSyncPerformedIterator. It assumes the key has the syncPerformedPrefix -// followed by an 8-byte big-endian block number, and panics if the key is shorter -// than len(syncPerformedPrefix)+wrappers.LongLen. -func parseSyncPerformedKey(key []byte) uint64 { - return binary.BigEndian.Uint64(key[len(syncPerformedPrefix):]) -} diff --git a/vms/evm/sync/customrawdb/sync_progress_test.go b/vms/evm/sync/customrawdb/sync_progress_test.go index add01f10b38c..2aa4f95e9dfa 100644 --- a/vms/evm/sync/customrawdb/sync_progress_test.go +++ b/vms/evm/sync/customrawdb/sync_progress_test.go @@ -185,7 +185,7 @@ func TestSyncPerformedAndLatest(t *testing.T) { require.NoError(t, WriteSyncPerformed(db, 15)) // Iterator yields all - vals := mapIterator(t, NewSyncPerformedIterator(db), parseSyncPerformedKey) + vals := mapIterator(t, newSyncPerformedIterator(db), parseSyncPerformedKey) require.Equal(t, []uint64{10, 15, 20}, vals)