Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

fix: Bank module init genesis optimization #9428

Merged
merged 5 commits into from
Jun 1, 2021

Conversation

yun-yeo
Copy link
Contributor

@yun-yeo yun-yeo commented May 31, 2021

Description

closes: #9425


Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

  • Targeted PR against correct branch (see CONTRIBUTING.md)
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
  • Code follows the module structure standards.
  • Wrote unit and integration tests
  • Updated relevant documentation (docs/) or specification (x/<module>/spec/)
  • Added relevant godoc comments.
  • Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
  • Re-reviewed Files changed in the Github PR explorer
  • Review Codecov Report in the comment section below once CI passes

@yun-yeo yun-yeo changed the title optimize the bank module genesis initialization fix: the bank module genesis initialization May 31, 2021
@yun-yeo yun-yeo changed the title fix: the bank module genesis initialization fix: Bank module init genesis optimization May 31, 2021
x/bank/keeper/send.go Outdated Show resolved Hide resolved
@codecov
Copy link

codecov bot commented May 31, 2021

Codecov Report

Merging #9428 (c553b27) into master (98fbdbd) will decrease coverage by 0.00%.
The diff coverage is 57.14%.

❗ Current head c553b27 differs from pull request most recent head 32308b8. Consider uploading reports for the commit 32308b8 to get more accurate results
Impacted file tree graph

@@            Coverage Diff             @@
##           master    #9428      +/-   ##
==========================================
- Coverage   60.41%   60.40%   -0.01%     
==========================================
  Files         589      589              
  Lines       37107    37103       -4     
==========================================
- Hits        22417    22413       -4     
  Misses      12712    12712              
  Partials     1978     1978              
Impacted Files Coverage Δ
x/bank/keeper/genesis.go 72.72% <0.00%> (ø)
x/bank/keeper/send.go 84.34% <66.66%> (-0.53%) ⬇️

@yun-yeo yun-yeo requested a review from tac0turtle May 31, 2021 14:14
@tac0turtle
Copy link
Member

Seems linting is failing, could you fix this, then we can work on merging it.

@yun-yeo
Copy link
Contributor Author

yun-yeo commented Jun 1, 2021

I fixed the lint error in bank module, which is I changed. There are more place the lint error happens.

golangci-lint run --out-format=tab
WARN [runner] The linter 'golint' is deprecated (since v1.41.0) due to: The repository of the linter has been archived by the owner.  Replaced by revive. 
x/distribution/legacy/v043/helpers.go:22:18  gocritic  appendAssign: append result not assigned to the same slice
make: *** [lint] Error 1

@tac0turtle tac0turtle requested a review from anilcse June 1, 2021 06:05
@alexanderbez
Copy link
Contributor

@aaronc we should make sure this gets into the next set of release(s) and backported appropriately.

@aaronc aaronc added the A:automerge Automatically merge PR once all prerequisites pass. label Jun 1, 2021
// clear out all balances prior to setting the new coins as to set existing balances
// to zero if they don't exist in amt. An error is returned upon failure.
func (k BaseSendKeeper) setBalances(ctx sdk.Context, addr sdk.AccAddress, balances sdk.Coins) error {
k.clearBalances(ctx, addr)
Copy link
Member

Choose a reason for hiding this comment

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

Are there any cases where we actually need to clear balances for correctness?

@mergify mergify bot merged commit 2ae7875 into cosmos:master Jun 1, 2021
mergify bot pushed a commit that referenced this pull request Jun 1, 2021
* optimize the bank module genesis initialization

* remove k.setBalances & k.clearBalances and update changelog

* fix lint

Co-authored-by: Aaron Craelius <[email protected]>
(cherry picked from commit 2ae7875)

# Conflicts:
#	CHANGELOG.md
#	x/bank/keeper/genesis.go
#	x/bank/keeper/send.go
@yun-yeo yun-yeo deleted the feature/bank-init-genesis-optimize branch June 1, 2021 23:59
lovincyrus pushed a commit that referenced this pull request Jun 17, 2021
* optimize the bank module genesis initialization

* remove k.setBalances & k.clearBalances and update changelog

* fix lint

Co-authored-by: Aaron Craelius <[email protected]>
(cherry picked from commit 2ae7875)

# Conflicts:
#	CHANGELOG.md
#	x/bank/keeper/genesis.go
#	x/bank/keeper/send.go
amaury1093 added a commit that referenced this pull request Jun 17, 2021
* fix: Bank module init genesis optimization (#9428)

* optimize the bank module genesis initialization

* remove k.setBalances & k.clearBalances and update changelog

* fix lint

Co-authored-by: Aaron Craelius <[email protected]>
(cherry picked from commit 2ae7875)

# Conflicts:
#	CHANGELOG.md
#	x/bank/keeper/genesis.go
#	x/bank/keeper/send.go

* fix conflicts

* Update CHANGELOG.md

Co-authored-by: yys <[email protected]>
Co-authored-by: Amaury M <[email protected]>
Raumo0 pushed a commit to mapofzones/cosmos-sdk that referenced this pull request Feb 13, 2022
* CLI: `query ibc-transfer escrow-address` (cosmos#9383)

* Fix the liveliness test Docker error (cosmos#9396) (cosmos#9402)

(cherry picked from commit 44a4138)

Co-authored-by: Riccardo Montagnin <[email protected]>

* docs: fix broken interfaces links (backport cosmos#9448) (cosmos#9478)

* fix interfaces links (cosmos#9448)

Co-authored-by: ryanchrypto <[email protected]>
Co-authored-by: Amaury <[email protected]>
(cherry picked from commit 37fc37d)

# Conflicts:
#	docs/building-modules/messages-and-queries.md
#	docs/building-modules/module-interfaces.md
#	docs/building-modules/module-manager.md
#	docs/building-modules/query-services.md

* resolve merge conflicts

* revert rename codec

Co-authored-by: Ryan Christoffersen <[email protected]>
Co-authored-by: ryanchrypto <[email protected]>

* backport: fix ibc genesis export bug (cosmos#9401)

* correctly set next identifier sequence in genesis export for clients/connections/channels

* add changelog

* fix linting (cosmos#9531)

* fix: testnet cli command update genesis supply (backport cosmos#9497) (cosmos#9513)

* fix: testnet cli command update genesis supply (cosmos#9497)

<!--
The default pull request template is for types feat, fix, or refactor.
For other templates, add one of the following parameters to the url:
- template=docs.md
- template=other.md
-->

## Description

closes: cosmos#9372

<!-- Add a description of the changes that this PR introduces and the files that
are the most critical to review. -->

### This PR makes the `testnet` command update the bank genesis supply.

When using the `testnet` cli command, it creates nodes and balances, but does **not** update the supply. When using this in conjunction with `add-genesis-account` which **does** update the supply, it creates an invalid genesis file. This PR updates the testnet command to properly set the supply.

* feat: add header hash to `Context` (backport cosmos#9390) (cosmos#9395)

* feat: add header hash to `Context` (cosmos#9390)

* baseapp, types: add header hash to

* changelog

(cherry picked from commit 151d6c5)

# Conflicts:
#	CHANGELOG.md

* Fix conflicts

Co-authored-by: Federico Kunze <[email protected]>
Co-authored-by: Amaury M <[email protected]>

* fix: x/gov deposits querier (Initial Deposit) (backport cosmos#9288) (cosmos#9453)

* fix: x/gov deposits querier (Initial Deposit) (cosmos#9288)

* copied from old PR

* fix errors

* add test

* Update x/gov/client/utils/query.go

Co-authored-by: Robert Zaremba <[email protected]>

* fix tests

* fix failing test

* add test

* update test

* fix tests

* fix deposit query

* fix test

* update tests

* add more tests

* address lint error

* address lint error

* review changes

Co-authored-by: Robert Zaremba <[email protected]>
(cherry picked from commit 66ee994)

# Conflicts:
#	CHANGELOG.md
#	x/gov/client/cli/query.go
#	x/gov/client/testutil/cli_test.go
#	x/gov/client/utils/query.go

* resolve conflicts

Co-authored-by: MD Aleem <[email protected]>
Co-authored-by: aleem1314 <[email protected]>

* feat: add `RefundGas` function to `GasMeter` (backport cosmos#9403) (cosmos#9444)

* feat: add `RefundGas` function to `GasMeter` (cosmos#9403)

* feat: add RefundGas function to GasMeter

* changelog

* add comment about use case

* Apply suggestions from code review

Co-authored-by: Alessio Treglia <[email protected]>
Co-authored-by: Amaury <[email protected]>
(cherry picked from commit 90edeb6)

# Conflicts:
#	CHANGELOG.md

* conflicts

* fix

* Update CHANGELOG.md

Co-authored-by: Amaury <[email protected]>

Co-authored-by: Federico Kunze <[email protected]>
Co-authored-by: Federico Kunze <[email protected]>
Co-authored-by: Amaury <[email protected]>

* fix: Bank module init genesis optimization (backport cosmos#9428) (cosmos#9440)

* fix: Bank module init genesis optimization (cosmos#9428)

* optimize the bank module genesis initialization

* remove k.setBalances & k.clearBalances and update changelog

* fix lint

Co-authored-by: Aaron Craelius <[email protected]>
(cherry picked from commit 2ae7875)

# Conflicts:
#	CHANGELOG.md
#	x/bank/keeper/genesis.go
#	x/bank/keeper/send.go

* fix conflicts

* Update CHANGELOG.md

Co-authored-by: yys <[email protected]>
Co-authored-by: Amaury M <[email protected]>

* fix: update simapp to use correct default broadcast mode (backport cosmos#9408) (cosmos#9527)

* fix: update simapp to use correct default broadcast mode (cosmos#9408)

(cherry picked from commit 80330ec)

* Add changelog

Co-authored-by: Aleksandr Bezobchuk <[email protected]>
Co-authored-by: Amaury M <[email protected]>

* Backport: IBC query header/node-state fixes (cosmos#9385)

* fix ibc query header/node-state cmds

* changelog

Co-authored-by: Amaury M <[email protected]>

* build(deps): tendermint version (backport cosmos#9541) (cosmos#9542)

* build(deps): tendermint version (cosmos#9541)

* bump tendermint version

* go mod tidy

(cherry picked from commit e4673ad)

* add changelog entry

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Marko <[email protected]>
Co-authored-by: Amaury <[email protected]>

* feat: add cosmos-sdk Version (backport cosmos#9429) (cosmos#9543)

* feat: add cosmos-sdk Version (cosmos#9429)

<!-- < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < ☺
v                               ✰  Thanks for creating a PR! ✰
v    Before smashing the submit button please review the checkboxes.
v    If a checkbox is n/a - please still include it but + a little note why
☺ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >  -->

## Description

Add CosmosSDKVersion to nodeInfo.

closes: cosmos#9420

(cherry picked from commit 105ad99)

# Conflicts:
#	CHANGELOG.md
#	CONTRIBUTING.md
#	docs/core/proto-docs.md

* resolve conflicts

* resolve conflicts

Co-authored-by: Marko <[email protected]>

* fix: set header hash every block (backport cosmos#9552) (cosmos#9555)

* fix: set header hash every block (cosmos#9552)

## Description

- Sets the header hash on every block (ref cosmos#9390). Previously was only set during initialization for `deliverState`.
- Closes cosmos#9514

<!-- Add a description of the changes that this PR introduces and the files that
are the most critical to review. -->

* chore: Update release notes and Changelog for 0.42.6 (cosmos#9544)

* Update release notes

* Clean up changelog

Co-authored-by: Ethan Buchman <[email protected]>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Riccardo Montagnin <[email protected]>
Co-authored-by: Ryan Christoffersen <[email protected]>
Co-authored-by: ryanchrypto <[email protected]>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: Federico Kunze <[email protected]>
Co-authored-by: Amaury M <[email protected]>
Co-authored-by: MD Aleem <[email protected]>
Co-authored-by: aleem1314 <[email protected]>
Co-authored-by: Federico Kunze <[email protected]>
Co-authored-by: yys <[email protected]>
Co-authored-by: Aleksandr Bezobchuk <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A:automerge Automatically merge PR once all prerequisites pass. C:x/bank
Projects
None yet
Development

Successfully merging this pull request may close these issues.

bank module InitGenesis optimization
4 participants