refactor(evidence)!: use collections for state management (#16336)
Co-authored-by: unknown unknown <unknown@unknown>
This commit is contained in:
co-authored by
unknown unknown
parent
46c8ec8fc9
commit
28178f7ca6
@@ -140,10 +140,10 @@ func initFixture(t testing.TB) *fixture {
|
||||
evidencetypes.RegisterMsgServer(integrationApp.MsgServiceRouter(), keeper.NewMsgServerImpl(*evidenceKeeper))
|
||||
evidencetypes.RegisterQueryServer(integrationApp.QueryHelper(), keeper.NewQuerier(evidenceKeeper))
|
||||
|
||||
slashingKeeper.SetParams(sdkCtx, testutil.TestParams())
|
||||
assert.NilError(t, slashingKeeper.SetParams(sdkCtx, testutil.TestParams()))
|
||||
|
||||
// set default staking params
|
||||
stakingKeeper.SetParams(sdkCtx, stakingtypes.DefaultParams())
|
||||
assert.NilError(t, stakingKeeper.SetParams(sdkCtx, stakingtypes.DefaultParams()))
|
||||
|
||||
return &fixture{
|
||||
app: integrationApp,
|
||||
@@ -171,14 +171,15 @@ func TestHandleDoubleSign(t *testing.T) {
|
||||
selfDelegation := tstaking.CreateValidatorWithValPower(operatorAddr, val, power, true)
|
||||
|
||||
// execute end-blocker and verify validator attributes
|
||||
f.stakingKeeper.EndBlocker(f.sdkCtx)
|
||||
_, err := f.stakingKeeper.EndBlocker(f.sdkCtx)
|
||||
assert.NilError(t, err)
|
||||
assert.DeepEqual(t,
|
||||
f.bankKeeper.GetAllBalances(ctx, sdk.AccAddress(operatorAddr)).String(),
|
||||
sdk.NewCoins(sdk.NewCoin(stakingParams.BondDenom, initAmt.Sub(selfDelegation))).String(),
|
||||
)
|
||||
assert.DeepEqual(t, selfDelegation, f.stakingKeeper.Validator(ctx, operatorAddr).GetBondedTokens())
|
||||
|
||||
f.slashingKeeper.AddPubkey(f.sdkCtx, val)
|
||||
assert.NilError(t, f.slashingKeeper.AddPubkey(f.sdkCtx, val))
|
||||
|
||||
info := slashingtypes.NewValidatorSigningInfo(sdk.ConsAddress(val.Address()), f.sdkCtx.BlockHeight(), int64(0), time.Unix(0, 0), false, int64(0))
|
||||
f.slashingKeeper.SetValidatorSigningInfo(f.sdkCtx, sdk.ConsAddress(val.Address()), info)
|
||||
@@ -199,7 +200,7 @@ func TestHandleDoubleSign(t *testing.T) {
|
||||
})
|
||||
|
||||
ctx = ctx.WithCometInfo(nci)
|
||||
f.evidenceKeeper.BeginBlocker(ctx.WithCometInfo(nci))
|
||||
assert.NilError(t, f.evidenceKeeper.BeginBlocker(ctx.WithCometInfo(nci)))
|
||||
|
||||
// should be jailed and tombstoned
|
||||
assert.Assert(t, f.stakingKeeper.Validator(ctx, operatorAddr).IsJailed())
|
||||
@@ -210,7 +211,7 @@ func TestHandleDoubleSign(t *testing.T) {
|
||||
assert.Assert(t, newTokens.LT(oldTokens))
|
||||
|
||||
// submit duplicate evidence
|
||||
f.evidenceKeeper.BeginBlocker(ctx)
|
||||
assert.NilError(t, f.evidenceKeeper.BeginBlocker(ctx))
|
||||
|
||||
// tokens should be the same (capped slash)
|
||||
assert.Assert(t, f.stakingKeeper.Validator(ctx, operatorAddr).GetTokens().Equal(newTokens))
|
||||
@@ -231,9 +232,11 @@ func TestHandleDoubleSign(t *testing.T) {
|
||||
tstaking.Undelegate(sdk.AccAddress(operatorAddr), operatorAddr, totalBond, true)
|
||||
|
||||
// query evidence from store
|
||||
evidences, err := f.evidenceKeeper.GetAllEvidence(ctx)
|
||||
iter, err := f.evidenceKeeper.Evidences.Iterate(ctx, nil)
|
||||
assert.NilError(t, err)
|
||||
assert.Assert(t, len(evidences) == 1)
|
||||
values, err := iter.Values()
|
||||
assert.NilError(t, err)
|
||||
assert.Assert(t, len(values) == 1)
|
||||
}
|
||||
|
||||
func TestHandleDoubleSign_TooOld(t *testing.T) {
|
||||
@@ -252,7 +255,8 @@ func TestHandleDoubleSign_TooOld(t *testing.T) {
|
||||
amt := tstaking.CreateValidatorWithValPower(operatorAddr, val, power, true)
|
||||
|
||||
// execute end-blocker and verify validator attributes
|
||||
f.stakingKeeper.EndBlocker(f.sdkCtx)
|
||||
_, err := f.stakingKeeper.EndBlocker(f.sdkCtx)
|
||||
assert.NilError(t, err)
|
||||
assert.DeepEqual(t,
|
||||
f.bankKeeper.GetAllBalances(ctx, sdk.AccAddress(operatorAddr)),
|
||||
sdk.NewCoins(sdk.NewCoin(stakingParams.BondDenom, initAmt.Sub(amt))),
|
||||
@@ -268,7 +272,7 @@ func TestHandleDoubleSign_TooOld(t *testing.T) {
|
||||
}},
|
||||
})
|
||||
|
||||
f.app.BaseApp.StoreConsensusParams(ctx, *simtestutil.DefaultConsensusParams)
|
||||
assert.NilError(t, f.app.BaseApp.StoreConsensusParams(ctx, *simtestutil.DefaultConsensusParams))
|
||||
cp := f.app.BaseApp.GetConsensusParams(ctx)
|
||||
|
||||
ctx = ctx.WithCometInfo(nci)
|
||||
@@ -276,7 +280,7 @@ func TestHandleDoubleSign_TooOld(t *testing.T) {
|
||||
ctx = ctx.WithBlockTime(ctx.BlockTime().Add(cp.Evidence.MaxAgeDuration + 1))
|
||||
ctx = ctx.WithBlockHeight(ctx.BlockHeight() + cp.Evidence.MaxAgeNumBlocks + 1)
|
||||
|
||||
f.evidenceKeeper.BeginBlocker(ctx)
|
||||
assert.NilError(t, f.evidenceKeeper.BeginBlocker(ctx))
|
||||
|
||||
assert.Assert(t, f.stakingKeeper.Validator(ctx, operatorAddr).IsJailed() == false)
|
||||
assert.Assert(t, f.slashingKeeper.IsTombstoned(ctx, sdk.ConsAddress(val.Address())) == false)
|
||||
|
||||
Reference in New Issue
Block a user