diff --git a/vms/proposervm/vm_test.go b/vms/proposervm/vm_test.go index 583a98a66858..f92b89098b27 100644 --- a/vms/proposervm/vm_test.go +++ b/vms/proposervm/vm_test.go @@ -211,7 +211,7 @@ func initTestProposerVM( return coreVM, valState, proVM, db } -func waitForProposerWindow(vm *VM, chainTip snowman.Block, pchainHeight uint64) error { +func waitForProposerWindow(vm *VM, chainTip snowman.Block, pChainHeight uint64) error { var ( ctx = context.Background() childBlockHeight = chainTip.Height() + 1 @@ -219,11 +219,12 @@ func waitForProposerWindow(vm *VM, chainTip snowman.Block, pchainHeight uint64) ) for { - slot := proposer.TimeToSlot(parentTimestamp, vm.Clock.Time().Truncate(time.Second)) + now := vm.Clock.Time().Truncate(time.Second) + slot := proposer.TimeToSlot(parentTimestamp, now) delay, err := vm.MinDelayForProposer( ctx, childBlockHeight, - pchainHeight, + pChainHeight, vm.ctx.NodeID, slot, ) @@ -231,10 +232,12 @@ func waitForProposerWindow(vm *VM, chainTip snowman.Block, pchainHeight uint64) return err } - vm.Clock.Set(parentTimestamp.Add(delay)) - if delay < proposer.MaxLookAheadWindow { + delayUntil := parentTimestamp.Add(delay) + if !now.Before(delayUntil) { return nil } + + vm.Clock.Set(delayUntil) } }