Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

feat(x/staking): add app wiring support for StakingHooks #12291

Merged
merged 11 commits into from
Jun 22, 2022

Conversation

aaronc
Copy link
Member

@aaronc aaronc commented Jun 16, 2022

Description

Ref #12036
Depends on app wiring for x/distribution getting merged first (#12292)


Author Checklist

All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.

I have...

  • included the correct type prefix in the PR title
  • added ! to the type prefix if API or client breaking change
  • targeted the correct branch (see PR Targeting)
  • provided a link to the relevant issue or specification
  • followed the guidelines for building modules
  • included the necessary unit and integration tests
  • added a changelog entry to CHANGELOG.md
  • included comments for documenting Go code
  • updated the relevant documentation or specification
  • reviewed "Files changed" and left comments if necessary
  • confirmed all CI checks have passed

Reviewers Checklist

All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.

I have...

  • confirmed the correct type prefix in the PR title
  • confirmed ! in the type prefix if API or client breaking change
  • confirmed all author checklist items have been addressed
  • reviewed state machine logic
  • reviewed API design and naming
  • reviewed documentation is accurate
  • reviewed tests and test coverage
  • manually tested (if applicable)

@github-actions github-actions bot added the C:x/distribution distribution module related label Jun 20, 2022
Copy link
Member

@julienrbrt julienrbrt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm! I like the addition of Invoke.

@aaronc aaronc marked this pull request as ready for review June 21, 2022 20:06
@aaronc aaronc requested a review from a team as a code owner June 21, 2022 20:06
@codecov
Copy link

codecov bot commented Jun 21, 2022

Codecov Report

Merging #12291 (5ac355d) into main (91b1d83) will increase coverage by 0.02%.
The diff coverage is 67.50%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #12291      +/-   ##
==========================================
+ Coverage   66.13%   66.15%   +0.02%     
==========================================
  Files         675      676       +1     
  Lines       71287    71315      +28     
==========================================
+ Hits        47144    47177      +33     
+ Misses      21503    21493      -10     
- Partials     2640     2645       +5     
Impacted Files Coverage Δ
simapp/app.go 76.24% <ø> (-0.52%) ⬇️
x/staking/types/expected_keepers.go 0.00% <0.00%> (ø)
x/staking/module.go 66.05% <57.14%> (-4.54%) ⬇️
x/distribution/module.go 69.41% <100.00%> (+1.51%) ⬆️
x/slashing/module.go 69.31% <100.00%> (+1.08%) ⬆️
x/staking/types/hooks.go 14.51% <0.00%> (-3.23%) ⬇️
x/distribution/simulation/operations.go 90.21% <0.00%> (+9.78%) ⬆️
x/params/types/paramset.go 100.00% <0.00%> (+100.00%) ⬆️

"testing"

"github.com/regen-network/gocuke"
"gotest.tools/v3/assert"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: I've noticed some tests use this package instead of testify. I think it makes more sense to generalize everything to use testify.

Copy link
Member Author

@aaronc aaronc Jun 22, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually think we should use gotest.tools instead of testify wherever possible. There are longstanding issues with testify in particular stretchr/testify#535 which is a deal breaker for comparing protobuf values and stretchr/testify#187 (testify suites should be considered an anti-pattern because of this). IMHO testify is a bit stuck in the past and has maybe gotten a bit too big to maintain. gotest.tools is minimal and correct (in particular because of https://pkg.go.dev/gotest.tools/v3/assert#DeepEqual) and also comes with useful support for golden files

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't know, interesting!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we open an issue for this? the migration can be a good first issue

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have created #12332, feel free to edit it.

Copy link
Member

@julienrbrt julienrbrt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just a nit.

Copy link
Member

@tac0turtle tac0turtle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me.

@julienrbrt julienrbrt added the A:automerge Automatically merge PR once all prerequisites pass. label Jun 22, 2022
@mergify mergify bot merged commit 165e612 into main Jun 22, 2022
@mergify mergify bot deleted the aaronc/app-wiring-staking-hooks branch June 22, 2022 15:18
larry0x pushed a commit to larry0x/cosmos-sdk that referenced this pull request May 22, 2023
## Description

Ref cosmos#12036 
Depends on app wiring for x/distribution getting merged first (cosmos#12292)



---

### Author Checklist

*All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.*

I have...

- [ ] included the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] added `!` to the type prefix if API or client breaking change
- [ ] targeted the correct branch (see [PR Targeting](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#pr-targeting))
- [ ] provided a link to the relevant issue or specification
- [ ] followed the guidelines for [building modules](https://github.com/cosmos/cosmos-sdk/blob/main/docs/building-modules)
- [ ] included the necessary unit and integration [tests](https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#testing)
- [ ] added a changelog entry to `CHANGELOG.md`
- [ ] included comments for [documenting Go code](https://blog.golang.org/godoc)
- [ ] updated the relevant documentation or specification
- [ ] reviewed "Files changed" and left comments if necessary
- [ ] confirmed all CI checks have passed

### Reviewers Checklist

*All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.*

I have...

- [ ] confirmed the correct [type prefix](https://github.com/commitizen/conventional-commit-types/blob/v3.0.0/index.json) in the PR title
- [ ] confirmed `!` in the type prefix if API or client breaking change
- [ ] confirmed all author checklist items have been addressed 
- [ ] reviewed state machine logic
- [ ] reviewed API design and naming
- [ ] reviewed documentation is accurate
- [ ] reviewed tests and test coverage
- [ ] manually tested (if applicable)
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A:automerge Automatically merge PR once all prerequisites pass. C:x/distribution distribution module related C:x/evidence C:x/slashing C:x/staking
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants