From d70dd7ea843919ec802f9c0108f9ba81b766e042 Mon Sep 17 00:00:00 2001 From: Giuseppe Natale <12249307+giunatale@users.noreply.github.com> Date: Thu, 20 Nov 2025 15:55:52 +0100 Subject: [PATCH 1/2] fix updateParam logic --- x/gov/keeper/msg_server.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/x/gov/keeper/msg_server.go b/x/gov/keeper/msg_server.go index 32f1833d..404d9ba7 100644 --- a/x/gov/keeper/msg_server.go +++ b/x/gov/keeper/msg_server.go @@ -5,6 +5,7 @@ import ( "fmt" "cosmossdk.io/errors" + "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors1 "github.com/cosmos/cosmos-sdk/types/errors" @@ -187,9 +188,11 @@ func (k msgServer) UpdateParams(goCtx context.Context, msg *v1.MsgUpdateParams) // before params change, trigger an update of the last min deposit minDeposit := k.GetMinDeposit(ctx) - k.SetLastMinDeposit(ctx, minDeposit, ctx.BlockTime()) + newMinDeposit := v1.GetNewMinDeposit(msg.Params.MinDepositThrottler.FloorValue, minDeposit, math.LegacyOneDec()) + k.SetLastMinDeposit(ctx, newMinDeposit, ctx.BlockTime()) minInitialDeposit := k.GetMinInitialDeposit(ctx) - k.SetLastMinInitialDeposit(ctx, minInitialDeposit, ctx.BlockTime()) + newMinInitialDeposit := v1.GetNewMinDeposit(msg.Params.MinInitialDepositThrottler.FloorValue, minInitialDeposit, math.LegacyOneDec()) + k.SetLastMinInitialDeposit(ctx, newMinInitialDeposit, ctx.BlockTime()) if err := k.SetParams(ctx, msg.Params); err != nil { return nil, err From d1d656affab06d74f2f6936d2159989add140c8b Mon Sep 17 00:00:00 2001 From: Giuseppe Natale <12249307+giunatale@users.noreply.github.com> Date: Thu, 20 Nov 2025 19:20:31 +0100 Subject: [PATCH 2/2] trigger last deposit update in UpdateParams only if required --- x/gov/keeper/msg_server.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/x/gov/keeper/msg_server.go b/x/gov/keeper/msg_server.go index 404d9ba7..b2a84483 100644 --- a/x/gov/keeper/msg_server.go +++ b/x/gov/keeper/msg_server.go @@ -189,10 +189,15 @@ func (k msgServer) UpdateParams(goCtx context.Context, msg *v1.MsgUpdateParams) // before params change, trigger an update of the last min deposit minDeposit := k.GetMinDeposit(ctx) newMinDeposit := v1.GetNewMinDeposit(msg.Params.MinDepositThrottler.FloorValue, minDeposit, math.LegacyOneDec()) - k.SetLastMinDeposit(ctx, newMinDeposit, ctx.BlockTime()) + if !minDeposit.Equal(newMinDeposit) { + k.SetLastMinDeposit(ctx, newMinDeposit, ctx.BlockTime()) + } + minInitialDeposit := k.GetMinInitialDeposit(ctx) newMinInitialDeposit := v1.GetNewMinDeposit(msg.Params.MinInitialDepositThrottler.FloorValue, minInitialDeposit, math.LegacyOneDec()) - k.SetLastMinInitialDeposit(ctx, newMinInitialDeposit, ctx.BlockTime()) + if !minInitialDeposit.Equal(newMinInitialDeposit) { + k.SetLastMinInitialDeposit(ctx, newMinInitialDeposit, ctx.BlockTime()) + } if err := k.SetParams(ctx, msg.Params); err != nil { return nil, err