Skip to content

Commit 53519ea

Browse files
authored
refactor: simplify hooks implementation (#13396)
1 parent dcb0c9c commit 53519ea

File tree

24 files changed

+209
-212
lines changed

24 files changed

+209
-212
lines changed

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ cosmovisor:
146146

147147

148148
mocks: $(MOCKS_DIR)
149+
@go install github.com/golang/mock/mockgen@v1.6.0
149150
sh ./scripts/mockgen.sh
150151
.PHONY: mocks
151152

scripts/mockgen.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
#!/usr/bin/env bash
22

3-
mockgen_cmd="go run github.com/golang/mock/mockgen"
3+
mockgen_cmd="mockgen"
44
$mockgen_cmd -source=client/account_retriever.go -package mock -destination testutil/mock/account_retriever.go
55
$mockgen_cmd -package mock -destination testutil/mock/tendermint_tm_db_DB.go github.com/tendermint/tm-db DB
6-
$mockgen_cmd -source db/types.go -package mock -destination testutil/mock/db/types.go
76
$mockgen_cmd -source=types/module/module.go -package mock -destination testutil/mock/types_module_module.go
87
$mockgen_cmd -source=types/invariant.go -package mock -destination testutil/mock/types_invariant.go
98
$mockgen_cmd -source=types/router.go -package mock -destination testutil/mock/types_router.go

store/tools/ics23/iavl/helpers/helpers.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ func GetNonKey(allkeys [][]byte, loc tmproofs.Where) []byte {
8888
// returns a list of all keys in sorted order
8989
func BuildTree(size int) (tree *iavl.MutableTree, keys [][]byte, err error) {
9090
tree, err = iavl.NewMutableTree(db.NewMemDB(), 0)
91+
if err != nil {
92+
return nil, nil, err
93+
}
9194

9295
// insert lots of info and store the bytes
9396
keys = make([][]byte, size)

x/distribution/keeper/hooks.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ type Hooks struct {
1414
var _ stakingtypes.StakingHooks = Hooks{}
1515

1616
// Create new distribution hooks
17-
func (k Keeper) Hooks() Hooks { return Hooks{k} }
17+
func (k Keeper) Hooks() Hooks {
18+
return Hooks{k}
19+
}
1820

1921
// initialize validator distribution record
2022
func (h Hooks) AfterValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) error {
@@ -109,7 +111,10 @@ func (h Hooks) BeforeValidatorSlashed(ctx sdk.Context, valAddr sdk.ValAddress, f
109111
return nil
110112
}
111113

112-
func (h Hooks) BeforeValidatorModified(_ sdk.Context, _ sdk.ValAddress) error { return nil }
114+
func (h Hooks) BeforeValidatorModified(_ sdk.Context, _ sdk.ValAddress) error {
115+
return nil
116+
}
117+
113118
func (h Hooks) AfterValidatorBonded(_ sdk.Context, _ sdk.ConsAddress, _ sdk.ValAddress) error {
114119
return nil
115120
}

x/gov/abci.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ func EndBlocker(ctx sdk.Context, keeper *keeper.Keeper) {
2424
keeper.RefundAndDeleteDeposits(ctx, proposal.Id) // refund deposit if proposal got removed without getting 100% of the proposal
2525

2626
// called when proposal become inactive
27-
keeper.AfterProposalFailedMinDeposit(ctx, proposal.Id)
27+
keeper.Hooks().AfterProposalFailedMinDeposit(ctx, proposal.Id)
2828

2929
ctx.EventManager().EmitEvent(
3030
sdk.NewEvent(
@@ -104,7 +104,7 @@ func EndBlocker(ctx sdk.Context, keeper *keeper.Keeper) {
104104
keeper.RemoveFromActiveProposalQueue(ctx, proposal.Id, *proposal.VotingEndTime)
105105

106106
// when proposal become active
107-
keeper.AfterProposalVotingPeriodEnded(ctx, proposal.Id)
107+
keeper.Hooks().AfterProposalVotingPeriodEnded(ctx, proposal.Id)
108108

109109
logger.Info(
110110
"proposal tallied",

x/gov/keeper/deposit.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ func (keeper Keeper) AddDeposit(ctx sdk.Context, proposalID uint64, depositorAdd
147147
}
148148

149149
// called when deposit has been added to a proposal, however the proposal may not be active
150-
keeper.AfterProposalDeposit(ctx, proposalID, depositorAddr)
150+
keeper.Hooks().AfterProposalDeposit(ctx, proposalID, depositorAddr)
151151

152152
ctx.EventManager().EmitEvent(
153153
sdk.NewEvent(

x/gov/keeper/hooks.go

Lines changed: 0 additions & 44 deletions
This file was deleted.

x/gov/keeper/keeper.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,16 @@ func NewKeeper(
9292
}
9393
}
9494

95+
// Hooks gets the hooks for governance *Keeper {
96+
func (keeper *Keeper) Hooks() types.GovHooks {
97+
if keeper.hooks == nil {
98+
// return a no-op implementation if no hooks are set
99+
return types.MultiGovHooks{}
100+
}
101+
102+
return keeper.hooks
103+
}
104+
95105
// SetHooks sets the hooks for governance
96106
func (keeper *Keeper) SetHooks(gh types.GovHooks) *Keeper {
97107
if keeper.hooks != nil {

x/gov/keeper/proposal.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ func (keeper Keeper) SubmitProposal(ctx sdk.Context, messages []sdk.Msg, metadat
8282
keeper.SetProposalID(ctx, proposalID+1)
8383

8484
// called right after a proposal is submitted
85-
keeper.AfterProposalSubmission(ctx, proposalID)
85+
keeper.Hooks().AfterProposalSubmission(ctx, proposalID)
8686

8787
ctx.EventManager().EmitEvent(
8888
sdk.NewEvent(

x/gov/keeper/vote.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ func (keeper Keeper) AddVote(ctx sdk.Context, proposalID uint64, voterAddr sdk.A
3333
keeper.SetVote(ctx, vote)
3434

3535
// called after a vote on a proposal is cast
36-
keeper.AfterProposalVote(ctx, proposalID, voterAddr)
36+
keeper.Hooks().AfterProposalVote(ctx, proposalID, voterAddr)
3737

3838
ctx.EventManager().EmitEvent(
3939
sdk.NewEvent(

0 commit comments

Comments
 (0)