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

Make gRPC requests go through tendermint Query #8549

Merged
merged 19 commits into from
Feb 15, 2021
Merged

Make gRPC requests go through tendermint Query #8549

merged 19 commits into from
Feb 15, 2021

Conversation

amaury1093
Copy link
Contributor

@amaury1093 amaury1093 commented Feb 9, 2021

closes: #XXXX

this PR:

  • makes all gRPC requests go through clientCtx (ABCIQuery or Broadcast)
  • on first call of each grpc method handler, the return type is saved in a map inside GrpcQueryRouter. This map is used for correctly decoding grpc responses. (see thread Make gRPC requests go through tendermint Query #8549 (comment) for more info).

Problem description

User sends a query with grpc
Tendermint Commit new blocks and tries to Commit IAVL (which causing IAVL versions map to change)
At the same time query tries to read from the same map (iavl.(*MutableTree).VersionExists) to check if requested version is exists
Node exits with fatal error: concurrent map read and map write


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

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

baseapp/grpcserver.go Outdated Show resolved Hide resolved
baseapp/abci.go Outdated
@@ -52,6 +52,8 @@ func (app *BaseApp) InitChain(req abci.RequestInitChain) (res abci.ResponseInitC
app.StoreConsensusParams(app.deliverState.ctx, req.ConsensusParams)
}

app.grpcQueryRouter.dryRunMethodHandlers(app.checkState.ctx)
Copy link
Contributor Author

@amaury1093 amaury1093 Feb 9, 2021

Choose a reason for hiding this comment

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

Status update: as per #8549 (comment), I added a returnType map[string]reflect.Type which maps each FQ method name to its return type. This map get populated when calling dryRunMethodHandlers, but i'm not sure from where to call it.

(Note: to dry run the method handlers, we need a context.Context, and I'm passing a sdk.WrapSDKContext(ctx) right now)

I tried:

  • populating returnTypes immediately on RegisterService (so that we wouldn't even need a separate dryRunMethodHandlers function) using a dummy sdk.Context. But it panicked on some nil stores.
  • calling dryRunMethodHandlers in InitChain, panicking for unmarshalling empty bytes request.

I'm thinking of a way to avoid panicking on all grpc query handlers. Maybe there's a way to do it with context.CancelFunc instead of sdk.WrapSDKContext(someSdkCtx)? Some other ideas?

Copy link
Member

@aaronc aaronc Feb 9, 2021

Choose a reason for hiding this comment

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

You can pre-run these in RegisterService I think. I'll take a quick look

Copy link
Member

Choose a reason for hiding this comment

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

Actually looks pretty nasty... I remember we had this issue before.

Copy link
Member

Choose a reason for hiding this comment

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

Actually if this is all the same process we can just capture the return type the first time a real query runs. I know that's super hacky but it should work unless someone is running grpc stand-alone.

A more correct way would be - read grpc schema from message descriptors, then look up the return type name, then look up the actual go type from the proto type registry.

What do you think?

Copy link
Contributor Author

@amaury1093 amaury1093 Feb 10, 2021

Choose a reason for hiding this comment

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

The grpc reflection way also seems more correct to me, however:

then look up the return type name

I can't seem to find where to find the mapping of fq method name to return type (in grpc-go code)

Actually if this is all the same process we can just capture the return type the first time a real query runs. I know that's super hacky but it should work unless someone is running grpc stand-alone.

For now I pushed this version

Copy link
Member

@aaronc aaronc Feb 10, 2021

Choose a reason for hiding this comment

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

Get the file descriptor with proto.FileDescriptor and the go type with proto.MessageType. Does that help? This involves actually parsing a FileDescriptor...

Copy link
Contributor Author

@amaury1093 amaury1093 Feb 10, 2021

Choose a reason for hiding this comment

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

This involves actually parsing a FileDescriptor

Ah right. I would need to define some heuristics to guess the file name from the fq method name, right? Will try that, but seems hacky too...

Copy link
Contributor Author

@amaury1093 amaury1093 Feb 10, 2021

Choose a reason for hiding this comment

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

I think it'll be hacky, we have e.g. FileDescriptor for cosmos/base/reflection/v1beta1/reflection.proto, and there's no way we can guess the file path from the fq service name (e.g. cosmos.base.reflection.v1beta1.ReflectionService), unless introducing a lot of ifs.

Maybe let's just stay with capturing the return type on 1st call?

Copy link
Member

Choose a reason for hiding this comment

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

If we have access to a reflection grpc service then we can actually just use that to get the descriptors. But honestly hopefully this is just a short term fix and we deal with the concurrency issues soon. I would hate for the whole abci pipeline to be forever single threaded.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

If we have access to a reflection grpc service then we can actually just use that to get the descriptors.

We'd need a client for that, it seems overkill. i also remember @clevinson running into issues with reflection because we're using gogoproto.

anyways, the current approach should be good enough for now.

@amaury1093
Copy link
Contributor Author

Marking this R4R, the chosen method is described in the first post.

@amaury1093 amaury1093 marked this pull request as ready for review February 10, 2021 15:03
@codecov
Copy link

codecov bot commented Feb 10, 2021

Codecov Report

Merging #8549 (2405701) into master (cb725e1) will decrease coverage by 0.00%.
The diff coverage is 31.03%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #8549      +/-   ##
==========================================
- Coverage   61.43%   61.43%   -0.01%     
==========================================
  Files         656      656              
  Lines       37526    37533       +7     
==========================================
+ Hits        23055    23059       +4     
- Misses      12063    12065       +2     
- Partials     2408     2409       +1     
Impacted Files Coverage Δ
baseapp/grpcserver.go 2.70% <0.00%> (+0.13%) ⬆️
client/grpc_query.go 29.16% <40.00%> (+0.90%) ⬆️
baseapp/grpcrouter.go 80.00% <50.00%> (-6.05%) ⬇️
server/grpc/server.go 62.50% <100.00%> (ø)
testutil/network/util.go 71.02% <100.00%> (ø)

@clevinson clevinson mentioned this pull request Feb 10, 2021
23 tasks
Copy link
Member

@aaronc aaronc left a comment

Choose a reason for hiding this comment

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

This all feels very unfortunate and also necessary. Let's please make it a priority to have read concurrency in the near future.

Copy link
Collaborator

@robert-zaremba robert-zaremba left a comment

Choose a reason for hiding this comment

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

Left few comments. On the serialization logic we can follow up in other task. Approving to let it go.

baseapp/grpcserver.go Outdated Show resolved Hide resolved
baseapp/grpcserver.go Outdated Show resolved Hide resolved
// at least once (in the RunGRPCQuery call), so we're sure the
// returnType maps is populated for this method. We're retrieving it
// for decoding.
returnType, found := app.GRPCQueryRouter().returnTypes[info.FullMethod]
Copy link
Collaborator

@robert-zaremba robert-zaremba Feb 12, 2021

Choose a reason for hiding this comment

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

Instead of using reflections, I would propose something else.

All return types are proto.Message

Instead of having a map:

methodName -> reflect.Type

we can use factory functions:

methodName -> func() proto.Message

I'm not sure where is the best place to create that functions - probably each module will need to do it itself when registering interfaces? So a bit more work, and more verbose. Not for this task, but idea for the future. If you think this make sense then we can create an issue for this.

Copy link
Contributor Author

@amaury1093 amaury1093 Feb 15, 2021

Choose a reason for hiding this comment

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

we could do that already, but still using reflection:

- qrt.returnTypes[fqName] = reflect.TypeOf(res)
+ qrt.returnTypes[fqName] = func() proto.Message {
+   typ := reflect.TypeOf(res)
+   return reflect.New(typ.Elem()).Interface().(proto.Message)
+ }

Both are equivalent in my eyes, I don't have a preference. happy to switch to factory functions (with reflection inside) if you find them clearer.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I was thinking more about registering this methods in the modules when registering the query server, rather than baseapp. So that would be before even running the query server. It's more declarative - so a bit more code, but we won't use reflection.

Copy link
Collaborator

Choose a reason for hiding this comment

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

shall we create a task to discuss it further?

Copy link
Collaborator

Choose a reason for hiding this comment

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

I created one: #8588


// Send the metadata header back. The metadata currently includes:
// - block height.
err = grpc.SendHeader(grpcCtx, outMd)
Copy link
Collaborator

Choose a reason for hiding this comment

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

why do we use SendHeader instead of SetHeader?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Collaborator

Choose a reason for hiding this comment

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

Do you know why before SetHeader was used?

if err != nil {
return err
}

err = protoCodec.Unmarshal(abciRes.Value, reply)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Do you think it would be possible to store an object in the abciRes to avoid the serialization round trip? RunGRPCQuery would need to have additional parameter: serialize bool (or thous would be set in a header). If not set, we don't serialize, and instead set the value in the response directly.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

abciRes comes from tendermint, so not easily.

We could create a wrapper around it, for optimization (not serializing/deserializing the same structs multiple times...) as you say. But that's a bigger refactor, and if we're talking about bigger refactors, a more sensible one would be to allow concurrent gRPC queries.

baseapp/grpcserver.go Outdated Show resolved Hide resolved
@amaury1093 amaury1093 added the A:automerge Automatically merge PR once all prerequisites pass. label Feb 15, 2021
@mergify mergify bot merged commit e306e5b into master Feb 15, 2021
@mergify mergify bot deleted the am-grpc-tm branch February 15, 2021 10:01
amaury1093 added a commit that referenced this pull request Feb 15, 2021
* Make gRPC requests go through tendermint Query

* Remove commented code

* Dry run in InitChain?

* Save type of first run

* Add metadata in repsonse

* Factorize some code

* Fix lint

* Update comments

* Fix md test

* Fix test expected

* Don't put RunGRPCQuery as clientCtx method

* Update baseapp/grpcserver.go

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Address review comments

Co-authored-by: Robert Zaremba <robert@zaremba.ch>
@amaury1093 amaury1093 mentioned this pull request Feb 15, 2021
4 tasks
alessio pushed a commit that referenced this pull request Feb 16, 2021
* Make gRPC requests go through tendermint Query

* Remove commented code

* Dry run in InitChain?

* Save type of first run

* Add metadata in repsonse

* Factorize some code

* Fix lint

* Update comments

* Fix md test

* Fix test expected

* Don't put RunGRPCQuery as clientCtx method

* Update baseapp/grpcserver.go

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Address review comments

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

Co-authored-by: Robert Zaremba <robert@zaremba.ch>
@tac0turtle
Copy link
Member

This pr came to mind recently while talking with a few folks. Do we think it would be worth to attach our own mutex instead of routing through tendermint. The routing through tendermint seems like a quick fix but it slows down queries through tendermint and the sdk, while having our mutex would only slow down the sdk queries.

This is also following a conversation that was had a couple months ago in tendermint (tendermint/tendermint#6171). Should applications handle their own concurrency, IMO yes.

@robert-zaremba
Copy link
Collaborator

Since app is managing the IAVL, it makes sense to use the app for organizing IAVL access.
This way we can remove the roundtrips with "re-serialization" logic.

tac0turtle added a commit that referenced this pull request Sep 1, 2021
jackzampolin pushed a commit that referenced this pull request Sep 3, 2021
michaelfig pushed a commit to agoric-labs/cosmos-sdk that referenced this pull request Sep 4, 2021
michaelfig pushed a commit to agoric-labs/cosmos-sdk that referenced this pull request Sep 7, 2021
Raumo0 pushed a commit to mapofzones/cosmos-sdk that referenced this pull request Feb 13, 2022
* crypto/hd: add 'm/' prefix to hd path (#7970)

* crypto/hd: add 'm/' prefix to hd path

* update fundraiser path

* fix some tests

* tests

* fix test case

* changelog

* fix ledger tests

* ibc: commit packet and hash (#7808)

* ibc: commit packet and hash

* minor changes

* fix build

* update err msgs

* don't use Any

* update commitment hash to used fixed length preimage

The commitment hash will now use 8 bytes timeout timestamp + 8 bytes timeout height version number + 8 bytes timeout height version height + sha 256 hash of data

* remove error from CommitPacket return values

* update godoc

* rm proto-tools-stamp

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

* Fix StatusCommand (#7974)

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

* Bech32 PubKey: use protobuf in slashing keeper

* remove unused function

* changelog update

* ADR-031: elaborate consequences and encapsulation of module client-se… (#7839)

* ADR-031: elaborate consequences and encapsulation of module client-server implementation

* Update docs/architecture/adr-031-msg-service.md

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

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

* exclude *.pb.gw.go files from codecov.io report (#7981)

* revert tiny portion of #7970 (#7984)

Testable examples were accidentally converted into tests.

* docs: x/bank: Atlas Doc (#7961)

* CI: Fix codecov flag project config (#7994)

* Bump Tendermint v0.34.0 (#7995)

* init commit

* ibc: remove redundant casting

* ci: attempt fix liveness job

* types/Coin: compile and reuse Regexps to reduce massive RAM+CPU burn (#7989)

* types/Coin: compile and reuse Regexps to reduce massive RAM+CPU burn

Fixes a resource (CPU+RAM) burn from recompiling Regexps which would
consume 1.2+MiB of RAM and 1.1ms per ParseCoin invocation, which means
that 1,000 invocations would consume 1.2GiB of RAM and >1second.

With the change, ParseCoin now takes 3.2us down from 1.1ms, with
dramatic results:

name         old time/op    new time/op    delta
ParseCoin-8    1.04ms ± 4%    0.00ms ± 1%  -99.69%  (p=0.000 n=9+10)

name         old alloc/op   new alloc/op   delta
ParseCoin-8    1.20MB ± 0%    0.00MB ± 0%  -99.94%  (p=0.000 n=10+10)

name         old allocs/op  new allocs/op  delta
ParseCoin-8     17.8k ± 0%      0.0k ± 0%  -99.89%  (p=0.000 n=10+10)

Fixes #7986.

* replace the CoinDenomRegex variable with SetCoinDenomRegex() (#7998)

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

* Fix tendermint misbehaviour trusted consensus state age check (#8006)

* use TrustingPeriod instead of UnbondingPeriod when verifying the age of the trusted consensus state

* update comment

* Update ADR status (#8009)

* Update adr-034-account-rekeying.md

* Show height on legacy REST endpoints (#7997)

* Fix showing height in rest endpoints

* Fix query height

* Manually inject req.Height

* Small tweaks

* Use withHeight

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

* Add ConsensusState to IBC Upgrades (#7919)

* upgrade progress

* fix build minus cli

* write state at block before upgrade height

* refix build

* Apply suggestions from code review

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

* fix upgrade and start with tests

* fix tendermint tests

* add tests and remove unnecessary relayer options on upgradedClient

* fix all tests except weird msg panic

* add invalid final client test and codec stuff

* fix everything but msg issue

* remove problematic test for now

* safer self validation

* upgrade fixes

* proto-linting

* remove unnecessary last height

* add timestamp to committed upgrade consensus state

* address final nits

* address nit

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

* check clients against params and consensus against clients (#8016)

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

* docs: Add REST endpoints migration guide (#8011)

* Add REST endpoints migration guide

* add bank, distrib, evidence

* Add slashing, mint

* Add staking

* Add query

* Add todo

* Typos

* Add link to interact node

* grammar

* Better wording

* Update docs/migrations/rest.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/migrations/rest.md

* Add footnote

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update "Core Concepts" docs (#7948)

* Update "Core Concepts" docs

* Update tags

* Update more subsctions

* Revert basics

* ADd link to run-node

* Typo

* Add sign modes

* Finish transaction.md

* Update docs/core/baseapp.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/core/baseapp.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/core/baseapp.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/core/baseapp.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/core/baseapp.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/core/baseapp.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Wording

* Update docs/core/baseapp.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Revert basics changes

* revert space change

* typo

* Update docs/core/transactions.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/core/node.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/core/store.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>
Co-authored-by: Robert Zaremba <robert@zaremba.ch>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Deterministic connection and channel identifiers (#7993)

* add generate identifier functions for connection and channel

* update proto types and begin open init changes

remove unnecessary field from open init msgs. Update connectionopeninit handshake, begin updating channel handshake

* finish connection handshake chanes and some channel handshake changes

Finish updating connection handshake changes, update genesis for connection and channel, some channel handshake changes, fix build for tests but still failing

* finish channel handshake changes

* fix more tests

* fix connection handshake tests

* fix more tests

* fix build

* changes from self review

* address @fedekunze review suggestions

* update spec

* fix build

* fix tests

* Update x/ibc/testing/chain.go

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

* Update x/ibc/core/03-connection/types/msgs.go

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

* address @AdityaSripal comments

* reflect spec changes

* address @AdityaSripal review suggestions

* nit

* add connection/channel identifier parsing and validation as per @AdityaSripal suggestion, cc @fedekunze

* Fix auth rest test

Change dummy channel id to a valid channel id given the updated stricter channel identifier checks cc @amaurymartiny

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

* Rename Version to Revision in IBC Height (#8020)

* rename Version to Revision in ibc Height

* lint

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

* CopyTx also copies timeoutHeight (#8015)

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

* CLI `migrate` command for x/{upgrade,params} proposals (#7875)

* Add v038 upgrade types

* Add migrate x/upgrade

* remove nolint

* Add ParameterChangeProposal

* Revert change

* Don't register crypto twice

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

* Makefile: use docker run --rm whenever possible (#8026)

Remove terminated containers once their execution
has finished. This saves the users a bit of disk
space.

Closes: #8023

* Fix legacy querying tx ("unregistered type" bug) (#7992)

* Add tests for query txs

* Add test for IBC

* Refactor checkSignModeError

* Fix lint

* Add successful IBC test

* Remove logs

* break

* Remove known errors

* Update error message

* Better comments

* Revert variable renaming

* Fix lint

* Add mention of gRPC as TODO

* gRPC-gateway routes as alternative to legacy tendermint REST endpoints (#7965)

* WIP

* WIP setup

* WIP setup testsuite

* add node_info

* add GetLatestBlock,GetBlockByHeight grpc endpoints

* add GetValidatorSetByHeight, GetLatestValidatorSet

* fix lint

* fix tests

* proto format

* Update Makefile

* review changes

* Makefile format

* handle nil pagination

* rename query.go to service.go

* format Makefile

* format Makefile

* review changes

* review changes

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

* cli: ParseCoin doesn't do normalize (#7954)

follow up on https://github.com/cosmos/cosmos-sdk/pull/7777
ParseCoin need to be treated similarly.

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

* Add an IBC prefix to transfer escrow addresses (#7967)

* add IBC prefix to escrow addresses

* use ADR 028 AddressHash construction

* remove extra space

* apply @AdityaSripal suggestion; prefix from ibc -> ibc-transfer-escrow-prefix

* Use alternative 1 proposed by @andrey-kuprianov

* anticpate necessary build fix

* add escrow address issue link into module.go

* Update x/ibc/applications/transfer/types/keys.go

Co-authored-by: Andrey Kuprianov <59489470+andrey-kuprianov@users.noreply.github.com>

* Update x/ibc/applications/transfer/types/keys.go

Co-authored-by: Andrey Kuprianov <59489470+andrey-kuprianov@users.noreply.github.com>

* apply @andrey-kuprianov review suggestions

Deduplicate code into a helper function as suggested. Add unit tests for max transfer channels test.

Co-authored-by: Andrey Kuprianov <59489470+andrey-kuprianov@users.noreply.github.com>

* docs: Remove legacy Msg/queriers in "Basics" section (#7782)

* docs: Remove legacy Msg/queriers in Basics

* Service

* Update links

* Update to rc2

* Update refs

* Use TM hashes

* REformulate

* Remove deep copy

* Update docs/DOCS_README.md

Co-authored-by: Cory <cjlevinson@gmail.com>

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

* Use generated client identifiers (#8034)

* add client identifier generation

* update proto and start fixing tests

* fix ibc tests

* fix auth rest test

* update spec

* fix lint

* add parsing tests and fix bugs

* fix regexp

* add godoc

* address @AdityaSripal review suggestions for identifier parsing

* address rest of @AdityaSripal's review comments

* remove unnecessary comment

* typos

* fix lint

* Apply suggestions from code review

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

* add more heigh tests as per @AdityaSripal suggestion

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

* Add panic handler on queries (#8039)

* Add test that panics

* Add panic in abci query

* Move proto gen files to correct place

* Add panic handler in grpc server

* Fix test

* Fix build

* Use %v

* Better panic message

* Fix tests

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

* multistore: fix SetInitialVersion (#8048)

* client/keys: support export of unarmored private key (#8043)

The --unarmored-hex and --unsafe flags are added to
the keys export command. Users must use both to
export private keys material. The output would be in
hexadecimal format and unarmored.

See #8042 for scope and motivations.

introduce new UnsafeKeyring interface.

Unsafe operations are supported by UnsafeKeyring types.
By doing so, we try to make the client developer aware
of the risks.

Co-authored-by: Sunny Aggarwal <sunnya97@protonmail.ch>

* Fix QueryByEvents with multiple events and empty pagination request (#8029)

* fix pagination issue

* Fix querying with multiple events

* reuse ParsePagination

* update tests

* change event type to array

* fix test

* review changes

* add test case for escape params

* review changes

* resolve conflicts

* fix test

* fix test

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

* Fix CryptoCdc inconsistent (#7987)

* simple fix

* refactor crypto

* just use codec/legacy.Cdc

* revert armor

* add changelog entry

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

* Add tx broadcast gRPC endpoint (#7852)

* WIP tx/broadcast grpc endpoint

* fix lint

* fix proto lint

* Update service.proto

* resolve conflicts

* update service.proto

* Update service.proto

* review changes

* proto lint

* Switch to txraw

* Add check breaking at the end

* Fix broadcast

* Send Msg on SetupSuite

* Remove proto-check-breaking

* 1 validator in test

* Add grpc server tests for broadcast

* Fix grpc server tests

* Add some changes

* Add ress comments

* Add table tests for tx service

* Add test for mode

* Add simulate tests

* Add build flag back

* Revert custom stringer for enum

* Remove stray logs

* Use /txs/{hash}

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

* evidence: fix query command (#8066)

* evidence: fix query command

* evidence: add CLI tests

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

* fix: Metadata is not initialized in x/bank InitGenesis #7951 (#8065)

* fix: Metadata is not initialized in x/bank InitGenesis #7951

* remove commented code

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

* Update signbatch multisig to work online (#7801)

* add test for signbatch multisig

* update test

* fix sign batch multisig

* update offline usage

* address comments

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

* Refactor Logging using Zerolog (#8072)

* init commit

* server: use flags

* server: godoc++

* updates

* baseapp: update logging

* logging updates

* x/bank: update logging

* logging updates

* lint++

* logging updates

* logging updates

* logging updates

* logging updates

* cl++

* build(deps): bump vuepress-theme-cosmos from 1.0.175 to 1.0.176 in /docs (#8052)

Bumps [vuepress-theme-cosmos](https://github.com/cosmos/vuepress-theme-cosmos) from 1.0.175 to 1.0.176.
- [Release notes](https://github.com/cosmos/vuepress-theme-cosmos/releases)
- [Commits](https://github.com/cosmos/vuepress-theme-cosmos/commits)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@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>

* Audit through legacy endpoints to find breaking changes (#8037)

* Add error msg on staking

* Add tests for legacy staking and gov

* Add test for encode

* Fix broadcast too

* Add comments

* update changelog

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

* fix: bank gRPC error status codes (#7814)

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

* Rename GRPCRouter (#8079)

* rename GRPCRouter

* Update store/types/store.go

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Fix gofmt

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* build(deps): bump vuepress-theme-cosmos from 1.0.176 to 1.0.177 in /docs (#8075)

Bumps [vuepress-theme-cosmos](https://github.com/cosmos/vuepress-theme-cosmos) from 1.0.176 to 1.0.177.
- [Release notes](https://github.com/cosmos/vuepress-theme-cosmos/releases)
- [Commits](https://github.com/cosmos/vuepress-theme-cosmos/commits)

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

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

* increase ibc basic genesis validation (#8081)

* increase client basic genesis validation

* add connection/channel genesis validation

* fix tests

* apply @AdityaSripal suggestion

Co-authored-by: Christopher Goes <cwgoes@pluranimity.org>

* x/bank/keeper: fix a missing gRPC error in AllBalances (#8085)

* x/bank/keeper: fix a missing gRPC error in AllBalances

Fixes an incoherent return which had:
    (non-nil value, non-nil-non-grpc error)
to
    (nil value, non-nil-gRPC error)

and it is a follow-up of PR #7814.

* types/query: fix pagination test (#8096)

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

* build(deps): bump vuepress-theme-cosmos from 1.0.177 to 1.0.178 in /docs (#8098)

Bumps [vuepress-theme-cosmos](https://github.com/cosmos/vuepress-theme-cosmos) from 1.0.177 to 1.0.178.
- [Release notes](https://github.com/cosmos/vuepress-theme-cosmos/releases)
- [Commits](https://github.com/cosmos/vuepress-theme-cosmos/commits)

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

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

* fix typo (#8097)

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

* Implement Connection-specified delay (#8069)

* start with initialization and metadata

* start by fixing delay period during connection handshake

* fix connection handshake tests

* add delay period logic to packet verification

* proto format

* fix err issue

* appease linter

* document upgrade special case

* Update x/ibc/light-clients/07-tendermint/types/client_state.go

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

* Update x/ibc/light-clients/07-tendermint/types/store.go

* add sanity check

* fix build

* fix tests

Co-authored-by: colin axnér <25233464+colin-axner@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>
Co-authored-by: Colin Axner <colinaxner@berkeley.edu>

* change TmService's validator pubkey type to any (#8060)

* change validator pubkey type to any

* add test for vslidator pubkey

* change address to string

Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com>

* x/ibc/core/23-commitment/types: fix MerkleProof.Empty comparisons (#8092)

* x/ibc/core/23-commitment/types: fix MerkleProof.Empty comparisons

Fixes invalid pointer creation, reduces on unnecessary allocations
inside MerkleProof.Empty, and changes the method to a pointer; the
invalid pointer creation was symptomatic of broad use of values.

With this change we have improvements whose benchmarks produce:

```shell
name     old time/op    new time/op    delta
Empty-8     311ns ± 5%     232ns ± 5%  -25.49%  (p=0.000 n=20+19)

name     old alloc/op   new alloc/op   delta
Empty-8     56.0B ± 0%      8.0B ± 0%  -85.71%  (p=0.000 n=20+20)

name     old allocs/op  new allocs/op  delta
Empty-8      3.00 ± 0%      1.00 ± 0%  -66.67%  (p=0.000 n=20+20)
```

Fixes #8091

* Move Empty godoc to right place + add comments for blank*

* removed gov docs bug (#8105)

* Move and update codec.MarshalAny functions to codec.Marshaler interface (#8080)

* Changelog update

* Rename codec.MarshalAny

* move codec.MarshalInterface to codec.Marshaler

* fix tests

* Update amino_codec for compliance with MarshalerInterface

* update tests and comments

* add tests

* change order of args in UnmarshalInterface to a canonical one

* uplift MarshalInterface to take ProtoMessage as an argument

* wip

* add nil check

* make tests working

* tests cleanup

* add support for *JSON methods

* Update changelog

* linter fixes

* fix test types

* update evidence genesis_test

* adding test

* review updates

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

* x/ibc/light-clients: simplify max time comparison (#8089)

The prior code that tried to get the newest/larger time
between the too performed:
* 2 time.Time.UnixNano() retrievals: 2 multiplications, 2 additions
* 1 math.Max comparison
* 1 time.Unix(0, minTime) creation

but really this code could just use native operations on:
time.Time.After() simply.

This now becomes a single operation, single comparison for the same effect.

* docs: docs-staging → master (#8084)

* Fix package-lock

* Fix package-lock

* update package-lock

* bump docs theme to 1.0.171

* Fix typo, chinese character in URL
* update dead doc links

* bump docs theme to 1.0.172

* [favicons] add favicons

* makefile: change build-docs target for shells other than bash

* docs: set master as default version

* docs: add v0.40.x to versions

* bump vuepress-theme-cosmos 1.0.175

* docs: fix broken url in cn/basics/app-anatomy.md

* bump docs theme to 1.0.176

* add versions to config.js

* docs: bump docs theme to 1.0.177

* docs: bump docs theme to 1.0.178

* docs: tweak config.js versions with label and key

Co-authored-by: Denis Fadeev <denis@fadeev.org>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: vms <vince19972@gmail.com>
Co-authored-by: Helder Moreira <helder@tendermint.com>
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Recover private validator key (#8099)

* Recover private validator key
Added the ability to recover the private validator key from a given mnemonic when initializing the node

* Added CHANGELOG entry

* Reverted dependencies

* Added tests

* Fixed mnemonic checking as suggested and added tests

* Run make format and fixed go.sum checksum

* Run make format

* fix imports

* fix TestInitializeNodeValidatorFilesFromMnemonic

* Update CHANGELOG.md

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

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

* Robert/api clientctx (#8107)

* rename clientCtx.PrintOutput to PrintObject

* rename clientCtx.PrintOutputLegacy to PrintObjectLegacy

* Changelog update

* Rename PrintObject to PrintProto

* ADR template: add Further Discussions (#8108)

* ADR template: add Further Discussions

* language update

* Update docs/architecture/adr-template.md

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

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

* Add UnpackInterfaces to BroadcastReq (#8118)

* add test case for decoding & re-encoding a full transaction using amino

* drop equal assertion for tx and txRequest

* Fix BroadcastReq UnpackInterfaces

* Remove unrelated files

* order imports

* sort imports again

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

* fix ibc-transfer receiving denom bug (#8119)

* fix receiving denom bug

* Update x/ibc/applications/transfer/keeper/relay.go

* add testing sending 2 hops and back one

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

* testutil: new TempFile function, simplify WriteToNewTempFile (#8123)

Files returned by WriteToNewTempFile are cleaned up
automatically at the end of a test case execution.
WriteToNewTempFile now relies on the TB.TempDir()
function provided by the testing std package.

TempFile returns a temporary file that can be used
within a test case and is automatically removed
at the end of the test execution.

* go.mod: update cosmos/go-bip39 to v1.0.0 (#8127)

Updates cosmos/go-bip39 to version v1.0.0 which
features performance upgrades that bring 12+ searches
down from 24.3us to 1.4us (so 108.33ns per fetch)
after PR https://github.com/cosmos/go-bip39/pull/2.

* make it exit gracefully. (#8101)

* make it exit gracefully.

* add kig message

* git update error code

* exit with error code

* exit with 0

* Update server/start.go

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

* add page flags for staking validators (#8103)

* add page flags for staking validators

* add test

* fix test

* add build flag

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

* use testutil in test cases (#8130)

Also replace defer calls with
testing.T.Cleanup()

* x/bank: update atlas manifest (#8137)

* atlas: x/auth v0.39.1 (#7996)

* x/auth: atlas manifest (#8140)

* Switch LogFormat to Plain by default (#8131)

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

* build(deps): bump vuepress-theme-cosmos from 1.0.178 to 1.0.179 in /docs (#8125)

Bumps [vuepress-theme-cosmos](https://github.com/cosmos/vuepress-theme-cosmos) from 1.0.178 to 1.0.179.
- [Release notes](https://github.com/cosmos/vuepress-theme-cosmos/releases)
- [Commits](https://github.com/cosmos/vuepress-theme-cosmos/commits)

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

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

* build(deps): bump gaurav-nelson/github-action-markdown-link-check (#8126)

Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.8 to 1.0.9.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.8...7481451f70251762f149d69596e3e276ebf2b236)

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

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

* Snapshot sync: use hasher for chunk hashes (#7215) (#7259)

* snapshot sync: use blake3 for chunk hashes (7215)

Blake3 improves on security and speed compared to sha256.
https://blake3.io/

In this PR:
+ use optimized blake3 hashes (with dedicated SIMD code)
  instead of sha256
+ reuse resources on hashing chunks.
+ cleaned few error return statements.

* linter issues fixes

* revert blake2 hashing to sha256

* revert go.mod

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

* server: init commit (#8144)

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

* Update CONTRIBUTING.md Point Release Procedure (#7999)

* Update CONTRIBUTING.md

* Update CONTRIBUTING.md

Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com>

* Update CONTRIBUTING.md

Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com>

* Update CONTRIBUTING.md

Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com>

* Update CONTRIBUTING.md

Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com>

* Update CONTRIBUTING.md

Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com>

* updates to concept & release approval process

* update codeowners addition process

* time bound updates

* Update CONTRIBUTING.md

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

Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: billy rennekamp <billy.rennekamp@gmail.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Cory Levinson <cjlevinson@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* build(deps): bump gaurav-nelson/github-action-markdown-link-check (#8148)

Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.9 to 1.0.10.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.9...72d871b8c64d67e2161dc16596734334b188429d)

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

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

* Use SignModeLegacyAminoJSON when signer is ledger key (#8136)

* Use SignModeLegacyAminoJSON when signer is ledger key

* Fix tests

* Fix lint

* Fix tests

* Add warning message

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

* Model-based tests for relay functions of ICS-20 token transfer (#8145)

* start on MBT for ICS20: setting and checking bank balances

* add bank struct for subtracting banks

* reconstruct ibc denominations in the bank

* add some static tests with bank changes tracking

* small fixes

* better error handling

* add Jsonatr transform from Apalache conterexample into OnRecvPacket test

* add example Apalache CE and transformed test

* changed apalache-to-recv-test.json to output arrays instead of records

* add datastructures for parsing TLA+ tests

* remove accidentally committed code

* add conversion from TLA+ structs to Go structs

* encode abstract ids into addresses via hashes

* first run of auto-generated MBT tests

* first run of auto-generated MBT tests: fix ports and channels

* fix small inconsistencies

* fix mbt_relay_test by not setting the bank balances in every iteration

* add test for onTimeoutPacket

* add handling of OnRecvAcknowledgement to mbt relay test

* add handling of SendTransfer

* add relay-test.json

* revert manual changes in relay-test.json

* fix handling of denominations for SendTransfer

* setup two test channels A-B, B-C; fix escrow address encoding

* a test for all handlers passing

* generalize denom handling to arbitrary length + failing denom test

* rename test function

* MBT test for unsecrow tokens

* add model-based generated tests

* add model-based tests (prev commit: addded model)

* transformed json tests with jsonatr

* modify mbt_relay_test.go to execute all MBT tests

* cleanup

* move jsonatr transforms into another dir

* add MBT_README.md

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

* docs: Add grpc & rest endpoints overview (#8064)

* docs: Add grpc & rest endpoints overview

* Finish overview

* -Merge branch 'master' of ssh://github.com/cosmos/cosmos-sdk into am-7657-grpc

* Update READMEs

* Add grpcurl

* Finish docs

* Add gRPC historical blocks

* Add historical queries

* Small tweaks

* Update docs/core/grpc_rest.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* update error message and add tests (#8166)

* support upgrade on same revision (#8165)

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

* fix: Signature only flag bug on tx sign command 7632 (#8106)

* fix: Signature only flag bug on tx sign command 7632

* Update client/context.go

Co-authored-by: Cory <cjlevinson@gmail.com>

* Update client/context.go

Co-authored-by: Cory <cjlevinson@gmail.com>

* use named return value and closure (#8111)

This is to correctly handle deferred Close()
calls on writable files.

* set the right 'append' logic for signing transactions

* cleanup

* update tx.Sign interface by adding overwrite option

* Update Changelog

* sign command cleanup

* implementation and changelog update

* fix SignTx and tx.Sign calls

* fix: sign didn't write to a file

* update flags description

* Add tx.Sign tests

* fix grpc/server_test.go

* Update client/tx/tx.go

Co-authored-by: Cory <cjlevinson@gmail.com>

* changelog update

* Add test to verify matching signatures

* cli_test: add integration tests for sign CMD

* add output-file flag test

* add flagAmino test

* Update x/auth/client/cli/tx_sign.go

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

* Update x/auth/client/cli/tx_sign.go

* update amino serialization test

* TestSign: adding unit test for signing with different modes

* Add test with Multi Signers into Robert's TxSign PR (#8142)

* Add test with Multi Signers

* remove true false

* Use SIGN_MODE_DIRECT

* Fix litn

* Use correct pubkeys

* Correct accNum and seq

* Use amino

* cleanups

* client.Sign: raise error when signing tx with multiple signers in Direct

+ added more unit tests

* add more tests

* Update client/tx/tx_test.go

Co-authored-by: Cory <cjlevinson@gmail.com>

* fix TestGetBroadcastCommand_WithoutOfflineFlag

* Any.UnsafeSetCachedValue

* fix note packed messages in tx builder

* reorder unit tests

* Changelog update

* cleaning / linting

* cli_tes: copy validator object instead of modifying it's shared codec

* x/auth cli_test: remove custom codec creation in tests

* Update CHANGELOG.md

* updates to CHANGELOG.md

* remove unused method

* add new instance of transaction builder for TestSign

Co-authored-by: Cory <cjlevinson@gmail.com>
Co-authored-by: SaReN <sahithnarahari@gmail.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Amaury <amaury.martiny@protonmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Combine client.ReadTxCommandFlags with GetClientContextFromCmd (#8155)

* Update codebase to simplify clientCtx loading from cmd

* make ReadTxCommandFlags and ReadQueryCommandFlags private

* fix build error

* fix conflicts

* Add msg on CLI for migrating GenesisDoc (#8164)

* Add msg on CLI for migrating GenesisDoc

* Fix build

* Better indentation

* Add table tests

* typo

* Rename variables

* Fix validate tests

* Add warning println

Co-authored-by: Cory <cjlevinson@gmail.com>

* update changelog for v0.40.0-rc5 (#8156)

* add Increment method to Height interface (#8157)

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

* build(deps): bump github.com/cosmos/iavl from 0.15.0-rc5 to 0.15.2 (#8168)

* build(deps): bump github.com/cosmos/iavl from 0.15.0-rc5 to 0.15.2

Bumps [github.com/cosmos/iavl](https://github.com/cosmos/iavl) from 0.15.0-rc5 to 0.15.2.
- [Release notes](https://github.com/cosmos/iavl/releases)
- [Changelog](https://github.com/cosmos/iavl/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cosmos/iavl/compare/v0.15.0-rc5...v0.15.2)

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

* go.sum

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* build(deps): bump github.com/armon/go-metrics from 0.3.4 to 0.3.5 (#8163)

* build(deps): bump github.com/armon/go-metrics from 0.3.4 to 0.3.5

Bumps [github.com/armon/go-metrics](https://github.com/armon/go-metrics) from 0.3.4 to 0.3.5.
- [Release notes](https://github.com/armon/go-metrics/releases)
- [Commits](https://github.com/armon/go-metrics/compare/v0.3.4...v0.3.5)

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

* go.sum

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>

* build(deps): bump gaurav-nelson/github-action-markdown-link-check (#8158)

Bumps [gaurav-nelson/github-action-markdown-link-check](https://github.com/gaurav-nelson/github-action-markdown-link-check) from 1.0.10 to 1.0.11.
- [Release notes](https://github.com/gaurav-nelson/github-action-markdown-link-check/releases)
- [Commits](https://github.com/gaurav-nelson/github-action-markdown-link-check/compare/1.0.10...2a60e0fe41b5361f446ccace6621a1a2a5c324cf)

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

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

* x/upgrade: fix software upgrade proposals from automatically failing, add unpackinterfaces function (#8169)

* fix unpack interfaces bug

* remove unnecessary ;

* x/ibc: fix ClientUpdateProposal unpacker (#8170)

* x/ibc: fix ClientUpdateProposal unpacker

* rm duplicate line

* docs: typo fix (#8172)

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

* build(deps): bump github.com/otiai10/copy from 1.2.0 to 1.3.0 (#8160)

* build(deps): bump github.com/otiai10/copy from 1.2.0 to 1.3.0

Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/otiai10/copy/releases)
- [Commits](https://github.com/otiai10/copy/compare/v1.2.0...v1.3.0)

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

* go.sum

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* build(deps): bump gopkg.in/yaml.v2 from 2.3.0 to 2.4.0 (#8159)

* build(deps): bump gopkg.in/yaml.v2 from 2.3.0 to 2.4.0

Bumps [gopkg.in/yaml.v2](https://github.com/go-yaml/yaml) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/go-yaml/yaml/releases)
- [Commits](https://github.com/go-yaml/yaml/compare/v2.3.0...v2.4.0)

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

* go.sum

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>

* client: remove redundant/repeated code (#8182)

Follows up PR #4876 which removed the return on non-nil errors
to always return a non-nil REST response regardless of error.
The checks performed seem benign and the return result is the
same.
This change uses the reverse conditional refactoring method
to gut out nesting and many conditions.
Noticed while hunting through types.ParseABCILogs.

Fixes #8181

* change gentx cmd amount field to arg from flag (#8183)

* Read gentx amount as argument

* Update gentx command usage

* Update gentx tests

* Update docs of gentx

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

* Fix IBC upgrade: manually tested (#8187)

* commit at plan.Height key

* fix upgrade tests

* remove debugging prints

* Update x/ibc/light-clients/07-tendermint/types/upgrade.go

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

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

* Update default historical header number for stargate (#8178)

* Update default historical header number

* Update x/staking/types/params.go

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

* fix tests

* duh

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Amaury <amaury.martiny@protonmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>

* Tulasi/export homepath (#8194)

* homepath added

* temp added

* changes done

* modified

* modified

* Update simapp/simd/cmd/root.go

* Update simapp/simd/cmd/root.go

* Update simapp/simd/cmd/root.go

Co-authored-by: Naga Tulasi <tulasi@vitwit.xyz>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Alessio Treglia <quadrispro@ubuntu.com>

* Clean Any interface (#8167)

* Clean Any interface

+ removed Any.Pack method. This method is not needed, because we have specialized
  functions for createing new Any values. It could be used inappropriately with existing
  Any objects.

* removed deprecated PackAny function

* fix linter issue

* update nil handling

* NewAnyWithValue returns error on nil instead of panic

* NewMsgCreateValidator: handle nil pubkey

* Remove AsAny and tx builder workarounds

* fix linter issue

* Add AsAny methods to TxBuilder and StdTxConfig, but keep intoAny interface private

* remove tx.PubKeyToAny

* cosmetic updates

* fix method interface

* move ProtoTxProvider to x/auth/tx

* update x/upgrade docs (#8196)

* fix timeout bug (#8200)

* types: unconditionally divide by 2 because of integer truncation ⌊x/2⌋ (#8202)

Simplify the code in Dec.Power to unconditionally divide by 2, since:
    x /= 2
is the same result for both even and odd integers, and produces the
floor of the result of x/2 -> ⌊x/2⌋:
    99/2 ~> 49.5 ⌊49.5⌋ = 49
    98/2 ~> 49.0 ⌊49.0⌋ = 49
aka "integer truncation".

Fixes #7924

* Fix proto-swagger-gen (#8184)

* Fix proto-swagger-gen

* Fix script

* Run script

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

* build(deps): bump codecov/codecov-action from v1.0.15 to v1.1.0 (#8195)

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

* go.mod: update to cosmos/iavl@v0.15.3 for performance updates (#8214)

Fixes #8205

* build(deps): bump codecov/codecov-action from v1.1.0 to v1.1.1 (#8215)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.1.0 to v1.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.1.0...1fc7722ded4708880a5aea49f2bfafb9336f0c8d)

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

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

* simulation: close opened files and check for error while creating files (#8217)

* Read gentx amount as argument

* Update gentx command usage

* Update gentx tests

* Update docs of gentx

* Close opened files and check for error while creating files

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>

* Fix Unregistered interface types.Evidence (#8221)

* fix Unregistered interface

* add test

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

* x/ibc: minor channel fixes (#8229)

* test: Use the bond denomination from the configuration, not the default (#8225)

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

* build(deps): bump github.com/otiai10/copy from 1.3.0 to 1.4.0 (#8227)

* build(deps): bump github.com/otiai10/copy from 1.3.0 to 1.4.0

Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/otiai10/copy/releases)
- [Commits](https://github.com/otiai10/copy/compare/v1.3.0...v1.4.0)

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

* tidy

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>

* Fix tendermint query proto scoping (#8236)

The following errors are occurring when these protos are compiling
because they exist in a sub-package `cosmos.base.tendermint` but are
trying to refer to toplevel `.tendermint` types:

```
cosmos/base/tendermint/v1beta1/query.proto:87:3: "tendermint.types.BlockID" is resolved to "cosmos.base.tendermint.types.BlockID", which is not defined. The innermost scope is searched first in name resolution. Consider using a leading '.'(i.e., ".tendermint.types.BlockID") to start from the outermost scope.
cosmos/base/tendermint/v1beta1/query.proto:88:3: "tendermint.types.Block" is resolved to "cosmos.base.tendermint.types.Block", which is not defined. The innermost scope is searched first in name resolution. Consider using a leading '.'(i.e., ".tendermint.types.Block") to start from the outermost scope.
cosmos/base/tendermint/v1beta1/query.proto:96:3: "tendermint.types.BlockID" is resolved to "cosmos.base.tendermint.types.BlockID", which is not defined. The innermost scope is searched first in name resolution. Consider using a leading '.'(i.e., ".tendermint.types.BlockID") to start from the outermost scope.
cosmos/base/tendermint/v1beta1/query.proto:97:3: "tendermint.types.Block" is resolved to "cosmos.base.tendermint.types.Block", which is not defined. The innermost scope is searched first in name resolution. Consider using a leading '.'(i.e., ".tendermint.types.Block") to start from the outermost scope.
cosmos/base/tendermint/v1beta1/query.proto:113:3: "tendermint.p2p.DefaultNodeInfo" is resolved to "cosmos.base.tendermint.p2p.DefaultNodeInfo", which is not defined. The innermost scope is searched first in name resolution. Consider using a leading '.'(i.e., ".tendermint.p2p.DefaultNodeInfo") to start from the outermost scope.
```

Here is one issue where I observed these errors:

https://github.com/cosmos/cosmos-sdk/issues/8171

However note it is also breaking the build on `cosmos-rust`:

https://github.com/cosmos/cosmos-rust/issues/23

Adding a `.` before `tendermint` references the package in toplevel
scope, which appears to be what is intended.

* Update randomfees selection of non-zero coins (#8209)

* Update randomfees selection of non-zero coins

* fix randomfees

* fixing account test

* fix broadcast.go

* fixing

* Revert "fixing"

This reverts commit b6eaa8d281977451d95e3f5e17792bef642ff65c.

* Revert "fix broadcast.go"

This reverts commit 2275ea1303b3f5f8c61774a42f17d8a539c3c00a.

* Revert "fixing account test"

This reverts commit d0d4aa7d5d9421b810bd6582db33ea7dda66a008.

* fix randomfees

* fix randomfees

* remove commented code

Co-authored-by: Likhita Polavarapu <likhita@vitwit.xyz>
Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>

* x/distribution: fix setting withdraw address (#8240)

* Add script to generate proto-docs (#8238)

* init protobuf-docs

* update template

* update docs/core/README.md

* update proto files

* update template

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

* Add grpc gateway missing endpoints to swagger docs (#8232)

* Add missing endpoints

* Fix swagger gen

* update

* Update static.go

* Fix format

* Fix tests

* Fix ConsensusStates grpc query (#8246)

* fix consensus states grpc query

* Update x/ibc/core/02-client/keeper/grpc_query.go

* simplify

* contrib: fix path for statik files (#8248)

* update appd export (#8228)

* update appd export

* Update export.go

* Update export.go

* Update server/export.go

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

* Update export.go

Co-authored-by: Likhita Polavarapu <likhita@vitwit.xyz>
Co-authored-by: MD Aleem <72057206+aleem1314@users.noreply.github.com>
Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>
Co-authored-by: Alessio Treglia <quadrispro@ubuntu.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* build(deps): bump github.com/otiai10/copy from 1.4.1 to 1.4.2 (#8242)

* build(deps): bump github.com/otiai10/copy from 1.4.1 to 1.4.2

Bumps [github.com/otiai10/copy](https://github.com/otiai10/copy) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/otiai10/copy/releases)
- [Commits](https://github.com/otiai10/copy/compare/v1.4.1...v1.4.2)

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

* go.sum

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>

* v0.40.0-rc6 Changelog Update (#8249)

* rc6 changelog update

* Update CHANGELOG.md

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

* rc6 changelog update

* drop newline

* more changelog entries

Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* build(deps): bump codecov/codecov-action from v1.1.1 to v1.2.0 (#8252)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.1.1 to v1.2.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.1.1...a92c414703a4bba586f6df7fcc885c9d0bdff772)

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

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

* Fix gentx command setting wrong amount (#8255)

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

* docs: cache-wrapping and virtual store (#8102)

* docs: cache-wrapping and virtual store

* Finish the docs update

* Update docs/building-modules/msg-services.md

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

* Update docs/building-modules/msg-services.md

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

Co-authored-by: Amaury <amaury.martiny@protonmail.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>

* Fix upgrade tx commands not showing up in CLI (#8261)

* add upgrade tx subcommands to cli

* update CLI help to direct to cosmovisor repo

* Update IBC Application Guide (#8256)

* fix app doc

* finish updating guide

* Update docs/ibc/overview.md

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

* apply @colin-axner suggestions

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

* [docs]: Stargate migration guides (#7771)

* init

* Add page contents

* Update migrate a module to stargate

* Update links

* Add querier

* add baseapp migration guide

* Add upgrade instructions

* Add TODO for missing udpates

* Add dependencies

* address review comments

* remove unused

* gaiad => simd

* Add ibc state jq cmd

* Update docs/migrations/README.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/migrations/README.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/migrations/README.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/migrations/README.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/migrations/chain-upgrade-guide-040.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/migrations/chain-upgrade-guide-040.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/migrations/chain-upgrade-guide-040.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/migrations/chain-upgrade-guide-040.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Created a modules.md file

* Update chain migration guide

* Rename to App migration

* Add new paragraph

* Add some initial sections

* Add msg and queries

* Finish modules

* Add client

* Add update guide

* Rename title

* More tweaks

* Update chain upgrade one

* Remove useless change

* Don't repeat

* Update docs/migrations/chain-upgrade-guide-040.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Small update

* Use rc6

* Update docs/migrations/app_and_modules.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/migrations/app_and_modules.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/migrations/app_and_modules.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/migrations/app_and_modules.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/migrations/app_and_modules.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/migrations/app_and_modules.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/migrations/chain-upgrade-guide-040.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/migrations/app_and_modules.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/migrations/app_and_modules.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/migrations/app_and_modules.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/migrations/app_and_modules.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* Update docs/migrations/app_and_modules.md

Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* reviews

* Review

Co-authored-by: Amaury <amaury.martiny@protonmail.com>
Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>
Co-authored-by: Robert Zaremba <robert@zaremba.ch>

* build(deps): bump codecov/codecov-action from v1.2.0 to v1.2.1 (#8263)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.2.0 to v1.2.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.2.0...e156083f13aff6830c92fc5faa23505779fbf649)

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

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

* appcreator: Reuse encoding config instead of recreating it (#8250)

* appcreator: Reuse encoding config instead of recreating it

* Update tests

* merge tests

* fix export_test.go

* fix genesis_test.go

* fix withGenesis flag

* fix setup parameters

* Update server/README.md

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

* Update server/README.md

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

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

* Revert "Fix upgrade tx commands not showing up in CLI" (#8262)

* Revert "Fix upgrade tx commands not showing up in CLI (#8261)"

This reverts commit 893f2262a7ccc8584be4968f0416f52f0c239927.

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

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

* ibc: add proto message to Header and Misbehaviour (#8278)

* add proto message to Header and Misbehaviour

* format

* build(deps): bump github.com/tendermint/tendermint from 0.34.0 to 0.34.1 (#8274)

Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.0 to 0.34.1.
- [Release notes](https://github.com/tendermint/tendermint/releases)
- [Changelog](https://github.com/tendermint/tendermint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tendermint/tendermint/compare/v0.34.0...v0.34.1)

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

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

* x/evidence doc general audit & cleanup (#8277)

* Update x/evidence doc

* Update x/evidence spec

* Create docs for signing & broadcasting txs (#8257)

* Add structure of tx page

* WIP

* Finish CLI

* Add go examples

* Add golang examples

* Tweaks

* Update links

* Update docs/run-node/interact-node.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Update docs/run-node/interact-node.md

Co-authored-by: Marie Gauthier <marie.gauthier63@gmail.com>

* Put code snippets in functiosn

* Put snippet in functions

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

* Update tendermint to v0.34.1 (#8281)

* update tendermint to v0.34.1

* update changelog

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

* update changelog for rc7 (#8275)

* Stargate Release PR -- v0.40.0 Final (#8284)

* v0.40.0 final changelog & release notes

* Trigger Build

* Backport/reproducible builds (#8381)

* fix reproducible builds (#8300)
* fix library file path (#8301)

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

* fix GET /upgrade/current query (#8280) (#8372)

From: #8282

Co-authored-by: MD Aleem <72057206+aleem1314@users.noreply.github.com>
Co-authored-by: SaReN <sahithnarahari@gmail.com>

* build(deps): bump github.com/armon/go-metrics from 0.3.5 to 0.3.6 (#8273) (#8373)

From: #8273

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

* fix zero time checks (#8282) (#8374)

From #8282

Co-authored-by: Robert Zaremba <robert@zaremba.ch>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* build(deps): bump github.com/gogo/protobuf from 1.3.1 to 1.3.2 (#8291) (#8376)

From #8291

Bumps [github.com/gogo/protobuf](https://github.com/gogo/protobuf) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/gogo/protobuf/releases)
- [Commits](https://github.com/gogo/protobuf/compare/v1.3.1...v1.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fix sequence value in auth sign signature only (#8287) (#8383)

From: #8287

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

* fix: wrappedError.Is (#8355) (#8377)

From: #8385

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

* fix: wrappedError.Is (#8355) (#8377)

From: #8385

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

* Update gogo proto deps with v1.3.2 security fixes (#8350) (#8386)

* Update gogo proto deps with v1.3.2 security fixes

* Regenerate proto files

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

* Fix ibc client (#8341) (#8375)

* fix-ibc-client
* add changelog

Co-authored-by: Segue <huoda.china@163.com>

* fix proto generation (#8361) (#8389)

* fix proto generation

* merge grpc_gateway into gocosmos_out

* change env variable names

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

* Add missing unpack interfaces functions to IBC (#8359) (#8379)

* add missing UnpackInterfaces functions

* fix build

* add tests cc @fedekunze

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

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

* backport: client denom metadata queries (#8364)

From: #8317

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

* Backport/changelog (#8390)

* Update changelog for 0.40.1

* add tendermint

* Add release notes

* add known issues

* update

* update release notes

* fix a few things in CHANGELOG

* Update RELEASE_NOTES.md

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

* update to tendermint v0.34.3 (#8388) (#8391)

* update to tendermint v0.34.3

* go.mod replace with grpc v1.33.2

Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Alessio Treglia <alessio@tendermint.com>

* stargate: balance and metadata validation (#8421)

From: #8417

* backport #8418 (#8424)

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

* Reorder IBC channel callbacks (#8441)

From: #8404

Thanks: @fedekunze @colin-axner

* ibc: MsgTransfer amino JSON, commits from @fedekunze (#8440)

From: #8437

Closes: #8266

Thanks: @fedekunze

* chore: update RELEASE_NOTES.md (#8443)

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

* backport #8479 (#8486)

* snapshots: fix flaky tests [o.41-cherry-pick] (#8484)

From: #8475

* Fix keyring import from older versions. (#8489)

From: #8436

Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com>

* Add packet_connection attribute to packet lifecycle methods (#8483)

From #8458

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

* fix: tendermint subcommands should not create missing files (#8493)

From: #8481

Thanks: @michaelfig for the patch.

* bank: don't ignore errors returned by Balance.GetAddress() (#8534)

Closes: #8530
From: #8531
Thanks: @odeke-em for pointing this out.

* add cosmovisot to running a node (#8320)

* Update chain-upgrade-guide-040.md (#8326)

Still a problem with `cat` - a tmp_genesis file needs to be created and then moved to the old location

Co-authored-by: Amaury <amaury.martiny@protonmail.com>
Co-authored-by: Cory <cjlevinson@gmail.com>

* docs: Update x/staking spec (#8395)

* Finish updating state

* Add messages

* Update events

* proto-gen

* Update proto/cosmos/staking/v1beta1/staking.proto

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

* progo-gen

* Update Msg with slash

* Rerun proto docs

Co-authored-by: Anil Kumar Kammari <anil@vitwit.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Misc documentation fixes (#8452)

* EndBlock: "beginning" => "end"

* misc fixes

* beginning => end

* fix error in run-node tutorial

* Use correct keyring backend when interacting

* multiply stakes by 1000

* query accounts with the bank submodule, not accounts

* specify key backend for transactions

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

* fixing typo at 'os' backend session (#8477)

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

* Update cosmovisor.md (#8552)

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

* Run pro-gen again

* docs: rest_grpc updates (#8582)

* [backport/v0.41.x] Removed GetValidator caching to fix concurrency error (#8546) (#8583)

* Removed GetValidator caching to fix concurrency error (#8546)

* Removed GetValidator caching to fix concurrency error

* Fixed linting and added CHANGELOG entry

* Moved benchmark test into its own file

* Moved CHANGELOG entry to bug fix

* Update CHANGELOG.md

Co-authored-by: Cory <cjlevinson@gmail.com>

Co-authored-by: Amaury <amaury.martiny@protonmail.com>
Co-authored-by: Cory <cjlevinson@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Fix changelog conflicts

Co-authored-by: Riccardo Montagnin <riccardo.montagnin@gmail.com>
Co-authored-by: Cory <cjlevinson@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* Make gRPC requests go through tendermint Query (#8549) (#8585)

* Make gRPC requests go through tendermint Query

* Remove commented code

* Dry run in InitChain?

* Save type of first run

* Add metadata in repsonse

* Factorize some code

* Fix lint

* Update comments

* Fix md test

* Fix test expected

…
JeancarloBarrios pushed a commit to agoric-labs/cosmos-sdk that referenced this pull request Sep 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A:automerge Automatically merge PR once all prerequisites pass.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants