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 stderr printing functions #894

Merged
merged 6 commits into from Oct 1, 2020
Merged

Conversation

alessio
Copy link
Contributor

@alessio alessio commented Jun 24, 2019

Follow-up of #822

This fixes stderr redirection.

Closes: #1100

@spf13 @eparis

@alessio
Copy link
Contributor Author

alessio commented Jun 24, 2019

CC'ing @jleni

@amdprophet
Copy link

amdprophet commented Jun 25, 2019

Should https://github.com/spf13/cobra/blob/master/command.go#L926 use PrintErr? We're seeing errors output to stdout after calling SetOut and SetErr.

@alessio
Copy link
Contributor Author

alessio commented Jun 25, 2019

Yes, I think it should. Will amend my PR ASAP

@alessio
Copy link
Contributor Author

alessio commented Jun 26, 2019

@amdprophet done, please review

@jleni
Copy link
Contributor

jleni commented Jun 26, 2019

@alessio for some reason, the changes seem to break TestBashCompletions

@alessio
Copy link
Contributor Author

alessio commented Jun 26, 2019

Will try to reproduce and fix shortly

@PapaCharlie
Copy link
Contributor

PapaCharlie commented Jun 26, 2019

The shellcheck warnings are being addressed in #889

@alessio
Copy link
Contributor Author

alessio commented Jul 5, 2019

Point taken: mapfile is available in Bash >= 4. Happy to incorporate #889 commits instead of going for my solution

@alessio alessio force-pushed the fix-stderr-redirection branch from 3299407 to 0da6ddb Compare Aug 10, 2019
@alessio
Copy link
Contributor Author

alessio commented Aug 10, 2019

Conflicts have been resolved, please review

@portertech
Copy link

portertech commented Sep 3, 2019

Please review 🙏

@amdprophet
Copy link

amdprophet commented Oct 30, 2019

@spf13 @eparis @jleni any chance of this getting reviewed soon? 🙏

@alessio
Copy link
Contributor Author

alessio commented Dec 10, 2019

Hi!

Any news? @spf13 @eparis @jleni

@jleni
Copy link
Contributor

jleni commented Dec 10, 2019

Sorry @alessio.. but there isn't much I can do myself! I don't have any permissions in this repo

@alessio
Copy link
Contributor Author

alessio commented Dec 18, 2019

@jharshman bump :)

1 similar comment
@portertech
Copy link

portertech commented Feb 26, 2020

@jharshman bump :)

@alessio
Copy link
Contributor Author

alessio commented Mar 30, 2020

@jharshman Hi! Any news on this? :)

@alessio
Copy link
Contributor Author

alessio commented Apr 10, 2020

@marckhouzam bump :)

@marckhouzam
Copy link
Collaborator

marckhouzam commented Apr 10, 2020

@marckhouzam bump :)

I'm nobody 😉

But if I may suggest something based on my experience. To help get any PR merged (in any project) you should make the review as easy as possible for the reviewer. So, in the PR description, you really need to explain what problem this fixes. If you can mention why this is valuable (the impact of the bug), it would also help prioritize this PR over the many others. Finally, mentioning if there are any backwards-compatibility issues or not would probably help build confidence in your change (that's what makes me unsure of this change, considering my limited experience with Cobra).

Just my opinion though.

command.go Outdated Show resolved Hide resolved
command.go Outdated Show resolved Hide resolved
@alessio alessio requested a review from jharshman Apr 12, 2020
@alessio
Copy link
Contributor Author

alessio commented Apr 12, 2020

I amended the PR as requested. I've just tweaked the README.me file (error messages should always go to STDERR, even when a program fails).

@jharshman @marckhouzam please review again when you spare some time.

Thanks for considering.

codingkchain added a commit to KiraCore/cosmos-sdk that referenced this pull request Aug 5, 2020
* Add test suite for client TxBuilder (#6460)

* Add tests

* Fix gofmt

* typecast tests

* Fix review comments

* typecast SigVerificableTx

* cleanup

* Refactor

* Linting and move encode/decode tests to suite

* Fix lint

* Move test suite

* godoc

* Refactor

* Refactor

Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>

* Merge PR #6529: Export validator addresses

* Update ante handlers to use SignatureV2 (#6428)

* Update ante handlers to use SignatureV2

* WIP on test fixes

* WIP on test fixes

* Debugging CLI Tests

* CHANGELOG.md

* CHANGELOG

* Add missing tests for ante

* Add tests for verify signatures

* Update verify tests

* Fix register codec issue

* debug

* Cleanup

* Fix verify signature tests

* Remove viper

* remove keyring usage

* Fix review changes

* Fix simapp

* Fix ante tests

* Add reference issue

* Add test for multisignature

* Wrap sign error with sig

* Fix verify sign test

* Fix CHANGELOG.md

Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: anilCSE <anil@vitwit.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* remove alias.go from 02-client (#6542)

* x/ibc: remove alias.go from 03-connection (#6543)

* x/ibc: remove returning packet from channel keeper funcs (#6544)

* remove unnecessary return var

* fix changes lost in merge

* add string test for coin and coins (#6547)

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Add Review Codecov Report check to PR template (#6548)

* Update PULL_REQUEST_TEMPLATE.md

* Update

* Merge PR #6525: x/bank: Refactor CLI & Tests

* Ethanfrey/complete bank send event master (#6558)

Co-authored-by: Ethan Frey <ethanfrey@users.noreply.github.com>

* Params Spec 80 column md. (#6561)

* upgrade params spec to use 80 column convention for better reading

* Fix Typo.

* proto: update docs (#6537)

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Remove DefaultParamspace and simplify simapp creation. (#6564)

* Remove DefaultParamspace and simplify simapp creation.

* Update changelog.

* Create function that inits ParamsKeeper.

* Update CHANGELOG.md

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add filtered pagination (#6514)

* Add filtered pagination

* Add example for filtered pagination

* Fix typo

* Fix counter

* Fix paginate

* fix accumulate

* Fix example

* rename count to numHits

* Add default PageRequest

* Add tests for filtered pagination

* Fix filteredPaginate tests

* Add test cases

* Add example for filtered pagination

* Add more test case

* Add iterate error

* Add error check for iterator

* Update godoc

* Update godoc

Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>

* Fix testdata proto-gen (#6568)

* docs: update .vuepress/config.js (#6493)

Co-authored-by: Marko <marbar3778@yahoo.com>

* remove alias.go from channel (#6569)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix Current Integration Tests (#6570)

* fix attempt

* fix test

* REST bank transfers fail due to encoding. (#6536)

Bank module REST endpoint bank/accounts/{addr}/transfers
was returning invalid StdTx format.

* remove alias.go from 05-port (#6575)

* Use Context in Command instead of Argument + Util (#6572)

* Use context

* use PersistentPreRunE

* undo

* use init context

* Update types

* update tests

* implement tests

* Update simapp/cmd/simcli/main.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update simapp/cmd/simcli/main.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update x/bank/client/cli/tx.go

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* fix build

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* vesting: remove alias.go (#6579)

* deps: bump TM v0.33.6 (#6580)

Co-authored-by: Marko Baricevic <marbar3778@yahoo.com>

* cl & deps++ (#6582)

* cl & deps++

* Use PersistentPreRunE

* revert x/bank/client/cli/tx.go

* move to root level

* Use block mode by default

* Skip x/auth CLI tests

* docs: package-lock hotfix (#6583)

* Fix package-lock

* Fix package-lock

* update package-lock

Co-authored-by: Denis Fadeev <denis@fadeev.org>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* check ordered channel ordering in RecvPacket (#6574)

* move nextrecvseq check to recvpacket

* add test for next recv seq not found

* fix test bug, increase cov

* remove dup check and test

* Update x/ibc/04-channel/keeper/packet_test.go

Co-authored-by: Aditya <adityasripal@gmail.com>

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* refactor connection handshake_test (#6576)

* refactor connopeninit test

* updated opentry

* refactor openack

* update openconfirm

* fix typo and test issue

* fix missing code cov hits

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Update connection handshake version negotiation (#6534)

* update version negotiation and add basic testing

* add integration tests

* update spec

* apply @fedekunze suggestions

* update to enforce connection validation checks

* add test

* update godoc and spec

* small doc fix

* update versioning to feature set

* update version code and tests to specified version tuple

* update docs/spec

* merge and fix bug

* Update x/ibc/03-connection/types/version.go

Co-authored-by: Aditya <adityasripal@gmail.com>

* Apply suggestions from code review

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* add verify proposed feature set test

* fix formatting bug

* add safety check

* merge tests into existing handshake tests

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* replace stale bot with github action (#6586)

* Fix nextKey bug in filteredPaginate (#6578)

* Fix nextKey in filteredpaginate

* Fix example

* Fix example

* cleanup

* cleanup

* refactor

Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>

* Merge PR #6592: add issues to stale job

* Add same attributes for all connection/ channel/ packet IBC events (#6482)

* Emmit events with same attributes in connection handlers

* Emmit events with same attributes in channel handlers

* Add paket_data attribute to EventTypeAcknowledgePacket

* Revert proto changes

* Query channel and connection to emit events with same  attributes

* Simplify code

* Update x/ibc/04-channel/keeper/packet.go

* Update x/ibc/04-channel/handler.go

* Apply suggestions from code review

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add proper support for Any in gRPC queries (#6594)

* Add proper gRPC Any support via AnyUnpacker

* Wire up grpc query router AnyUnpacker

* buildsystem: various small improvements (#6598)

Follow-up of #6101.

- Makefile:

Set all as actual default target.

- contrib/devtools/Makefile:

The buf target was running unconditionally.

Install protoc-gen-gocosmos along with protoc.

* x/upgrade gRPC query service (#6590)

* Add .proto and make proto-gen

* Correct proto types

* Update pseudo tests

* Update tests

* line break

* Fix tests after merge

* Update proto/cosmos/upgrade/query.proto

Co-authored-by: Aaron Craelius <aaron@regen.network>

* Update proto/cosmos/upgrade/query.proto

Co-authored-by: Aaron Craelius <aaron@regen.network>

* Update proto/cosmos/upgrade/query.proto

Co-authored-by: Aaron Craelius <aaron@regen.network>

* Update proto/cosmos/upgrade/query.proto

Co-authored-by: Aaron Craelius <aaron@regen.network>

Co-authored-by: Aaron Craelius <aaron@regen.network>

* add exempt issue labels (#6602)

* add exempt issue labels

* add launchpad

* Update .github/workflows/stale.yml

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* client/keys: make add command's output parseable (#6603)

client/input/input.go: GetConfirmation() should communicate
with the user via the io.Writer instance passed in as
argument.

client/keys/add.go: replace cmd.PrintErrln() calls with
fmt.Fprintln(cmd.ErrOrStderr(), ...) because of cobra's
PrintErr* functions broken behaviour. For more information
please see https://github.com/spf13/cobra/pull/894

Closes: #6601
Thanks: @noandrea for pointing this out.

* Server/simd: Viper Removal (#6599)

* init commit

* remove viper from tm cmds

* updates

* Undo x/bank/client/cli/tx.go

* Fix unit tests

* lint++

* rename var

* Fix genutil test

* fix test

* prefer cmd.Flags() over direct viper usage

* update

* fix ABCI error tests

* fix integration tests

* Add viper to context

* fix build

* fix unit test

* Implement and use AppOptions

* Revert Redact godoc

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* build(deps): bump github.com/spf13/cast from 1.3.0 to 1.3.1 (#6605)

Bumps [github.com/spf13/cast](https://github.com/spf13/cast) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/spf13/cast/releases)
- [Commits](https://github.com/spf13/cast/compare/v1.3.0...v1.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Module Viper Removal (#6604)

* Remove viper

* Remove viper

* Remove viper

* Skip TestCLIValidateGenesis

* remove cruft leftover

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* x/upgrade: clean-up redundant struct (#6606)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Merge PR #6608: ibc: remove viper from CLI

* refactor connection verify_test (#6588)

* refactor verify consensus state

* refactor connection verification

* simplify code, channel + packet commitment tests

* refactor verify ack

* refactor verify ack absence

* refactor next seq recv test

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>

* Merge PR #6609: x/auth: CLI Remove Viper

* Add support for protobuf TxGenerator and SIGN_MODE_DIRECT (#6385)

* Add TxWrapper, encoder, decoder and DirectModeHandler

* fix pkg name

* Update API and leave test TODO's

* Update TxWrapper API

* tests for tx wrapper (#6410)

* WIP: added test for direct mode handler

* updated code

* Add msg

* Update TxWrapper API

* Fix pubkey declaration

* Add pubkey for tests

* Fix SetFee

* Remove logs

* Avoid global var declaration for tests

* Add test for GetPubKeys

* Fix direct signing tests

* Add more test cases for GetSignBytes

* Revert SetFee API

* Remove logs

* Refactor tests

Co-authored-by: anilCSE <anil@vitwit.com>
Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>

* Refactoring

* Refactoring

* Integrate SignatureV2 API

* Fix wrapper tests

* Fix tests

* Linting and API tweaks

* Update API

* WIP on updating API

* Fix tests

* Update to new SigVerifiableTx

* Rename

* Update docs to reflect ADR 020

* proto-gen

* proto docs

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* Add tests

* Refactor and improving test coverage

* WIP on test coverage

* WIP on test coverage

* proto-gen

* Fix CompactBitArray.Size() bug

* Rename

* Remove Builder interface

* Address review comments

* Update x/auth/tx/sigs.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update x/auth/tx/encoder.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update x/auth/tx/encoder.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Address review feedback

* Fix build issues

* Resolve conflicts

* Fix ValidateBasic test coverage

* Add test for malicious multisig

Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com>
Co-authored-by: anilCSE <anil@vitwit.com>
Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/ibc: gRPC query service (#6466)

* x/ibc: gRPC query service

* fixes

* connection updates

* register channel query service

* update clients

* change proofs to bytes

* implement additional channel grpc queries

* unrelayed packets query

* query.proto files

* move next sequence recv query to channel client

* update REST

* wip test

* add missing cli queries

* install the right tools

* fixes

* build

* lint

* use gRPC when query proof is not requested

* connection gRPC tests

* IBC query server interface

* more gRPC channel tests

* pagination tests

* connection use query server

* connection pagination tests

* channel pagination tests

* typo

* remove buf

* Update x/ibc/03-connection/keeper/grpc_query_test.go

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* address comments from review

* fix tests

* unrelayed packet sequences flag

* remove ClientsConnections query

* fix

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* bump days before stale (#6616)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* keys: CLI Remove Viper (#6613)

* init commit

* Update ListKeysCmd

* updates

* updates

* test updates

* fix tests

* keys: Fix Test_runAddCmdLedgerWithCustomCoinType

* keys: Fix Test_runAddCmdLedger

* keys: Fix Test_runAddCmdBasic

* keys: Fix root tests

* keys: Fix Test_runMigrateCmd

* keys: Fix Test_runListCmd

* keys: Fix remaining tests

* Merge PR #6596: Genutil remove global viper

* x/Slashing: gRPC query service (#6597)

* Add grpc methods - slashing

* Add slashing grpc queries

* Add tests

* Remove duplicate declarations

* Add signing infos

* Update query test

* Use suite for grpc tests

* Update godoc

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/mint: gRPC query service (#6535)

* Added grpc for mint

* changed unused params

* updated tests

* removed empty query request

* fixed lint issues

* review changes

* review changes

* migrated to use test suite

* Update x/mint/keeper/grpc_query_test.go

Co-authored-by: SaReN <sahithnarahari@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* fix NextSeqAck increment logic (#6619)

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* refactor ibc ante_test (#6610)

* remove old code from ante test

* add recv packet test

* add acknowledge test

* add timeout tests

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Enforce Connection Features on Channel Opening (#6620)

* add channel open checks for supported feature

* add tests and fix bugs

* fix version tests

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* docs: improve IBC guide (#6472)

* docs: improve IBC guide

* remove module specs

* capability spec

* update capability spec

* move cap to concepts

* remove module specs

* split IBC section

* wip integration.md

* complete integration.md

* format integration.md

* docs updates

* Apply suggestions from code review

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* fix Next links

* further readings

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* x/ibc: minor fixes (#6621)

* tests: cleanup unused functions (#6627)

Gut unnecessary test helpers.

* Merge PR #6595: Single Binary & Command Refactor

* update consensus height check (#6625)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* refactor connection keeper_test (#6622)

* refactor first set of keeper

* finish cleaning up keeper tests

* fix build

Co-authored-by: Aditya <adityasripal@gmail.com>

* Makefile: build simd with ledger support (#6629)

Makefile: parse COSMOS_BUILD_OPTIONS

Look for build options in the make's COSMOS_BUILD_OPTIONS
variable. This allows one to build simd with ledger support.

References:
* https://github.com/cosmos/gaia/pull/363
* https://github.com/tendermint/tendermint/pull/4738

fix tiny typo in nolint: statement that causes golangci-lint to
misbehave.

* version: Remove Viper (#6628)

* version: remove viper

* Remove home flag gets

* fix: tests

* client/flags: remove NewCompletionCmd() (#6632)

The functionality was adopted tendermint upstream, see
* https://github.com/tendermint/tendermint/pull/4665

* fix docs build failure (#6633)

* Merge PR #6626: Remove viper from genutil tests

* x/genutil: fix HomeFlag (#6636)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* x/crisis: In-Process CLI Integration Tests (#6634)

* init commit

* fix tests

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* ci: bump codecov (#6638)

* x/ibc: refactor CLI (#6639)

* x/ibc: refactor CLI

* refactor client CLI

* rename version ClientName

* Update x/ibc/09-localhost/client/cli/cli.go

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* address comments from review

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* x/auth: gRPC query service (#6565)

Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>

* ci: codecov revert to 1.0.7 (#6642)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* Remove context param (#6645)

* x/genutil: use HomeDir stored in ClientCtx (#6646)

Follow-up of #6636

* x/ibc: update CLI queries (#6647)

* x/params: query gRPC service (#6585)

* Add grpc queries in x/params

* Modify grpc query tests format

* Modify query request and revert changes in querier

* Fix protobuf lint issues

* run sims on master (#6648)

* Enable/disable coin transfers by denom (#6527)

* initial implementation of per denom sendenabled

* Fix for accidentally removed keyword

* Validate individual param in param array

* Lint fix

* Refactor bank params to use protobuf
Modified SendEnabled property to be part of generic Params object
Updated genesis functions to use default params structure

* Refactor simulation genesis for clarity

* update changelog for bank sendenable per denom

* fix NoOpMsg type in multisend test

* Add a coin denom send check utility function

* Additional godoc comments and clarification

* Add default send enabled parameter to bank.
Remove empty denom capability from SendEnabled parameters
Update simulation to exercise both configuration options independently

* Minor suggested improvements.

* simulation fix

* bank proto sendenabled package name removed

* Remove extra gogo proto yaml tags

* Params rename IsSendEnabled to SendEnabledDenom

* Refactor to SendEnabledCoin(s)

* update slashing test to use bank params

* Clean up change log entry for feature.

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Merge PR #6651: More CLI cleanup

* Remove viper in Staking module. (#6631)

* x/upgrade: Refactor CLI to use protobuf query (#6623)

* x/upgrade: Refactor CLI to use protobuf query

* Import lint

* Use table tests

* Small tweak in setup

* Address bez cli refactor

* Address fede's review

* Remove useless func args

* Add back clientCtx to tx command

* Update comments

* Update docs

* Small refactor

* remove Init()

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* testutil cleanup and reorg (#6658)

Prepare migrating testing auxiliary functions from tests
to testutil.

Remove local duplicates on testutil.WriteToNewTempFile().

Always favor testutil.NewTestCaseDir() over ioutil.TempDir().

Add test cases for the testing auxiliary functions.

* x/ibc: update error messages (#6659)

* update errors in 02-client

* update errors in 03-connection

* update 04-channel errors + fixes to 03 changes

* update ibc handler errors

* tm, commitment, and verify error updates

* update ics20

* remove unnecessary wrapping

* fix various build issues

* Merge PR #6667: codec: remove unused, untested and expensive MarshalIndentFromJSON

* Document types/context.go code (#6654)

* document context.go code

* update CHANGELOG.md unreleased

* creates -> returns

* Update CHANGELOG.md

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Alessio Treglia <quadrispro@ubuntu.com>

* Update types/context.go

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alessio Treglia <quadrispro@ubuntu.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* testutil: add ApplyMockIODiscardOutErr, simplify existing functions (#6665)

* Remove TxBuilder references to viper. (#6653)

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* Fix godocs for NewTxBuilderFromFlags (#6676)

* types: fix invalid int->string conversion in benchmarks (#6678)

Fixes an invalid int->string conversion that will become
a vet error for Go1.15. The correct conversion was to use

    fmt.Sprintf("COINZ_%d", i)

instead of

    "COINZ_" + string(i)

Noticed during a coverage audit.

* codec: add as much visible coverage (#6670)

As part of an audit, adds as much visible coverage from
73.4% to about 84.2%, but after #6668 is merged, we'll
have it about 88.X% and the coverage report seems to show
only missing cases of not common scenarios, e.g. a case that'll
make jsonpb.Marshaling to fail, and which will return an error
anyways.

* codec: remove unused and untest ProtoMarshalJSONIndent (#6668)

Noticed from coverage reports and from offline consultation
with Alexander and Aaron, that this function can be removed.

* x/evidence: gRPC query service (#6593)

* Add basic grpc query service for x/evidence

* Add grpc query test for AllEvidences query

* linting

* Add AnyUnpacker to query test helper and some var renaming

* Add test to check Evidence query result

* Update proto/cosmos/evidence/query.proto

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* Use table tests

* Use NewQueryEvidenceRequest in place of QueryEvidenceParams

* Remove ConvertEvidence

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Merge PR #6652: x/distribution: In-Process Testing & CLI Refactor

* x/distribution: CLI & Module Tweaks (#6684)

* init commit

* cleanup methods

* fix

* Fix Gas Flag Usage + CLI Flag APIs (#6685)

* Use new APIs

* fix usage

* fix usage of gas flag

* tests: TestParseGasSetting

* rootmulti/internal/maps: remove duplicated code, simplify and speed up KVPair (#6689)

Noticed during an audit, we've got duplicated code that's unused.
There were 2 type definitions:
* type kvPair types.Pair
* type KVPair types.Pair

and each had a .bytes() and .Bytes() method respectively that
then used some extra code.

This change deletes the duplicated/unnecessary code but also
while here improves the performance by removing the use of a
bytes.Buffer which is unnecessary given that we are only
length prefixed the key, length prefixing the value hence
the various helpers are unnecessary.

The added benchmarks shows the performance boost
```shell
$ benchstat before after
name           old time/op    new time/op    delta
KVPairBytes-8     146µs ± 1%     142µs ± 2%   -3.05%  (p=0.000 n=18+17)

name           old speed      new speed      delta
KVPairBytes-8  6.84GB/s ± 1%  7.06GB/s ± 2%   +3.15%  (p=0.000 n=18+17)

name           old alloc/op   new alloc/op   delta
KVPairBytes-8    1.01MB ± 0%    1.01MB ± 0%   -0.04%  (p=0.000 n=17+20)

name           old allocs/op  new allocs/op  delta
KVPairBytes-8      6.00 ± 0%      1.00 ± 0%  -83.33%  (p=0.000 n=20+20)
```

Closes: #6688

* x/staking/simulation/operations.go: add unit tests (#6690)

* Merge PR #6692: x/staking/simulation/genesis.go: add unit tests

* Merge PR #6693: x/staking/simulation/params.go: add unit tests

* crypto/hd: update godoc for ComputerMastersFromSeed (#6694)

Closes: #5338

* types: better Dec.MarshalTo's performance (#6691)

Use big.Int.Cmp() and compare against zeroInt instead
of checking Bytes() against a 0-length byte slice.

Closes: #6680
Thanks: @odeke-em for the patch.

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/slashing/simulation/operations.go: add unit tests (#6695)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* cleanup x/bank and x/crisis (#6697)

* store/cache: speed up + conserve memory by using map clearing idiom in Reset (#6700)

Noticed during my audit, the code for cache.CommitKVStoreCacheManager.Reset()
discarded the prior on every invocation i.e.

    m = make(map[T(key)]T(value))

However, this can be made fast and conserve memory by using the map clearing idiom
that the Go compiler recognizes i.e.

    for key := range m {
        delete(m, key)
    }

and turns into very fast code, instead of the extraneous map discarding.

The speed up generated is:

```shell
$ benchstat before after
name     old time/op    new time/op    delta
Reset-8     204ns ± 2%      66ns ± 9%   -67.86%  (p=0.000 n=20+20)

name     old alloc/op   new alloc/op   delta
Reset-8      384B ± 0%        0B       -100.00%  (p=0.000 n=20+20)

name     old allocs/op  new allocs/op  delta
Reset-8      3.00 ± 0%      0.00       -100.00%  (p=0.000 n=20+20)
```

Fixes #6681

* x/params/simulation/operations.go: add unit tests (#6699)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/slashing/simulation/params.go: add unit tests (#6698)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/slashing/simulation/genesis.go: add unit tests (#6696)

* x/slashing/simulation/genesis.go: add unit tests

* rename variable stakingGenesis to slashingGenesis

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Tiny change to flag help description for gas-prices (#6701)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* Merge PR #6705: x/params/simulation/proposals.go: add unit tests

* x/ibc-transfer/simulation/genesis.go: add unit tests (#6709)

* x/distribution: gRPC query service (#6600)

* WIP: adding grpc

* added grpc for query withdraw address

* Fix outstanding rewards query

* added inteerface registry

* added gRPC for delegation rewards

* added remaining commands

* lint issue

* added tests

* added test for community pool

* fixed error

* added test for delegator validators

* updated to use test suite

* updated tests

* more test checks added

* updated tests

* Add sdk wrap

* removed pagination for outstanding rewards

* fixed distr tests issue

* fixed slashes issue

* migrated tests to table driven tests

* docs updated

* review changes

* review changes

* review changes

* Update x/distribution/keeper/grpc_query.go

Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: anilCSE <anil@vitwit.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/mint/simulation/params.go: add unit tests (#6708)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* x/ibc/simulation/genesis_test.go: add unit tests (#6712)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* Stable Releases: Definition and Process (#6394)

Closes: #1728
Related to #6522

* Standardize connection versioning + channel versioning docs (#6640)

* update connection versions with feature set flag

* make connection version modular to support channel versioning and registering

* revert IBCVersion renaming, add channel versioning logic

* fix channel version flag

* remove unnecessary godoc

* remove unused func

* fix lint and version test

* add test and fix error

* revert changes

* update docs

* remove unnecessary godoc

* Apply suggestions from code review

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* update doc

* add test cases for unchecked lines

* go fmt

* begin migration to standardized version

* revert proto changes

* restructure versioning to go from string to proto

* update versionStr to encodedVersion naming

* fix version test build

* fix keeper tests

* fix various tests

* fixes from self review

* update docs

* fix lint

* add more code cov

* rename ToString funcs to Encode/DecodeVersion + GetCompatibleEncodedVersions renaming

* update spec docs

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/staking: wrap denom error (#6718)

* x/mint/simulation/genesis.go: add unit tests (#6706)

* x/mint/simulation/gemesis.go: add unit tests

* Rename file

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Merge PR #6702: x/slashing: In-Process CLI Integration Tests

* Update simapp helpers to use Tx generator (#6655)

* update helpers to use tx generator

* update modules to use tx generator

* add todo

* update ibc to use txG

* fix lint

* Eliminate panics from Gentx

* update module ops

* fix lgtm alert

* update ibc with txG

* Remove todo

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* move simapp/helpers to test_helpers

* revert simapp/helpers to test_helpers

* revert renaming

* address suggestion

Co-authored-by: Aaron Craelius <aaron@regen.network>

* fix tests

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/staking: gRPC query Service (#6490)

* Add types for staking grpc

* Update module.go

* Update staking query types

* Add grpc query methods

* Add delegation response to proto

* Add queriers for delegations

* Add queriers for unbonding

* Add queriers for redelegations

* Add cases for redelegations

* Add test for grpc validators

* Update staking types to proto

* Update staking query proto

* Add tests for grpc

* Add tests for grpc pool, parameters

* Fix lint issues

* Add grpc redelegation tests

* Add more tests

* Add docs for query proto

* Add docs for query types

* Modify redel querier

* Add debugging statements

* Revert debugging

* Fix proto lint errors

* Add wrapper for keeper

* Embed keeper in querier

* Add more tests

* Add tests for validator unbondings

* Add redel tests

* fix queryRedelegationsFromSrcValidator

* Fix Redelegation tests

* update godoc

* Update args

* Update tests with suite

* Fix lint

* Remove redundant types

* Refactor tests

* fix test

* refactor query proto

* Fix tests

* address review comments

* lint staking proto

* add godoc

* Update tests to table driven tests

* add debugging

* Fix grpc tests

* address comments

* address whitespace suggestions

* Add more tests

* add tests for invalid redels

* update error messages

* address review suggestions

* add tests

* move suite to keeper_test

Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/auth: in-process test refactor (#6573)

* remove unused functions

* create helper func to send tx

* refactor to use test help to send tx by client

* Commit before getting backend.

* Temporal commit

* temp commit

* remove the creation of txbuilder from cli

* fix imports

* update changelog

* Remove unused function.

* Add flag home into tx sign command.

* migrade TestCLIValidateSignatures to use new test suite

* migrate test one

* Add changes to make sign batch.

* make test pass

* refactor common logic

* First part of cli sign.

* Add test for sign batch.

* refactor a little and improve the test

* migrate broadcast command

* fix linter

* Remove printf for debug in bank module.

* Fix unused err var.

* fix linter

* fix test

* fix tests client

* Fix linter.

* Temp commit signature.

* encode tx

* migrate tests

* Fix imports.

* Remove changelog

* fix tests

* Fix tests.

* Update x/bank/client/testutil/cli_helpers.go

* Remove alias.

* Remove wait for N block func.

* export callCmd function into its own file.

* fix imports

* bring back to inner functions

* apply mock io

* the helpers use mockio

* fix bug

* Add Helpers.

* return to put the function in testutil package

* return BufferWriter in ExecTestCLICmd

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* x/params: CLI Refactor & In-Process Tests (#6720)

ref: #6423

* x/gov/simulation/operations.go: add unit tests (#6723)

* Rename SimulateSubmitProposal to SimulateMsgSubmitProposal to keep naming convention the same as in other similar cases

* x/gov/simulation/operations.go: add unit tests

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* add custom relative and absolute timeouts to ibc-transfer (#6724)

* add custom relative and absolute timeouts

* fix misspell

* Update x/ibc-transfer/client/cli/tx.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/auth/signing/direct: increase test coverage to 100% from 83.3% (#6731)

Ensure that all known routes for GetSignBytes are explored for
DirectHandler.

* bump version of ci linter (#6741)

* build(deps): [security] bump lodash from 4.17.15 to 4.17.19 in /docs (#6742)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. **This update includes a security fix.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* bump versiion of ci linter fix (#6743)

* x/gov/simulation/genesis.go: add unit tests (#6739)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/gov/simulation/proposals.go: add unit tests (#6737)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/gov: gRPC query Service (#6491)

* WIP: adding gRPC for gov

* removed passing new store

* fixed error

* added register query service in module

* order of imports changed

* order of imports changed

* Fix proto file

* added get all proposals grpc

* added more tests

* added doc in tests

* added grpc for votes

* Added grpc for Deposits

* updated protos

* added grpc for proposal, vote, deposit, tally

* WIP: adding params grpc

* added params in gRPC

* updated error messages

* fixed error check

* added more tests

* updated tests

* added yaml types

* review changes and lint issues

* updated tests

* code cleanup

* removed cosmos.gov prefixes

* added more checks

* added more test checks

* added filtered pagination

* removed test check

* added tests for filtered pagination

* Fix Proposals

* lint

* fixed error in tests

* lint issues

* Add nil check for params

* Added unpacker

* removed casttypes

* review changes

* use suite in grpc query tests

* migrated tests to use suite

* fix non-determinism

* tests migrated to table driven tests

* fixed doc typo

* revert change

* Merge branch 'master' of github.com:cosmos/cosmos-sdk into atheesh/5921-grpc-x-gov

* review changes

* review changes

* review changes

* review change

* review changes

* docs updated

* review change

* review changes

* review changes

* review changes

* Update x/gov/keeper/keeper_test.go

Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/evidence/simulation/genesis.go: add unit tests (#6740)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* remove unnecessary func (#6746)

* Update cn document (#6753)

* Formatting documents

* Fixing typos

* Update the intro document to the latest version

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Reset stale job to only mark PRs as stale (#6757)

* reset stalebot to only mark PRs as stale

* Update .github/workflows/stale.yml

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Merge PR #6750: Revert to allow to set DefaultNodeHome as a param in genutil CLI cmds

* x/staking: cli migration to use gRPC query client (#6728)

* migrated to use gRPC query client

* removed codecs usage

* review change

* added read command flags

* added pagination flags

* fixed limit issue

* added helper function for default pagination flags

* review changes

* review change

* review changes

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix measure since (#6759)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* refactor auths broadcast cmd in alignment with #6216 (#6713)

* refactor auths broadcast cmd in alignment with #6216

* add TxResponse proto definition, and related refactoring

* re-run make proto-gen, updating staking.pb.go

* cleanup TxResponse tests to handle nil return values

* properly handle nil Tx value in TxResponse's implementation of UnpackInterfaces

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Merge PR #6761: telemetry: use UTC() in wrappers

* Merge PR #6765: x/auth: Finish CLI Refactor

* Merge PR #6767: x/distribution/simulation/proposals.go: add unit tests

* Merge PR #6769: x/distribution/simulation/genesis.go: add unit tests

* Merge PR #6770: x/capability/simulation/genesis.go: add unit tests

* Merge PR #6768: x/distribution/simulation/params.go: add unit tests

* Merge PR #6772: x/bank/simulation/genesis.go: add unit tests

* Merge PR #6773: x/bank/simulation/params.go: add unit tests

* Merge PR #6774: x/auth/simulation/params.go: add unit tests

* Merge PR #6775: x/auth/simulation/genesis.go: add unit tests

* Merge PR #6777: update NewABCIMessageLog to take uint32, update UnsafePackAny comment

* Merge PR #6778: fix TestGetCmdQueryCommunityPool

* Merge PR #6771: x/bank/simulation/operations.go: add unit tests

* Update x/{mint,slashing,evidence} cli to use gRPC query client (#6704)

* changes cli to use gRPC in mint, slashing

* added command for signing infos

* gRPC query client migration of evidence

* review changes

* added unpack any

* fixed build error

* fixed failing tests issue

* added read flags

* added pagination flags

* updated docs

* fixed tests issue

* failing tests

* fixed tests

* review changes

* review changes

Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>

* x/gov/simulation/params.go: add unit tests (#6738)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/staking: add call to iterator Close method (#6791)

Co-authored-by: FinnZhang <>

* x/auth/ante: Migrate tests to use the new client.TxConfig (#6661)

* WIP: using encoding config

* Make it compile, test fails

* test should be okay

* Make tests pass

* Add comments

* Convert more tests

* Make TestAnteHandlerSigErrors work

* Make first 2 tests pass

* TestAnteHandlerAccountNumbers

* Use table tests

* Remove print

* Use test table

* TestAnteHandlerSigErrors

* TestAnteHandlerAccountNumbers

* TestAnteHandlerAccountNumbers

* Refactor TestAccount

* Refactor getSignBytes

* TestAnteHandlerAccountNumbersAtBlockHeightZero

* TestAnteHandlerSequences

* TestAnteHandlerFees

* TestAnteHandlerMultiSigner

* TestAnteHandlerBadSignBytes

* TestAnteHandlerSetPubKey

* TestAnteHandlerSigLimitExceeded

* TestCustomSignatureVerificationGasConsumer

* TestAnteHandlerReCheck

* Make all tests pass

* Refactor a little bit more

* Fee test

* SetupTest

* All tests pass

* Refactor to RunTestCase

* Don't use StdFee

* Revert some little stuff

* Finish up last couple of test cases

* Less verbose

* s/TxGenerator/TxConfig

* Add comments

* Indent

* Move KeyTestPubAddr to testdata

* Move testdata to /testutil

* Revert to use signature: nil step in signing

* Add comments

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Fix query unrelayed packets logic  (#6733)

* add some query functions to channel keeper

* update grpc queries and cli cmd and tests

* rerun proto gen after merging master

* fix build broken from merge conflicts

* add test and update proto

* Update x/ibc/04-channel/client/cli/query.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/{gov,params,upgrade,distribution} CLI: In-Process test & use grpc query service (#6664)

* refactor CLI to use grpc query service

* In process CLI for gov

* ReadQueryCommandFlags

* gov tx

* Fix compiler errors

* Formatting

* x/distribution: use gRPC query

* Consistent

* Fix x/distrib test

* Update x/gov

* Add ReadQueryCommandFlags

* Fix lint

* Revert x/params

* x/params use grpc query

* Fix tests

* Use page request

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/distribution/simulation/operations.go: add unit tests (#6764)

* x/distribution/simulation/operations.go: add unit tests

* Use NewDecCoins constructor instead of the DecCoins struct

* Refactor code to use a testing suite

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Add home default to other commands. (#6789)

* Add home default to other commands.

* add defaultNodeHome to rest of commands

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* remove IBC ante handler in favor of using handler  (#6793)

* remove IBC ante handler, add calls to handler

* move some events upstream to handler

* remove change log entry

* move ante handler tests to handler

* fix build

* update docs

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Add validation to prevent empty store keys (#6754)

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Context: Remove Init/New (#6797)

* init commit

* remove new/init functions

* update CLI commands

* tests: fix TestCLIQueryConn

* remove viper

* Rename proto Req/Res to Pagination (#6796)

* Rename proto Req to Pagination

* Change Res to Pagination

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Merge PR #6800: Cosmetic changes

* CHANGELOG.mg: merge v0.39.0 back in (#6802)

* CLI/Tests: Remove Fixtures (#6799)

* remove fixtures

* setup tests

* update x/mint

* cli: update x/staking commands

* tests: convert x/staking CLI tests

* tests: fix x/auth CLI tests

* cli updates

* fix buiild

* fix build

* Update x/gov/client/cli/cli_test.go

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* remove GenerateOrBroadcastTx

* move TestCLIQueryConn

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* proto: Consistent naming for Params (#6803)

* Use consistent "Params" in proto

* Update comments

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Merge PR #6806: Docs & Cleanup

* Add pagination flags to x{ibc, bank} (#6804)

* updated pagination flags

* updated all balances pagination flags

* updated all balances

* some doc updates

Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update IBC events docs and code (#6798)

* update msgs type from opaque

* update spec for createclient

* update events spec for handshake cals

* update packet events for spec and code

* add relayer events doc

* update ibc-transfer events

* fix build

* small fix from self review

* update channel msgs types

* acknowledgement_packet -> acknowledge_packet

* Apply suggestions from code review

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* fix spec issues for ibc and ibc-transfer

* add golang relayer link

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/auth: cli gRPC migration (#6809)

* migrated auth cli to use grpc query client

* unpacker added for account command

* fxed tests

* Merge PR #6810: Add transport flag to start command

* rename MsgPacket to MsgRecvPacket (#6813)

* bump identifier maximum to 64 characters (#6812)

* bump identifier maximum to 64 characters

* fix tests

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/ibc: remove ID from ConnectionEnd (#6814)

* remove connection id

* various test and code fixes

* fix tests

* Update proto/ibc/connection/connection.proto

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* rename utils.go to parse.go in host

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Merge PR #6815: Code & Doc Cleanup

* Merge PR #6818: x/upgrade: Fix ReadUpgradeInfoFromDisk

* crypto: move ledger code to its own subfolder (#6817)

crypto -> crypto/ledger:
- crypto.LedgerShowAddress -> ledger.ShowAddress
- crypto.NewPrivKeyLedgerSecp256k1 - > ledger.NewPrivKeySecp256k1
- crypto.NewPrivKeyLedgerSecp256k1Unsafe -> ledger.NewPrivKeySecp256k1Unsafe

Closes: #6780

* context: remove verifier & trust node (#6805)

* remove verifier

* more removal of trustnode flag

* add todo

* fix lint

* remove file

* remove viper and add link to issue

* remve mention of trustnode

* support multisig bech32 address decoding (#6237)

* support multisig bech32 address parsing

* Increase bech32 length limit to 250

* Increase max bech32 address size to 1023 (the max length that supports the checksum)

* Update go.mod

* Update go.mod to point to the updated enigmampc/btcutil

* Add protobuf Tx unit tests (#6614)

* Enable proto tx by default and add test_amino build flag.

* Enable proto TxDecoder

* update makefile

* fix conflicts

* Revert AminoCodec change

* Make test-unit-amino default for now

* Make test-unit-amino default for now

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Disable automatic camelCasing in proto JSON (#6833)

* Fix module interface registration (#6834)

* add page flag for CLI queries (#6824)

* add page flag for CLI queries

* fix review suggestions

* Fix `page` flag default value

* fix offset calc

* Apply suggestions from code review

Co-authored-by: Aaron Craelius <aaron@regen.network>

* fix review suggestions

* refactor

* fix returning error

Co-authored-by: SaReN <sahithnarahari@gmail.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add missing cancel-software-upgrade cmd (#6840)

* Add cancel software upgrade cmd

* add proposal cancel handler

* Fix gofmt

* Start removing HybridCodec (init + auth, bank, distribution) (#6838)

* Start to remove HybridCodec

* Rename

* Fixes

* Test fixes

* Cleanup

* Add wrap tx builder to TxConfig (#6836)

* Add wrap tx builder

* Add tests

* update for StdTx

* fix StdTxConfig

* Update generator

* Add godoc

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Docs config (#6846)

* bump docs theme to 1.0.169

* enable topbar banner

* Remove hybrid codec usage (#6843)

* remove hybrid codec for slashing, staking and upgrade

* Remove hybridcodec from params and mint

* revert staking

* Fix gov

* Fix ibc and evidence

* Fix ibc-transfer

* Fix staking

* remove evidence json marshaling

* Fix tests

Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Migrate x/genutil to use TxConfig (#6734)

* Update genutil collect and gentx to use TxGenerator

* Remove print statement

* Use Tx in genutil DeliverGenTxs

* Use Tx in genutil genesis_state

* Use Tx in ValidateGenesis

* Use amino txJSONDecoder and txBinaryEncoder in genutil InitGenesis

* Use TxConfig in place of TxGenerator

* Add gentx tests

* Remove commented line

* Test fixes

* Apply suggestions from code review

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Fixes

* Fixes

* Fixes

* Fixes

* Remove unneeded test case (doesn't apply to proto marshaling)

* linting

* Refactor to use new TxEncodingConfig interface in genutil module

* Replace golang/protobuf with gogo/protobuf package

* Use TxEncodingConfig in InitTestnet

* Remove old amino.go file

* Use TxJSONDecoder in genutil ValidateGenesis

* Add parameter to ValidateGenesis to resolve the tx JSON decoder issue

* Address review feedback

Co-authored-by: Jack Zampolin <jack.zampolin@gmail.com>
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add last changes.

* Merge PR #6856: fix cors flag on master

* Migrate pieces of x/genutil missed in #6734 (#6860)

* Migrate pieces of x/genutil missed in 6734

* Fix tests

* Fix lint

* Add test

* Add test-unit-proto CI job (#6858)

* Make all IBC Msg types use pointers (#6857)

* Make IBC Msg types use pointers

* Fix tests

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Add gRPC server & reflection (#6463)

* Add gRPC proxy

* Make GRPC disabled by default

* WIP on integration tests

* WIP on integration tests

* Start setting up in process tests

* Start setting up in process tests

* Make it compile

* Add start server to network util

* Add Println

* Use go routine

* Fix scopelint

* Move to proxy_test

* Add response type cache

* Remove proxy

* Tweaks

* Use channel to handle error

* Use error chan

* Update server/start.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Use %w

* Add sdk.Context

* Add comments

* Fix lint

* Add header and tests

* Address comments

* Factorize some code

* Fix lint

* Add height and prove in req metadata

* Add reflection test

* Fix lint

* Put grpc test in server/grpc

* Update baseapp/grpcserver.go

* Update baseapp/grpcserver.go

* Remove proof header

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: SaReN <sahithnarahari@gmail.com>

* Remove ID from ClientState (#6823)

* remove id from clients, build works

* fix client state tests

* fix tests

* address @fedekunze review

* Apply suggestions from code review

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* lint

* remove commented-out test case

* Update x/ibc/02-client/keeper/keeper_test.go

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* Implement ADR 024 - Coin Metadata (#6821)

* Implement ADR 024 - Coin Metadata

* Fix lint

* Fix proto lint

* Index metadata by denom

* Fix test

* Fix proto comments

* Add GetAllDenomMetaData help method and refactor code accordingly

* Add x/bank/keeper/genesis_test.go

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/ibc-transfer: use ibc testing package (#6641)

* x/ibc-transfer: use ibc testing package

* coin denom failure

* update handler tests

* refactor first test in relay

* update onrecvtest, failing tests expected due to existing bug

* update on acknowledgement test, failing test is expected

* refactor timeout test

* revert coin validation changed, comment out tests

* minor fix

* update coordinator.go

* update coordinator.go

* add comment to fix handler test

* add link to issue in handler test

* fix test

Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/{distribution, staking, bank, mint, crisis} genesis protobuf migration (#6835)

* distribution genesis types migrated to proto

* removed types from types/genesis.go

* fix lint

* added new line proto

* staking genesis migrated to proto

* fix lint

* x/bank: genesis types migrated to proto

* fix lint

* x/mint: genesis types changed to proto

* x/crisis: genesis types changed to proto

* Migrate genesis state of x/crisis

* add new lines

* whitespace

* Fix bad merge

* added missing field

* fixed error

Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>

* Fix for 6786 removeZeroCoins mutates original slice (#6811)

* added test cases to show errors identified in 6786

* mods to fix remove zero coin mutation in slice

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Minor Code Cleanup - gRPC queries (#6862)

* add missing RegisterQueryService

* Update generated proto files

* Update grpc tests for auth,bank

* Make format

* fix godoc

* Address suggestions

* Update godoc

* Launchpad Migration (#6829)

* fix migration

* add 039 pkg

* lint

* Fix pkg name

* add v0.39 auth types

* remove file

* updates

* updates

* update godoc

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Fix 0.39 x/auth Migration Types (#6870)

* types: add coins to JSON

* add migrate test

* finish test

* Add panic

* fix test

* Migrate gov, ibc-transfer genesis state to proto (#6866)

* Migrate gov genesis state

* Migrate ibc-transfer genesis state

* format genesis proto

* build(deps): bump github.com/golang/mock from 1.4.3 to 1.4.4 (#6876)

Bumps [github.com/golang/mock](https://github.com/golang/mock) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/golang/mock/releases)
- [Changelog](https://github.com/golang/mock/blob/master/.goreleaser.yml)
- [Commits](https://github.com/golang/mock/compare/v1.4.3...v1.4.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* remove ack length limit (#6874)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* codec: remove unnecessary allocations in ProtoCodec.MarshalBinaryLengthPrefixed (#6877)

* codec: remove unnecessary allocations in ProtoCodec.MarshalBinaryLengthPrefixed

Improve ProtoCodec.MarshalBinaryLengthPrefixed by removing the need
to use a *bytes.Buffer and instead use an array and invoke
binary.PutUvarint, and directly create the respective length prefixed
concatentation.

With this change we get the following improvement in all dimenions
of throughput, bytes allocated, number of allocations per operation.

```shell
$ benchstat before.txt after.txt
name                                     old time/op    new time/op    delta
ProtoCodecMarshalBinaryLengthPrefixed-8     295ns ± 2%     177ns ± 3%  -39.92%  (p=0.000 n=20+20)

name                                     old speed      new speed      delta
ProtoCodecMarshalBinaryLengthPrefixed-8   505MB/s ± 2%   841MB/s ± 3%  +66.44%  (p=0.000 n=20+20)

name                                     old alloc/op   new alloc/op   delta
ProtoCodecMarshalBinaryLengthPrefixed-8      576B ± 0%      336B ± 0%  -41.67%  (p=0.000 n=20+20)

name                                     old allocs/op  new allocs/op  delta
ProtoCodecMarshalBinaryLengthPrefixed-8      5.00 ± 0%      3.00 ± 0%  -40.00%  (p=0.000 n=20+20)
```

Fixes #6875

* Address @marbar3778's feedback

Use binary.MaxVarintLen64 instead of 10

Co-authored-by: Marko <marbar3778@yahoo.com>

Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>

* Merge PR #6882: server: cleanup

* x/{capability, genutil} genesis types migrated to proto (#6867)

* x/capability genesis types migrated to proto

* added docs

* x/genutil: genesis proto migration

* fixed package issue

* review changes

Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* codec: implement protobuf unknown fields checker (#6557)

* Fully remove StdTx usage in ante handler tests (#6845)

* WIP on removing StdTx from ante handler tests

* Fix recheck

* Fix basic_test

* Don't use StdTx in ante_test

* Use TxConfig sign mode handler in anteHandler

* Fix TestAnteHandlerAccountNumbers

* Amino don't panic

* Fix more tests

* All proto ante tests pass

* Fix last tests

* Amino register concrete

* Add tests

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* x/auth genesis protobuf migration (#6880)

* Add auth genesis.proto and related changes

* Add UnpackInterfaces method to auth GenesisState

* Remove unrelevant test case

* Update proto/cosmos/auth/genesis.proto

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Add test for auth types ConvertAccountsAny

* Apply naming suggestions

* Update x/auth/types/genesis_test.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/evidence genesis protobuf migration (#6864)

* Migrate evidence genesis state to proto

* Fix lint error

* Remove commented code

* Clean up

* Add UnpackInterfaces to evidence GenesisState

* Add cosmos_proto.accepts_interface to evidence any and fix lint error

* Add test for x/evidence ExportGenesis and use table tests

* Update x/evidence/types/genesis.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update proto/cosmos/evidence/evidence.proto

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Keep []Evidence as return type in GenEvidences

* Add GenesisState Validate tests

* Add test case for NewGenesisState

* Add tests for GenesisState UnpackInterfaces

Co-authored-by: SaReN <sahithnarahari@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* ci: push nightly builds (#6517)

* Update auth cli commands (#6717)

* add utils

* update sign cmd

* update multisign cmd

* update sign batch cmd

* update genutil cmd

* add wrap tx builder

* update gentx cli

* update validate sigs cmd

* fix lint

* add flag reader to cli

* update marshaler for batchscan

* add register query server

* update to master

* remove depricated methods

* fix keyring issue

* update wraptx

* Fix batch scan

* fix register interfaces issue

* update printOutput…
codingkchain added a commit to KiraCore/cosmos-sdk that referenced this pull request Aug 11, 2020
* remove alias.go from 05-port (#6575)

* Use Context in Command instead of Argument + Util (#6572)

* Use context

* use PersistentPreRunE

* undo

* use init context

* Update types

* update tests

* implement tests

* Update simapp/cmd/simcli/main.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update simapp/cmd/simcli/main.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update x/bank/client/cli/tx.go

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* fix build

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* vesting: remove alias.go (#6579)

* deps: bump TM v0.33.6 (#6580)

Co-authored-by: Marko Baricevic <marbar3778@yahoo.com>

* cl & deps++ (#6582)

* cl & deps++

* Use PersistentPreRunE

* revert x/bank/client/cli/tx.go

* move to root level

* Use block mode by default

* Skip x/auth CLI tests

* docs: package-lock hotfix (#6583)

* Fix package-lock

* Fix package-lock

* update package-lock

Co-authored-by: Denis Fadeev <denis@fadeev.org>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* check ordered channel ordering in RecvPacket (#6574)

* move nextrecvseq check to recvpacket

* add test for next recv seq not found

* fix test bug, increase cov

* remove dup check and test

* Update x/ibc/04-channel/keeper/packet_test.go

Co-authored-by: Aditya <adityasripal@gmail.com>

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* refactor connection handshake_test (#6576)

* refactor connopeninit test

* updated opentry

* refactor openack

* update openconfirm

* fix typo and test issue

* fix missing code cov hits

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Update connection handshake version negotiation (#6534)

* update version negotiation and add basic testing

* add integration tests

* update spec

* apply @fedekunze suggestions

* update to enforce connection validation checks

* add test

* update godoc and spec

* small doc fix

* update versioning to feature set

* update version code and tests to specified version tuple

* update docs/spec

* merge and fix bug

* Update x/ibc/03-connection/types/version.go

Co-authored-by: Aditya <adityasripal@gmail.com>

* Apply suggestions from code review

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* add verify proposed feature set test

* fix formatting bug

* add safety check

* merge tests into existing handshake tests

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* replace stale bot with github action (#6586)

* Fix nextKey bug in filteredPaginate (#6578)

* Fix nextKey in filteredpaginate

* Fix example

* Fix example

* cleanup

* cleanup

* refactor

Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>

* Merge PR #6592: add issues to stale job

* Add same attributes for all connection/ channel/ packet IBC events (#6482)

* Emmit events with same attributes in connection handlers

* Emmit events with same attributes in channel handlers

* Add paket_data attribute to EventTypeAcknowledgePacket

* Revert proto changes

* Query channel and connection to emit events with same  attributes

* Simplify code

* Update x/ibc/04-channel/keeper/packet.go

* Update x/ibc/04-channel/handler.go

* Apply suggestions from code review

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add proper support for Any in gRPC queries (#6594)

* Add proper gRPC Any support via AnyUnpacker

* Wire up grpc query router AnyUnpacker

* buildsystem: various small improvements (#6598)

Follow-up of #6101.

- Makefile:

Set all as actual default target.

- contrib/devtools/Makefile:

The buf target was running unconditionally.

Install protoc-gen-gocosmos along with protoc.

* x/upgrade gRPC query service (#6590)

* Add .proto and make proto-gen

* Correct proto types

* Update pseudo tests

* Update tests

* line break

* Fix tests after merge

* Update proto/cosmos/upgrade/query.proto

Co-authored-by: Aaron Craelius <aaron@regen.network>

* Update proto/cosmos/upgrade/query.proto

Co-authored-by: Aaron Craelius <aaron@regen.network>

* Update proto/cosmos/upgrade/query.proto

Co-authored-by: Aaron Craelius <aaron@regen.network>

* Update proto/cosmos/upgrade/query.proto

Co-authored-by: Aaron Craelius <aaron@regen.network>

Co-authored-by: Aaron Craelius <aaron@regen.network>

* add exempt issue labels (#6602)

* add exempt issue labels

* add launchpad

* Update .github/workflows/stale.yml

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* client/keys: make add command's output parseable (#6603)

client/input/input.go: GetConfirmation() should communicate
with the user via the io.Writer instance passed in as
argument.

client/keys/add.go: replace cmd.PrintErrln() calls with
fmt.Fprintln(cmd.ErrOrStderr(), ...) because of cobra's
PrintErr* functions broken behaviour. For more information
please see https://github.com/spf13/cobra/pull/894

Closes: #6601
Thanks: @noandrea for pointing this out.

* Server/simd: Viper Removal (#6599)

* init commit

* remove viper from tm cmds

* updates

* Undo x/bank/client/cli/tx.go

* Fix unit tests

* lint++

* rename var

* Fix genutil test

* fix test

* prefer cmd.Flags() over direct viper usage

* update

* fix ABCI error tests

* fix integration tests

* Add viper to context

* fix build

* fix unit test

* Implement and use AppOptions

* Revert Redact godoc

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* build(deps): bump github.com/spf13/cast from 1.3.0 to 1.3.1 (#6605)

Bumps [github.com/spf13/cast](https://github.com/spf13/cast) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/spf13/cast/releases)
- [Commits](https://github.com/spf13/cast/compare/v1.3.0...v1.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Module Viper Removal (#6604)

* Remove viper

* Remove viper

* Remove viper

* Skip TestCLIValidateGenesis

* remove cruft leftover

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* x/upgrade: clean-up redundant struct (#6606)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Merge PR #6608: ibc: remove viper from CLI

* refactor connection verify_test (#6588)

* refactor verify consensus state

* refactor connection verification

* simplify code, channel + packet commitment tests

* refactor verify ack

* refactor verify ack absence

* refactor next seq recv test

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>

* Merge PR #6609: x/auth: CLI Remove Viper

* Add support for protobuf TxGenerator and SIGN_MODE_DIRECT (#6385)

* Add TxWrapper, encoder, decoder and DirectModeHandler

* fix pkg name

* Update API and leave test TODO's

* Update TxWrapper API

* tests for tx wrapper (#6410)

* WIP: added test for direct mode handler

* updated code

* Add msg

* Update TxWrapper API

* Fix pubkey declaration

* Add pubkey for tests

* Fix SetFee

* Remove logs

* Avoid global var declaration for tests

* Add test for GetPubKeys

* Fix direct signing tests

* Add more test cases for GetSignBytes

* Revert SetFee API

* Remove logs

* Refactor tests

Co-authored-by: anilCSE <anil@vitwit.com>
Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>

* Refactoring

* Refactoring

* Integrate SignatureV2 API

* Fix wrapper tests

* Fix tests

* Linting and API tweaks

* Update API

* WIP on updating API

* Fix tests

* Update to new SigVerifiableTx

* Rename

* Update docs to reflect ADR 020

* proto-gen

* proto docs

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* Add tests

* Refactor and improving test coverage

* WIP on test coverage

* WIP on test coverage

* proto-gen

* Fix CompactBitArray.Size() bug

* Rename

* Remove Builder interface

* Address review comments

* Update x/auth/tx/sigs.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update x/auth/tx/encoder.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update x/auth/tx/encoder.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Address review feedback

* Fix build issues

* Resolve conflicts

* Fix ValidateBasic test coverage

* Add test for malicious multisig

Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com>
Co-authored-by: anilCSE <anil@vitwit.com>
Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/ibc: gRPC query service (#6466)

* x/ibc: gRPC query service

* fixes

* connection updates

* register channel query service

* update clients

* change proofs to bytes

* implement additional channel grpc queries

* unrelayed packets query

* query.proto files

* move next sequence recv query to channel client

* update REST

* wip test

* add missing cli queries

* install the right tools

* fixes

* build

* lint

* use gRPC when query proof is not requested

* connection gRPC tests

* IBC query server interface

* more gRPC channel tests

* pagination tests

* connection use query server

* connection pagination tests

* channel pagination tests

* typo

* remove buf

* Update x/ibc/03-connection/keeper/grpc_query_test.go

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* address comments from review

* fix tests

* unrelayed packet sequences flag

* remove ClientsConnections query

* fix

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* bump days before stale (#6616)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* keys: CLI Remove Viper (#6613)

* init commit

* Update ListKeysCmd

* updates

* updates

* test updates

* fix tests

* keys: Fix Test_runAddCmdLedgerWithCustomCoinType

* keys: Fix Test_runAddCmdLedger

* keys: Fix Test_runAddCmdBasic

* keys: Fix root tests

* keys: Fix Test_runMigrateCmd

* keys: Fix Test_runListCmd

* keys: Fix remaining tests

* Merge PR #6596: Genutil remove global viper

* x/Slashing: gRPC query service (#6597)

* Add grpc methods - slashing

* Add slashing grpc queries

* Add tests

* Remove duplicate declarations

* Add signing infos

* Update query test

* Use suite for grpc tests

* Update godoc

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/mint: gRPC query service (#6535)

* Added grpc for mint

* changed unused params

* updated tests

* removed empty query request

* fixed lint issues

* review changes

* review changes

* migrated to use test suite

* Update x/mint/keeper/grpc_query_test.go

Co-authored-by: SaReN <sahithnarahari@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* fix NextSeqAck increment logic (#6619)

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* refactor ibc ante_test (#6610)

* remove old code from ante test

* add recv packet test

* add acknowledge test

* add timeout tests

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Enforce Connection Features on Channel Opening (#6620)

* add channel open checks for supported feature

* add tests and fix bugs

* fix version tests

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* docs: improve IBC guide (#6472)

* docs: improve IBC guide

* remove module specs

* capability spec

* update capability spec

* move cap to concepts

* remove module specs

* split IBC section

* wip integration.md

* complete integration.md

* format integration.md

* docs updates

* Apply suggestions from code review

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* fix Next links

* further readings

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* x/ibc: minor fixes (#6621)

* tests: cleanup unused functions (#6627)

Gut unnecessary test helpers.

* Merge PR #6595: Single Binary & Command Refactor

* update consensus height check (#6625)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* refactor connection keeper_test (#6622)

* refactor first set of keeper

* finish cleaning up keeper tests

* fix build

Co-authored-by: Aditya <adityasripal@gmail.com>

* Makefile: build simd with ledger support (#6629)

Makefile: parse COSMOS_BUILD_OPTIONS

Look for build options in the make's COSMOS_BUILD_OPTIONS
variable. This allows one to build simd with ledger support.

References:
* https://github.com/cosmos/gaia/pull/363
* https://github.com/tendermint/tendermint/pull/4738

fix tiny typo in nolint: statement that causes golangci-lint to
misbehave.

* version: Remove Viper (#6628)

* version: remove viper

* Remove home flag gets

* fix: tests

* client/flags: remove NewCompletionCmd() (#6632)

The functionality was adopted tendermint upstream, see
* https://github.com/tendermint/tendermint/pull/4665

* fix docs build failure (#6633)

* Merge PR #6626: Remove viper from genutil tests

* x/genutil: fix HomeFlag (#6636)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* x/crisis: In-Process CLI Integration Tests (#6634)

* init commit

* fix tests

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* ci: bump codecov (#6638)

* x/ibc: refactor CLI (#6639)

* x/ibc: refactor CLI

* refactor client CLI

* rename version ClientName

* Update x/ibc/09-localhost/client/cli/cli.go

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* address comments from review

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* x/auth: gRPC query service (#6565)

Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>

* ci: codecov revert to 1.0.7 (#6642)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* Remove context param (#6645)

* x/genutil: use HomeDir stored in ClientCtx (#6646)

Follow-up of #6636

* x/ibc: update CLI queries (#6647)

* x/params: query gRPC service (#6585)

* Add grpc queries in x/params

* Modify grpc query tests format

* Modify query request and revert changes in querier

* Fix protobuf lint issues

* run sims on master (#6648)

* Enable/disable coin transfers by denom (#6527)

* initial implementation of per denom sendenabled

* Fix for accidentally removed keyword

* Validate individual param in param array

* Lint fix

* Refactor bank params to use protobuf
Modified SendEnabled property to be part of generic Params object
Updated genesis functions to use default params structure

* Refactor simulation genesis for clarity

* update changelog for bank sendenable per denom

* fix NoOpMsg type in multisend test

* Add a coin denom send check utility function

* Additional godoc comments and clarification

* Add default send enabled parameter to bank.
Remove empty denom capability from SendEnabled parameters
Update simulation to exercise both configuration options independently

* Minor suggested improvements.

* simulation fix

* bank proto sendenabled package name removed

* Remove extra gogo proto yaml tags

* Params rename IsSendEnabled to SendEnabledDenom

* Refactor to SendEnabledCoin(s)

* update slashing test to use bank params

* Clean up change log entry for feature.

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Merge PR #6651: More CLI cleanup

* Remove viper in Staking module. (#6631)

* x/upgrade: Refactor CLI to use protobuf query (#6623)

* x/upgrade: Refactor CLI to use protobuf query

* Import lint

* Use table tests

* Small tweak in setup

* Address bez cli refactor

* Address fede's review

* Remove useless func args

* Add back clientCtx to tx command

* Update comments

* Update docs

* Small refactor

* remove Init()

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* testutil cleanup and reorg (#6658)

Prepare migrating testing auxiliary functions from tests
to testutil.

Remove local duplicates on testutil.WriteToNewTempFile().

Always favor testutil.NewTestCaseDir() over ioutil.TempDir().

Add test cases for the testing auxiliary functions.

* x/ibc: update error messages (#6659)

* update errors in 02-client

* update errors in 03-connection

* update 04-channel errors + fixes to 03 changes

* update ibc handler errors

* tm, commitment, and verify error updates

* update ics20

* remove unnecessary wrapping

* fix various build issues

* Merge PR #6667: codec: remove unused, untested and expensive MarshalIndentFromJSON

* Document types/context.go code (#6654)

* document context.go code

* update CHANGELOG.md unreleased

* creates -> returns

* Update CHANGELOG.md

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Alessio Treglia <quadrispro@ubuntu.com>

* Update types/context.go

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alessio Treglia <quadrispro@ubuntu.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* testutil: add ApplyMockIODiscardOutErr, simplify existing functions (#6665)

* Remove TxBuilder references to viper. (#6653)

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* Fix godocs for NewTxBuilderFromFlags (#6676)

* types: fix invalid int->string conversion in benchmarks (#6678)

Fixes an invalid int->string conversion that will become
a vet error for Go1.15. The correct conversion was to use

    fmt.Sprintf("COINZ_%d", i)

instead of

    "COINZ_" + string(i)

Noticed during a coverage audit.

* codec: add as much visible coverage (#6670)

As part of an audit, adds as much visible coverage from
73.4% to about 84.2%, but after #6668 is merged, we'll
have it about 88.X% and the coverage report seems to show
only missing cases of not common scenarios, e.g. a case that'll
make jsonpb.Marshaling to fail, and which will return an error
anyways.

* codec: remove unused and untest ProtoMarshalJSONIndent (#6668)

Noticed from coverage reports and from offline consultation
with Alexander and Aaron, that this function can be removed.

* x/evidence: gRPC query service (#6593)

* Add basic grpc query service for x/evidence

* Add grpc query test for AllEvidences query

* linting

* Add AnyUnpacker to query test helper and some var renaming

* Add test to check Evidence query result

* Update proto/cosmos/evidence/query.proto

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* Use table tests

* Use NewQueryEvidenceRequest in place of QueryEvidenceParams

* Remove ConvertEvidence

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Merge PR #6652: x/distribution: In-Process Testing & CLI Refactor

* x/distribution: CLI & Module Tweaks (#6684)

* init commit

* cleanup methods

* fix

* Fix Gas Flag Usage + CLI Flag APIs (#6685)

* Use new APIs

* fix usage

* fix usage of gas flag

* tests: TestParseGasSetting

* rootmulti/internal/maps: remove duplicated code, simplify and speed up KVPair (#6689)

Noticed during an audit, we've got duplicated code that's unused.
There were 2 type definitions:
* type kvPair types.Pair
* type KVPair types.Pair

and each had a .bytes() and .Bytes() method respectively that
then used some extra code.

This change deletes the duplicated/unnecessary code but also
while here improves the performance by removing the use of a
bytes.Buffer which is unnecessary given that we are only
length prefixed the key, length prefixing the value hence
the various helpers are unnecessary.

The added benchmarks shows the performance boost
```shell
$ benchstat before after
name           old time/op    new time/op    delta
KVPairBytes-8     146µs ± 1%     142µs ± 2%   -3.05%  (p=0.000 n=18+17)

name           old speed      new speed      delta
KVPairBytes-8  6.84GB/s ± 1%  7.06GB/s ± 2%   +3.15%  (p=0.000 n=18+17)

name           old alloc/op   new alloc/op   delta
KVPairBytes-8    1.01MB ± 0%    1.01MB ± 0%   -0.04%  (p=0.000 n=17+20)

name           old allocs/op  new allocs/op  delta
KVPairBytes-8      6.00 ± 0%      1.00 ± 0%  -83.33%  (p=0.000 n=20+20)
```

Closes: #6688

* x/staking/simulation/operations.go: add unit tests (#6690)

* Merge PR #6692: x/staking/simulation/genesis.go: add unit tests

* Merge PR #6693: x/staking/simulation/params.go: add unit tests

* crypto/hd: update godoc for ComputerMastersFromSeed (#6694)

Closes: #5338

* types: better Dec.MarshalTo's performance (#6691)

Use big.Int.Cmp() and compare against zeroInt instead
of checking Bytes() against a 0-length byte slice.

Closes: #6680
Thanks: @odeke-em for the patch.

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/slashing/simulation/operations.go: add unit tests (#6695)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* cleanup x/bank and x/crisis (#6697)

* store/cache: speed up + conserve memory by using map clearing idiom in Reset (#6700)

Noticed during my audit, the code for cache.CommitKVStoreCacheManager.Reset()
discarded the prior on every invocation i.e.

    m = make(map[T(key)]T(value))

However, this can be made fast and conserve memory by using the map clearing idiom
that the Go compiler recognizes i.e.

    for key := range m {
        delete(m, key)
    }

and turns into very fast code, instead of the extraneous map discarding.

The speed up generated is:

```shell
$ benchstat before after
name     old time/op    new time/op    delta
Reset-8     204ns ± 2%      66ns ± 9%   -67.86%  (p=0.000 n=20+20)

name     old alloc/op   new alloc/op   delta
Reset-8      384B ± 0%        0B       -100.00%  (p=0.000 n=20+20)

name     old allocs/op  new allocs/op  delta
Reset-8      3.00 ± 0%      0.00       -100.00%  (p=0.000 n=20+20)
```

Fixes #6681

* x/params/simulation/operations.go: add unit tests (#6699)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/slashing/simulation/params.go: add unit tests (#6698)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/slashing/simulation/genesis.go: add unit tests (#6696)

* x/slashing/simulation/genesis.go: add unit tests

* rename variable stakingGenesis to slashingGenesis

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Tiny change to flag help description for gas-prices (#6701)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* Merge PR #6705: x/params/simulation/proposals.go: add unit tests

* x/ibc-transfer/simulation/genesis.go: add unit tests (#6709)

* x/distribution: gRPC query service (#6600)

* WIP: adding grpc

* added grpc for query withdraw address

* Fix outstanding rewards query

* added inteerface registry

* added gRPC for delegation rewards

* added remaining commands

* lint issue

* added tests

* added test for community pool

* fixed error

* added test for delegator validators

* updated to use test suite

* updated tests

* more test checks added

* updated tests

* Add sdk wrap

* removed pagination for outstanding rewards

* fixed distr tests issue

* fixed slashes issue

* migrated tests to table driven tests

* docs updated

* review changes

* review changes

* review changes

* Update x/distribution/keeper/grpc_query.go

Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: anilCSE <anil@vitwit.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/mint/simulation/params.go: add unit tests (#6708)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* x/ibc/simulation/genesis_test.go: add unit tests (#6712)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* Stable Releases: Definition and Process (#6394)

Closes: #1728
Related to #6522

* Standardize connection versioning + channel versioning docs (#6640)

* update connection versions with feature set flag

* make connection version modular to support channel versioning and registering

* revert IBCVersion renaming, add channel versioning logic

* fix channel version flag

* remove unnecessary godoc

* remove unused func

* fix lint and version test

* add test and fix error

* revert changes

* update docs

* remove unnecessary godoc

* Apply suggestions from code review

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* update doc

* add test cases for unchecked lines

* go fmt

* begin migration to standardized version

* revert proto changes

* restructure versioning to go from string to proto

* update versionStr to encodedVersion naming

* fix version test build

* fix keeper tests

* fix various tests

* fixes from self review

* update docs

* fix lint

* add more code cov

* rename ToString funcs to Encode/DecodeVersion + GetCompatibleEncodedVersions renaming

* update spec docs

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/staking: wrap denom error (#6718)

* x/mint/simulation/genesis.go: add unit tests (#6706)

* x/mint/simulation/gemesis.go: add unit tests

* Rename file

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Merge PR #6702: x/slashing: In-Process CLI Integration Tests

* Update simapp helpers to use Tx generator (#6655)

* update helpers to use tx generator

* update modules to use tx generator

* add todo

* update ibc to use txG

* fix lint

* Eliminate panics from Gentx

* update module ops

* fix lgtm alert

* update ibc with txG

* Remove todo

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* move simapp/helpers to test_helpers

* revert simapp/helpers to test_helpers

* revert renaming

* address suggestion

Co-authored-by: Aaron Craelius <aaron@regen.network>

* fix tests

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/staking: gRPC query Service (#6490)

* Add types for staking grpc

* Update module.go

* Update staking query types

* Add grpc query methods

* Add delegation response to proto

* Add queriers for delegations

* Add queriers for unbonding

* Add queriers for redelegations

* Add cases for redelegations

* Add test for grpc validators

* Update staking types to proto

* Update staking query proto

* Add tests for grpc

* Add tests for grpc pool, parameters

* Fix lint issues

* Add grpc redelegation tests

* Add more tests

* Add docs for query proto

* Add docs for query types

* Modify redel querier

* Add debugging statements

* Revert debugging

* Fix proto lint errors

* Add wrapper for keeper

* Embed keeper in querier

* Add more tests

* Add tests for validator unbondings

* Add redel tests

* fix queryRedelegationsFromSrcValidator

* Fix Redelegation tests

* update godoc

* Update args

* Update tests with suite

* Fix lint

* Remove redundant types

* Refactor tests

* fix test

* refactor query proto

* Fix tests

* address review comments

* lint staking proto

* add godoc

* Update tests to table driven tests

* add debugging

* Fix grpc tests

* address comments

* address whitespace suggestions

* Add more tests

* add tests for invalid redels

* update error messages

* address review suggestions

* add tests

* move suite to keeper_test

Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/auth: in-process test refactor (#6573)

* remove unused functions

* create helper func to send tx

* refactor to use test help to send tx by client

* Commit before getting backend.

* Temporal commit

* temp commit

* remove the creation of txbuilder from cli

* fix imports

* update changelog

* Remove unused function.

* Add flag home into tx sign command.

* migrade TestCLIValidateSignatures to use new test suite

* migrate test one

* Add changes to make sign batch.

* make test pass

* refactor common logic

* First part of cli sign.

* Add test for sign batch.

* refactor a little and improve the test

* migrate broadcast command

* fix linter

* Remove printf for debug in bank module.

* Fix unused err var.

* fix linter

* fix test

* fix tests client

* Fix linter.

* Temp commit signature.

* encode tx

* migrate tests

* Fix imports.

* Remove changelog

* fix tests

* Fix tests.

* Update x/bank/client/testutil/cli_helpers.go

* Remove alias.

* Remove wait for N block func.

* export callCmd function into its own file.

* fix imports

* bring back to inner functions

* apply mock io

* the helpers use mockio

* fix bug

* Add Helpers.

* return to put the function in testutil package

* return BufferWriter in ExecTestCLICmd

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* x/params: CLI Refactor & In-Process Tests (#6720)

ref: #6423

* x/gov/simulation/operations.go: add unit tests (#6723)

* Rename SimulateSubmitProposal to SimulateMsgSubmitProposal to keep naming convention the same as in other similar cases

* x/gov/simulation/operations.go: add unit tests

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* add custom relative and absolute timeouts to ibc-transfer (#6724)

* add custom relative and absolute timeouts

* fix misspell

* Update x/ibc-transfer/client/cli/tx.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/auth/signing/direct: increase test coverage to 100% from 83.3% (#6731)

Ensure that all known routes for GetSignBytes are explored for
DirectHandler.

* bump version of ci linter (#6741)

* build(deps): [security] bump lodash from 4.17.15 to 4.17.19 in /docs (#6742)

Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. **This update includes a security fix.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* bump versiion of ci linter fix (#6743)

* x/gov/simulation/genesis.go: add unit tests (#6739)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/gov/simulation/proposals.go: add unit tests (#6737)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/gov: gRPC query Service (#6491)

* WIP: adding gRPC for gov

* removed passing new store

* fixed error

* added register query service in module

* order of imports changed

* order of imports changed

* Fix proto file

* added get all proposals grpc

* added more tests

* added doc in tests

* added grpc for votes

* Added grpc for Deposits

* updated protos

* added grpc for proposal, vote, deposit, tally

* WIP: adding params grpc

* added params in gRPC

* updated error messages

* fixed error check

* added more tests

* updated tests

* added yaml types

* review changes and lint issues

* updated tests

* code cleanup

* removed cosmos.gov prefixes

* added more checks

* added more test checks

* added filtered pagination

* removed test check

* added tests for filtered pagination

* Fix Proposals

* lint

* fixed error in tests

* lint issues

* Add nil check for params

* Added unpacker

* removed casttypes

* review changes

* use suite in grpc query tests

* migrated tests to use suite

* fix non-determinism

* tests migrated to table driven tests

* fixed doc typo

* revert change

* Merge branch 'master' of github.com:cosmos/cosmos-sdk into atheesh/5921-grpc-x-gov

* review changes

* review changes

* review changes

* review change

* review changes

* docs updated

* review change

* review changes

* review changes

* review changes

* Update x/gov/keeper/keeper_test.go

Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/evidence/simulation/genesis.go: add unit tests (#6740)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* remove unnecessary func (#6746)

* Update cn document (#6753)

* Formatting documents

* Fixing typos

* Update the intro document to the latest version

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Reset stale job to only mark PRs as stale (#6757)

* reset stalebot to only mark PRs as stale

* Update .github/workflows/stale.yml

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Merge PR #6750: Revert to allow to set DefaultNodeHome as a param in genutil CLI cmds

* x/staking: cli migration to use gRPC query client (#6728)

* migrated to use gRPC query client

* removed codecs usage

* review change

* added read command flags

* added pagination flags

* fixed limit issue

* added helper function for default pagination flags

* review changes

* review change

* review changes

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix measure since (#6759)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* refactor auths broadcast cmd in alignment with #6216 (#6713)

* refactor auths broadcast cmd in alignment with #6216

* add TxResponse proto definition, and related refactoring

* re-run make proto-gen, updating staking.pb.go

* cleanup TxResponse tests to handle nil return values

* properly handle nil Tx value in TxResponse's implementation of UnpackInterfaces

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Merge PR #6761: telemetry: use UTC() in wrappers

* Merge PR #6765: x/auth: Finish CLI Refactor

* Merge PR #6767: x/distribution/simulation/proposals.go: add unit tests

* Merge PR #6769: x/distribution/simulation/genesis.go: add unit tests

* Merge PR #6770: x/capability/simulation/genesis.go: add unit tests

* Merge PR #6768: x/distribution/simulation/params.go: add unit tests

* Merge PR #6772: x/bank/simulation/genesis.go: add unit tests

* Merge PR #6773: x/bank/simulation/params.go: add unit tests

* Merge PR #6774: x/auth/simulation/params.go: add unit tests

* Merge PR #6775: x/auth/simulation/genesis.go: add unit tests

* Merge PR #6777: update NewABCIMessageLog to take uint32, update UnsafePackAny comment

* Merge PR #6778: fix TestGetCmdQueryCommunityPool

* Merge PR #6771: x/bank/simulation/operations.go: add unit tests

* Update x/{mint,slashing,evidence} cli to use gRPC query client (#6704)

* changes cli to use gRPC in mint, slashing

* added command for signing infos

* gRPC query client migration of evidence

* review changes

* added unpack any

* fixed build error

* fixed failing tests issue

* added read flags

* added pagination flags

* updated docs

* fixed tests issue

* failing tests

* fixed tests

* review changes

* review changes

Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>

* x/gov/simulation/params.go: add unit tests (#6738)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/staking: add call to iterator Close method (#6791)

Co-authored-by: FinnZhang <>

* x/auth/ante: Migrate tests to use the new client.TxConfig (#6661)

* WIP: using encoding config

* Make it compile, test fails

* test should be okay

* Make tests pass

* Add comments

* Convert more tests

* Make TestAnteHandlerSigErrors work

* Make first 2 tests pass

* TestAnteHandlerAccountNumbers

* Use table tests

* Remove print

* Use test table

* TestAnteHandlerSigErrors

* TestAnteHandlerAccountNumbers

* TestAnteHandlerAccountNumbers

* Refactor TestAccount

* Refactor getSignBytes

* TestAnteHandlerAccountNumbersAtBlockHeightZero

* TestAnteHandlerSequences

* TestAnteHandlerFees

* TestAnteHandlerMultiSigner

* TestAnteHandlerBadSignBytes

* TestAnteHandlerSetPubKey

* TestAnteHandlerSigLimitExceeded

* TestCustomSignatureVerificationGasConsumer

* TestAnteHandlerReCheck

* Make all tests pass

* Refactor a little bit more

* Fee test

* SetupTest

* All tests pass

* Refactor to RunTestCase

* Don't use StdFee

* Revert some little stuff

* Finish up last couple of test cases

* Less verbose

* s/TxGenerator/TxConfig

* Add comments

* Indent

* Move KeyTestPubAddr to testdata

* Move testdata to /testutil

* Revert to use signature: nil step in signing

* Add comments

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Fix query unrelayed packets logic  (#6733)

* add some query functions to channel keeper

* update grpc queries and cli cmd and tests

* rerun proto gen after merging master

* fix build broken from merge conflicts

* add test and update proto

* Update x/ibc/04-channel/client/cli/query.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/{gov,params,upgrade,distribution} CLI: In-Process test & use grpc query service (#6664)

* refactor CLI to use grpc query service

* In process CLI for gov

* ReadQueryCommandFlags

* gov tx

* Fix compiler errors

* Formatting

* x/distribution: use gRPC query

* Consistent

* Fix x/distrib test

* Update x/gov

* Add ReadQueryCommandFlags

* Fix lint

* Revert x/params

* x/params use grpc query

* Fix tests

* Use page request

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/distribution/simulation/operations.go: add unit tests (#6764)

* x/distribution/simulation/operations.go: add unit tests

* Use NewDecCoins constructor instead of the DecCoins struct

* Refactor code to use a testing suite

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Add home default to other commands. (#6789)

* Add home default to other commands.

* add defaultNodeHome to rest of commands

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* remove IBC ante handler in favor of using handler  (#6793)

* remove IBC ante handler, add calls to handler

* move some events upstream to handler

* remove change log entry

* move ante handler tests to handler

* fix build

* update docs

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Add validation to prevent empty store keys (#6754)

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Context: Remove Init/New (#6797)

* init commit

* remove new/init functions

* update CLI commands

* tests: fix TestCLIQueryConn

* remove viper

* Rename proto Req/Res to Pagination (#6796)

* Rename proto Req to Pagination

* Change Res to Pagination

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Merge PR #6800: Cosmetic changes

* CHANGELOG.mg: merge v0.39.0 back in (#6802)

* CLI/Tests: Remove Fixtures (#6799)

* remove fixtures

* setup tests

* update x/mint

* cli: update x/staking commands

* tests: convert x/staking CLI tests

* tests: fix x/auth CLI tests

* cli updates

* fix buiild

* fix build

* Update x/gov/client/cli/cli_test.go

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* remove GenerateOrBroadcastTx

* move TestCLIQueryConn

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* proto: Consistent naming for Params (#6803)

* Use consistent "Params" in proto

* Update comments

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Merge PR #6806: Docs & Cleanup

* Add pagination flags to x{ibc, bank} (#6804)

* updated pagination flags

* updated all balances pagination flags

* updated all balances

* some doc updates

Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update IBC events docs and code (#6798)

* update msgs type from opaque

* update spec for createclient

* update events spec for handshake cals

* update packet events for spec and code

* add relayer events doc

* update ibc-transfer events

* fix build

* small fix from self review

* update channel msgs types

* acknowledgement_packet -> acknowledge_packet

* Apply suggestions from code review

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* fix spec issues for ibc and ibc-transfer

* add golang relayer link

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* x/auth: cli gRPC migration (#6809)

* migrated auth cli to use grpc query client

* unpacker added for account command

* fxed tests

* Merge PR #6810: Add transport flag to start command

* rename MsgPacket to MsgRecvPacket (#6813)

* bump identifier maximum to 64 characters (#6812)

* bump identifier maximum to 64 characters

* fix tests

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/ibc: remove ID from ConnectionEnd (#6814)

* remove connection id

* various test and code fixes

* fix tests

* Update proto/ibc/connection/connection.proto

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* rename utils.go to parse.go in host

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Merge PR #6815: Code & Doc Cleanup

* Merge PR #6818: x/upgrade: Fix ReadUpgradeInfoFromDisk

* crypto: move ledger code to its own subfolder (#6817)

crypto -> crypto/ledger:
- crypto.LedgerShowAddress -> ledger.ShowAddress
- crypto.NewPrivKeyLedgerSecp256k1 - > ledger.NewPrivKeySecp256k1
- crypto.NewPrivKeyLedgerSecp256k1Unsafe -> ledger.NewPrivKeySecp256k1Unsafe

Closes: #6780

* context: remove verifier & trust node (#6805)

* remove verifier

* more removal of trustnode flag

* add todo

* fix lint

* remove file

* remove viper and add link to issue

* remve mention of trustnode

* support multisig bech32 address decoding (#6237)

* support multisig bech32 address parsing

* Increase bech32 length limit to 250

* Increase max bech32 address size to 1023 (the max length that supports the checksum)

* Update go.mod

* Update go.mod to point to the updated enigmampc/btcutil

* Add protobuf Tx unit tests (#6614)

* Enable proto tx by default and add test_amino build flag.

* Enable proto TxDecoder

* update makefile

* fix conflicts

* Revert AminoCodec change

* Make test-unit-amino default for now

* Make test-unit-amino default for now

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Disable automatic camelCasing in proto JSON (#6833)

* Fix module interface registration (#6834)

* add page flag for CLI queries (#6824)

* add page flag for CLI queries

* fix review suggestions

* Fix `page` flag default value

* fix offset calc

* Apply suggestions from code review

Co-authored-by: Aaron Craelius <aaron@regen.network>

* fix review suggestions

* refactor

* fix returning error

Co-authored-by: SaReN <sahithnarahari@gmail.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Add missing cancel-software-upgrade cmd (#6840)

* Add cancel software upgrade cmd

* add proposal cancel handler

* Fix gofmt

* Start removing HybridCodec (init + auth, bank, distribution) (#6838)

* Start to remove HybridCodec

* Rename

* Fixes

* Test fixes

* Cleanup

* Add wrap tx builder to TxConfig (#6836)

* Add wrap tx builder

* Add tests

* update for StdTx

* fix StdTxConfig

* Update generator

* Add godoc

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Docs config (#6846)

* bump docs theme to 1.0.169

* enable topbar banner

* Remove hybrid codec usage (#6843)

* remove hybrid codec for slashing, staking and upgrade

* Remove hybridcodec from params and mint

* revert staking

* Fix gov

* Fix ibc and evidence

* Fix ibc-transfer

* Fix staking

* remove evidence json marshaling

* Fix tests

Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Migrate x/genutil to use TxConfig (#6734)

* Update genutil collect and gentx to use TxGenerator

* Remove print statement

* Use Tx in genutil DeliverGenTxs

* Use Tx in genutil genesis_state

* Use Tx in ValidateGenesis

* Use amino txJSONDecoder and txBinaryEncoder in genutil InitGenesis

* Use TxConfig in place of TxGenerator

* Add gentx tests

* Remove commented line

* Test fixes

* Apply suggestions from code review

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Fixes

* Fixes

* Fixes

* Fixes

* Remove unneeded test case (doesn't apply to proto marshaling)

* linting

* Refactor to use new TxEncodingConfig interface in genutil module

* Replace golang/protobuf with gogo/protobuf package

* Use TxEncodingConfig in InitTestnet

* Remove old amino.go file

* Use TxJSONDecoder in genutil ValidateGenesis

* Add parameter to ValidateGenesis to resolve the tx JSON decoder issue

* Address review feedback

Co-authored-by: Jack Zampolin <jack.zampolin@gmail.com>
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Merge PR #6856: fix cors flag on master

* Migrate pieces of x/genutil missed in #6734 (#6860)

* Migrate pieces of x/genutil missed in 6734

* Fix tests

* Fix lint

* Add test

* Add test-unit-proto CI job (#6858)

* Make all IBC Msg types use pointers (#6857)

* Make IBC Msg types use pointers

* Fix tests

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Add gRPC server & reflection (#6463)

* Add gRPC proxy

* Make GRPC disabled by default

* WIP on integration tests

* WIP on integration tests

* Start setting up in process tests

* Start setting up in process tests

* Make it compile

* Add start server to network util

* Add Println

* Use go routine

* Fix scopelint

* Move to proxy_test

* Add response type cache

* Remove proxy

* Tweaks

* Use channel to handle error

* Use error chan

* Update server/start.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Use %w

* Add sdk.Context

* Add comments

* Fix lint

* Add header and tests

* Address comments

* Factorize some code

* Fix lint

* Add height and prove in req metadata

* Add reflection test

* Fix lint

* Put grpc test in server/grpc

* Update baseapp/grpcserver.go

* Update baseapp/grpcserver.go

* Remove proof header

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: SaReN <sahithnarahari@gmail.com>

* Remove ID from ClientState (#6823)

* remove id from clients, build works

* fix client state tests

* fix tests

* address @fedekunze review

* Apply suggestions from code review

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* lint

* remove commented-out test case

* Update x/ibc/02-client/keeper/keeper_test.go

Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: colin axner <25233464+colin-axner@users.noreply.github.com>

* Implement ADR 024 - Coin Metadata (#6821)

* Implement ADR 024 - Coin Metadata

* Fix lint

* Fix proto lint

* Index metadata by denom

* Fix test

* Fix proto comments

* Add GetAllDenomMetaData help method and refactor code accordingly

* Add x/bank/keeper/genesis_test.go

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/ibc-transfer: use ibc testing package (#6641)

* x/ibc-transfer: use ibc testing package

* coin denom failure

* update handler tests

* refactor first test in relay

* update onrecvtest, failing tests expected due to existing bug

* update on acknowledgement test, failing test is expected

* refactor timeout test

* revert coin validation changed, comment out tests

* minor fix

* update coordinator.go

* update coordinator.go

* add comment to fix handler test

* add link to issue in handler test

* fix test

Co-authored-by: Colin Axner <colinaxner@berkeley.edu>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/{distribution, staking, bank, mint, crisis} genesis protobuf migration (#6835)

* distribution genesis types migrated to proto

* removed types from types/genesis.go

* fix lint

* added new line proto

* staking genesis migrated to proto

* fix lint

* x/bank: genesis types migrated to proto

* fix lint

* x/mint: genesis types changed to proto

* x/crisis: genesis types changed to proto

* Migrate genesis state of x/crisis

* add new lines

* whitespace

* Fix bad merge

* added missing field

* fixed error

Co-authored-by: sahith-narahari <sahithnarahari@gmail.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>

* Fix for 6786 removeZeroCoins mutates original slice (#6811)

* added test cases to show errors identified in 6786

* mods to fix remove zero coin mutation in slice

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Minor Code Cleanup - gRPC queries (#6862)

* add missing RegisterQueryService

* Update generated proto files

* Update grpc tests for auth,bank

* Make format

* fix godoc

* Address suggestions

* Update godoc

* Launchpad Migration (#6829)

* fix migration

* add 039 pkg

* lint

* Fix pkg name

* add v0.39 auth types

* remove file

* updates

* updates

* update godoc

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Fix 0.39 x/auth Migration Types (#6870)

* types: add coins to JSON

* add migrate test

* finish test

* Add panic

* fix test

* Migrate gov, ibc-transfer genesis state to proto (#6866)

* Migrate gov genesis state

* Migrate ibc-transfer genesis state

* format genesis proto

* build(deps): bump github.com/golang/mock from 1.4.3 to 1.4.4 (#6876)

Bumps [github.com/golang/mock](https://github.com/golang/mock) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/golang/mock/releases)
- [Changelog](https://github.com/golang/mock/blob/master/.goreleaser.yml)
- [Commits](https://github.com/golang/mock/compare/v1.4.3...v1.4.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* remove ack length limit (#6874)

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* codec: remove unnecessary allocations in ProtoCodec.MarshalBinaryLengthPrefixed (#6877)

* codec: remove unnecessary allocations in ProtoCodec.MarshalBinaryLengthPrefixed

Improve ProtoCodec.MarshalBinaryLengthPrefixed by removing the need
to use a *bytes.Buffer and instead use an array and invoke
binary.PutUvarint, and directly create the respective length prefixed
concatentation.

With this change we get the following improvement in all dimenions
of throughput, bytes allocated, number of allocations per operation.

```shell
$ benchstat before.txt after.txt
name                                     old time/op    new time/op    delta
ProtoCodecMarshalBinaryLengthPrefixed-8     295ns ± 2%     177ns ± 3%  -39.92%  (p=0.000 n=20+20)

name                                     old speed      new speed      delta
ProtoCodecMarshalBinaryLengthPrefixed-8   505MB/s ± 2%   841MB/s ± 3%  +66.44%  (p=0.000 n=20+20)

name                                     old alloc/op   new alloc/op   delta
ProtoCodecMarshalBinaryLengthPrefixed-8      576B ± 0%      336B ± 0%  -41.67%  (p=0.000 n=20+20)

name                                     old allocs/op  new allocs/op  delta
ProtoCodecMarshalBinaryLengthPrefixed-8      5.00 ± 0%      3.00 ± 0%  -40.00%  (p=0.000 n=20+20)
```

Fixes #6875

* Address @marbar3778's feedback

Use binary.MaxVarintLen64 instead of 10

Co-authored-by: Marko <marbar3778@yahoo.com>

Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>

* Merge PR #6882: server: cleanup

* x/{capability, genutil} genesis types migrated to proto (#6867)

* x/capability genesis types migrated to proto

* added docs

* x/genutil: genesis proto migration

* fixed package issue

* review changes

Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* codec: implement protobuf unknown fields checker (#6557)

* Fully remove StdTx usage in ante handler tests (#6845)

* WIP on removing StdTx from ante handler tests

* Fix recheck

* Fix basic_test

* Don't use StdTx in ante_test

* Use TxConfig sign mode handler in anteHandler

* Fix TestAnteHandlerAccountNumbers

* Amino don't panic

* Fix more tests

* All proto ante tests pass

* Fix last tests

* Amino register concrete

* Add tests

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>

* x/auth genesis protobuf migration (#6880)

* Add auth genesis.proto and related changes

* Add UnpackInterfaces method to auth GenesisState

* Remove unrelevant test case

* Update proto/cosmos/auth/genesis.proto

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Add test for auth types ConvertAccountsAny

* Apply naming suggestions

* Update x/auth/types/genesis_test.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* x/evidence genesis protobuf migration (#6864)

* Migrate evidence genesis state to proto

* Fix lint error

* Remove commented code

* Clean up

* Add UnpackInterfaces to evidence GenesisState

* Add cosmos_proto.accepts_interface to evidence any and fix lint error

* Add test for x/evidence ExportGenesis and use table tests

* Update x/evidence/types/genesis.go

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* Update proto/cosmos/evidence/evidence.proto

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Keep []Evidence as return type in GenEvidences

* Add GenesisState Validate tests

* Add test case for NewGenesisState

* Add tests for GenesisState UnpackInterfaces

Co-authored-by: SaReN <sahithnarahari@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* ci: push nightly builds (#6517)

* Update auth cli commands (#6717)

* add utils

* update sign cmd

* update multisign cmd

* update sign batch cmd

* update genutil cmd

* add wrap tx builder

* update gentx cli

* update validate sigs cmd

* fix lint

* add flag reader to cli

* update marshaler for batchscan

* add register query server

* update to master

* remove depricated methods

* fix keyring issue

* update wraptx

* Fix batch scan

* fix register interfaces issue

* update printOutput

* Update Validate Sigs test

* WIP on signature JSON

* Cleanup

* Cleanup

* Test fixes

* Test fixes

* Fixes

* WIP on tests

* Fix gov tests

* fix lint

* fix MultiSign tests

* fix tests

* refactor tests

* Cleanup

* Address review comments

* Update encode

* Test fix

* Rename SignData func

* Fix lint

* Fix lint

* Revert ReadTxCommandFlags

Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>

* Revert change of StdSignature PubKey to []byte (#6885)

* Revert change of StdSignature.PubKey to []byte

* Fixes

* fix nil check bug (#6895)

* Revert `SetSignerInfo` (#6894)

* Fix TestCLIMultisign tests

* Fix lint

Co-authored-by: SaReN <sahithnarahari@gmail.com>

* REST tx endpoint backwards compatibility (#6801)

* update rest endpoints

* Add conversion logic for auth encode/decode/broadcast

* Cleanup

* Add tx conversion to legacy REST tx endpoints.

* Cleanup

* Add tests

* Add tests for ConvertAndEncodeStdTx

* Fix for StdSignature

* Test coverage improvements

* Add integration test for REST broadcast

Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>

* types: add kv type (#6897)

* add kv type

* add changelog entry

* fix build

* replace sdkkv with kv

* revert change

* fix some tests

* proto-gen

* fix tests

Co-authored-by: Aleksandr Bezobchuk <aleks.bezobchuk@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* build(deps): bump google.golang.org/protobuf from 1.24.0 to 1.25.0 (#6891)

Bumps [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) from 1.24.0 to 1.25.0.
- [Release notes](https://github.com/protocolbuffers/protobuf-go/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf-go/blob/master/release.bash)
- [Commits](https://github.com/protocolbuffers/protobuf-go/compare/v1.24.0...v1.25.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Migrate remaining x/auth tx tests to proto (#6898)

* Fix ReadTx

* Migrate batch scanner tests

* add TODO

Co-authored-by: Aaron Craelius <aaronc@users.noreply.github.com>
Co-authored-by: Aaron Craelius <aaron@regen.network>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* Fix gRPC flaky test (#6900)

* Fix gRPC flaky test

* Fix non-determinism

* Revert waitforheightwithtimeout

* Don't use NotNil

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* cli: refactor flag reading (#6884)

* cli: refactor ReadPersistentCommandFlags

* updates

* fix tetts

* cover all cases

* fix tests

* fix tests

* fix tests

* fix tests

* godoc++

Co-authored-by: Aaron Craelius <aaron@regen.network>

* Fix the one remaining proto tx bug and flip the switch (#6902)

* Fix the one remaining proto tx bug and flip the switch

* Update github CI

* Wrap TxDecoder errors

* Add test

* Cleanup

* x/ibc: fix log (#6903)

* x/ibc: fix log

* Update x/ibc/05-port/keeper/keeper.go

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* build(deps): bump google.golang.org/grpc from 1.30.0 to 1.3…
@janmartendeboer
Copy link

janmartendeboer commented Aug 16, 2020

I'm running into the same problem and I'm not sure the argument made about fixing this is breaking code for end-users is valid.

  • If you have no problem with mixed outputs, this DOES NOT affect you
  • If you have written a fix around this issue, by using ErrOrStderr() or PrintErr(), fixing this DOES NOT affect you, because you are no longer using those methods.
  • If you are writing new code, this DOES affect you.

I would urge the maintainers to reconsider their argument for breaking backward compatibility. This is clearly a bug that has crept into the major release. No shame there. And yeah, there is potential someone is going to have a bad day if this is fixed. But that amounts to the same bad day all end users have when trying to implement it correctly. IMHO the cost-benefit of breaking this piece of compatibility is way worth it.

Also, consider what is written in the documentation for this version:

PrintErrf is a convenience method to Printf to the defined Err output, fallback to Stderr if not set.

This means there is a mismatch between what is documented behavior for this version and what is actual behavior for this version.

Copy link

@fedekunze fedekunze left a comment

Thanks for the fix @alessio. I have run into the same issue

@ethanfrey
Copy link

ethanfrey commented Aug 19, 2020

Thank you, this would really help us with proper output so we can use the cli tools in scripts more easily.

@jgimeno
Copy link

jgimeno commented Aug 19, 2020

I have been waiting this solution for a long time, how come is still not merged? I hope this is being merged soon.

I don't know what is the problem to release this in a minor version (patch will be more accurate). Only people that upgrades will see the problem and other will update when they have bandwidth to solve the issue.

@jharshman jharshman added kind/bug A bug in cobra; unintended behavior and removed kind/stale labels Aug 23, 2020
@jharshman jharshman modified the milestone: 1.0.0 Aug 23, 2020
jpmcb
jpmcb approved these changes Aug 24, 2020
Copy link
Collaborator

@jpmcb jpmcb left a comment

This looks good to me! Thanks for waiting on this. We will get this merged very soon! 🚀

@bukowa
Copy link

bukowa commented Sep 8, 2020

func TestCommand_Print(t *testing.T) {
	errBuff, outBuff := bytes.NewBuffer(nil), bytes.NewBuffer(nil)

	wantErr := []byte("PrintErrPrintErr line\nPrintErr")
	wantOut := []byte("PrintPrint line\nPrint")

	root := &Command{
		Run: func(cmd *Command, args []string) {

			cmd.PrintErr("PrintErr")
			cmd.PrintErrln("PrintErr", "line")
			cmd.PrintErrf("PrintEr%s", "r")

			cmd.Print("Print")
			cmd.Println("Print", "line")
			cmd.Printf("Prin%s", "t")
		},
	}

	root.SetErr(errBuff)
	root.SetOut(outBuff)

	if err := root.Execute(); err != nil {
		t.Error(err)
	}

	errBytes, err := ioutil.ReadAll(errBuff)
	if err != nil {
		t.Error(err)
	}

	outBytes, err := ioutil.ReadAll(outBuff)
	if err != nil {
		t.Error(err)
	}

	if !bytes.Equal(errBytes, wantErr) {
		t.Errorf("got: '%s' want: '%s'", errBytes, wantErr)
	}

	if !bytes.Equal(outBytes, wantOut) {
		t.Errorf("got: '%s' want: '%s'", outBytes, wantOut)
	}
}

@alessio
Copy link
Contributor Author

alessio commented Sep 8, 2020

@bukowa I've integrated your test case in this PR. Thanks!

jpmcb
jpmcb approved these changes Oct 1, 2020
Copy link
Collaborator

@jpmcb jpmcb left a comment

This is great - thanks so much for the patience and time spent on this. And thanks so much for adding a test case!

@jpmcb jpmcb merged commit 40d34bc into spf13:master Oct 1, 2020
2 checks passed
mattmoyer added a commit to mattmoyer/pinniped that referenced this pull request Dec 17, 2020
It now correctly prints errors to stderr (spf13/cobra#894).

Signed-off-by: Matt Moyer <moyerm@vmware.com>
mattmoyer added a commit to mattmoyer/pinniped that referenced this pull request Dec 17, 2020
It now correctly prints errors to stderr (spf13/cobra#894).

Signed-off-by: Matt Moyer <moyerm@vmware.com>
daeMOn63 pushed a commit to fetchai/cosmos-sdk that referenced this pull request May 5, 2021
client/input/input.go: GetConfirmation() should communicate
with the user via the io.Writer instance passed in as
argument.

client/keys/add.go: replace cmd.PrintErrln() calls with
fmt.Fprintln(cmd.ErrOrStderr(), ...) because of cobra's
PrintErr* functions broken behaviour. For more information
please see spf13/cobra#894

Closes: #6601
Thanks: @noandrea for pointing this out.
itaysk added a commit to erikgb/kubectl-neat that referenced this pull request Jun 19, 2022
since bumbping cobra version the upstream bug is now resolved
spf13/cobra#894
erikgb pushed a commit to erikgb/kubectl-neat that referenced this pull request Jun 19, 2022
since bumbping cobra version the upstream bug is now resolved
spf13/cobra#894
erikgb pushed a commit to erikgb/kubectl-neat that referenced this pull request Jun 19, 2022
since bumbping cobra version the upstream bug is now resolved
spf13/cobra#894
erikgb pushed a commit to erikgb/kubectl-neat that referenced this pull request Jun 19, 2022
since bumbping cobra version the upstream bug is now resolved
spf13/cobra#894
itaysk added a commit to itaysk/kubectl-neat that referenced this pull request Jun 20, 2022
since bumbping cobra version the upstream bug is now resolved
spf13/cobra#894
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug A bug in cobra; unintended behavior
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SetOut and SetErr don't seem to work as expeceted?