diff --git a/x/distribution/keeper/allocation.go b/x/distribution/keeper/allocation.go index debf0eb620..ddb351e4ed 100644 --- a/x/distribution/keeper/allocation.go +++ b/x/distribution/keeper/allocation.go @@ -13,6 +13,7 @@ func (k Keeper) AllocateTokens(ctx sdk.Context, percentVotes sdk.Dec, proposer s // get the proposer of this block proposerValidator := k.stakeKeeper.ValidatorByConsAddr(ctx, proposer) + proposerDist := k.GetValidatorDistInfo(ctx, proposerValidator.GetOperator()) // get the fees which have been getting collected through all the diff --git a/x/distribution/keeper/hooks.go b/x/distribution/keeper/hooks.go index a3540c7609..f02b12b8d9 100644 --- a/x/distribution/keeper/hooks.go +++ b/x/distribution/keeper/hooks.go @@ -104,7 +104,6 @@ func (h Hooks) OnDelegationRemoved(ctx sdk.Context, delAddr sdk.AccAddress, valA func (h Hooks) OnValidatorBeginUnbonding(ctx sdk.Context, _ sdk.ConsAddress, addr sdk.ValAddress) { h.k.onValidatorModified(ctx, addr) } - func (h Hooks) OnValidatorBonded(ctx sdk.Context, _ sdk.ConsAddress, addr sdk.ValAddress) { h.k.onValidatorModified(ctx, addr) } diff --git a/x/mock/simulation/random_simulate_blocks.go b/x/mock/simulation/random_simulate_blocks.go index bccb42285f..72f2ea1f0c 100644 --- a/x/mock/simulation/random_simulate_blocks.go +++ b/x/mock/simulation/random_simulate_blocks.go @@ -176,6 +176,12 @@ func SimulateFromSeed(tb testing.TB, app *baseapp.BaseApp, app.Commit() } + if header.ProposerAddress == nil { + fmt.Printf("\nSimulation stopped early as all validators have been unbonded, there is nobody left propose a block!\n") + stopEarly = true + break + } + // Generate a random RequestBeginBlock with the current validator set for the next block request = RandomRequestBeginBlock(r, validators, livenessTransitionMatrix, evidenceFraction, pastTimes, pastVoteInfos, event, header)