Predict next bound offset (#691)

* predictLowerBound with offset

* remove method predictLowerBound without offset

* bump emerald submodule
This commit is contained in:
Andrey Bronin
2025-08-14 17:46:40 +03:00
committed by GitHub
parent 5ef7f8d414
commit 77b1d1fa28
12 changed files with 29 additions and 33 deletions

View File

@@ -225,7 +225,7 @@ class SelectorTest {
expected: MatchesResponse,
) {
val up = mock<Upstream> {
on { predictLowerBound(LowerBoundType.STATE) } doReturn predicted
on { predictLowerBound(LowerBoundType.STATE, 0) } doReturn predicted
}
val matcher = Selector.LowerHeightMatcher(lowerHeight, LowerBoundType.STATE)

View File

@@ -15,15 +15,15 @@ class LowerBoundServiceTest {
@Test
fun `predict lower bound`() {
val detector = mock<LowerBoundDetector> {
on { predictLowerBound(LowerBoundType.STATE) } doReturn 4000
on { predictLowerBound(LowerBoundType.STATE, 0) } doReturn 4000
on { types() } doReturn setOf(LowerBoundType.STATE)
}
val boundService = LowerBoundServiceMock(mock<Upstream>(), listOf(detector))
val bound = boundService.predictLowerBound(LowerBoundType.STATE)
val bound = boundService.predictLowerBound(LowerBoundType.STATE, 0)
verify(detector).types()
verify(detector).predictLowerBound(LowerBoundType.STATE)
verify(detector).predictLowerBound(LowerBoundType.STATE, 0)
assertThat(bound).isEqualTo(4000)
}
@@ -35,10 +35,10 @@ class LowerBoundServiceTest {
}
val boundService = LowerBoundServiceMock(mock<Upstream>(), listOf(detector))
val bound = boundService.predictLowerBound(LowerBoundType.BLOCK)
val bound = boundService.predictLowerBound(LowerBoundType.BLOCK, 0)
verify(detector).types()
verify(detector, never()).predictLowerBound(any())
verify(detector, never()).predictLowerBound(any(), any())
assertThat(bound).isEqualTo(0)
}

View File

@@ -16,7 +16,7 @@ class LowerBoundsPredictionTest {
lowerBounds.updateBound(newLowerBound)
val lastBound = lowerBounds.getLastBound(LowerBoundType.STATE)
val predictedNextBound = lowerBounds.predictNextBound(LowerBoundType.STATE)
val predictedNextBound = lowerBounds.predictNextBound(LowerBoundType.STATE, 0)
val allBounds = lowerBounds.getAllBounds(LowerBoundType.STATE)
assertThat(lastBound).isEqualTo(newLowerBound)
@@ -29,7 +29,7 @@ class LowerBoundsPredictionTest {
val lowerBounds = LowerBounds(Chain.ETHEREUM__MAINNET)
val lastBound = lowerBounds.getLastBound(LowerBoundType.STATE)
val predictedNextBound = lowerBounds.predictNextBound(LowerBoundType.STATE)
val predictedNextBound = lowerBounds.predictNextBound(LowerBoundType.STATE, 0)
val allBounds = lowerBounds.getAllBounds(LowerBoundType.STATE)
assertThat(lastBound).isNull()
@@ -46,7 +46,7 @@ class LowerBoundsPredictionTest {
lowerBounds.updateBound(newLowerBound)
val lastBound = lowerBounds.getLastBound(LowerBoundType.STATE)
val predictedNextBound = lowerBounds.predictNextBound(LowerBoundType.STATE)
val predictedNextBound = lowerBounds.predictNextBound(LowerBoundType.STATE, 0)
val allBounds = lowerBounds.getAllBounds(LowerBoundType.STATE)
assertThat(lastBound).isEqualTo(newLowerBound)
@@ -56,7 +56,7 @@ class LowerBoundsPredictionTest {
lowerBounds.updateBound(nextNewLowerBound)
val newLastBound = lowerBounds.getLastBound(LowerBoundType.STATE)
val newPredictedNextBound = lowerBounds.predictNextBound(LowerBoundType.STATE)
val newPredictedNextBound = lowerBounds.predictNextBound(LowerBoundType.STATE, 0)
val newAllBounds = lowerBounds.getAllBounds(LowerBoundType.STATE)
assertThat(newLastBound).isEqualTo(nextNewLowerBound)
@@ -73,7 +73,7 @@ class LowerBoundsPredictionTest {
lowerBounds.updateBound(LowerBoundData(100000L, 1000, LowerBoundType.STATE))
val lastBound = lowerBounds.getLastBound(LowerBoundType.STATE)
val predictedNextBound = lowerBounds.predictNextBound(LowerBoundType.STATE)
val predictedNextBound = lowerBounds.predictNextBound(LowerBoundType.STATE, 0)
val allBounds = lowerBounds.getAllBounds(LowerBoundType.STATE)
assertThat(lastBound).isEqualTo(newLowerBound)
@@ -162,7 +162,7 @@ class LowerBoundsPredictionTest {
lowerBounds.updateBound(lowerBound3)
assertThat(lowerBounds.getLastBound(LowerBoundType.STATE)).isEqualTo(lowerBound3)
assertThat(lowerBounds.predictNextBound(LowerBoundType.STATE)).isEqualTo(15060L)
assertThat(lowerBounds.predictNextBound(LowerBoundType.STATE, 0)).isEqualTo(15060L)
assertThat(lowerBounds.getAllBounds(LowerBoundType.STATE)).isEqualTo(listOf(lowerBound1, lowerBound2, lowerBound3))
}
@@ -178,7 +178,7 @@ class LowerBoundsPredictionTest {
lowerBounds.updateBound(lowerBound2)
lowerBounds.updateBound(lowerBound3)
val predicted = lowerBounds.predictNextBound(LowerBoundType.STATE)
val predicted = lowerBounds.predictNextBound(LowerBoundType.STATE, 0)
assertThat(predicted)
.isLessThan(37996030)
@@ -193,7 +193,7 @@ class LowerBoundsPredictionTest {
lowerBounds.updateBound(lowerBound1)
val predicted = lowerBounds.predictNextBound(LowerBoundType.STATE)
val predicted = lowerBounds.predictNextBound(LowerBoundType.STATE, 0)
assertThat(predicted)
.isLessThan(37996030)