Skip to content

Commit

Permalink
reset state
Browse files Browse the repository at this point in the history
  • Loading branch information
davidterpay committed Dec 5, 2023
1 parent 97e3a17 commit 406ad3f
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 2 deletions.
9 changes: 7 additions & 2 deletions x/feemarket/keeper/msg_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,15 @@ func (ms MsgServer) Params(goCtx context.Context, msg *types.MsgParams) (*types.
return nil, fmt.Errorf("invalid authority to execute message")
}

err := ms.k.SetParams(ctx, msg.Params)
if err != nil {
params := msg.Params
if err := ms.k.SetParams(ctx, params); err != nil {
return nil, fmt.Errorf("error setting params: %w", err)
}

newState := types.NewState(params.Window, params.MinBaseFee, params.MinLearningRate)
if err := ms.k.SetState(ctx, newState); err != nil {
return nil, fmt.Errorf("error setting state: %w", err)
}

return &types.MsgParamsResponse{}, nil
}
31 changes: 31 additions & 0 deletions x/feemarket/keeper/msg_server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ func (s *KeeperTestSuite) TestMsgParams() {
resp, err := s.msgServer.Params(s.ctx, req)
s.Require().NoError(err)
s.Require().NotNil(resp)

params, err := s.feeMarketKeeper.GetParams(s.ctx)
s.Require().NoError(err)
s.Require().False(params.Enabled)
})

s.Run("accepts a req with params", func() {
Expand All @@ -35,4 +39,31 @@ func (s *KeeperTestSuite) TestMsgParams() {
_, err := s.msgServer.Params(s.ctx, req)
s.Require().Error(err)
})

s.Run("resets state after new params request", func() {
params, err := s.feeMarketKeeper.GetParams(s.ctx)
s.Require().NoError(err)

state, err := s.feeMarketKeeper.GetState(s.ctx)
s.Require().NoError(err)

err = state.Update(params.MaxBlockUtilization, params)
s.Require().NoError(err)

err = s.feeMarketKeeper.SetState(s.ctx, state)
s.Require().NoError(err)

params.Window = 100
req := &types.MsgParams{
Authority: s.authorityAccount.String(),
Params: params,
}
_, err = s.msgServer.Params(s.ctx, req)
s.Require().NoError(err)

state, err = s.feeMarketKeeper.GetState(s.ctx)
s.Require().NoError(err)
s.Require().Equal(params.Window, uint64(len(state.Window)))
s.Require().Equal(state.Window[0], uint64(0))
})
}

0 comments on commit 406ad3f

Please sign in to comment.