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

add cli to get denom hash from trace path and base denom #679

Merged
merged 17 commits into from
Jan 10, 2022

Conversation

nir1218
Copy link
Contributor

@nir1218 nir1218 commented Jan 3, 2022

Description

Add a command to the CLI to get a denom hash from a trace path based on issue number 497.
#497
I may need help with some of the items i need to check off below, especially regarding documentation, since this is my first time submitting a PR.
closes: #497


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

Copy link
Contributor

@crodriguezvega crodriguezvega left a comment

Choose a reason for hiding this comment

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

Thanks for submitting this so quick! I think it's looking good!

modules/apps/transfer/client/cli/query.go Show resolved Hide resolved
modules/apps/transfer/client/cli/query.go Outdated Show resolved Hide resolved
modules/apps/transfer/keeper/grpc_query.go Outdated Show resolved Hide resolved
modules/apps/transfer/keeper/keeper.go Outdated Show resolved Hide resolved
modules/apps/transfer/keeper/keeper.go Outdated Show resolved Hide resolved
proto/ibc/applications/transfer/v1/query.proto Outdated Show resolved Hide resolved
@crodriguezvega crodriguezvega changed the title https://github.com/cosmos/ibc-go/issues/497 add cli to get denom hash from trace path and base denom Jan 4, 2022
@codecov-commenter
Copy link

codecov-commenter commented Jan 4, 2022

Codecov Report

Merging #679 (135650e) into main (087bc5d) will increase coverage by 0.01%.
The diff coverage is 85.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #679      +/-   ##
==========================================
+ Coverage   79.62%   79.63%   +0.01%     
==========================================
  Files         145      145              
  Lines       10656    10676      +20     
==========================================
+ Hits         8485     8502      +17     
- Misses       1755     1757       +2     
- Partials      416      417       +1     
Impacted Files Coverage Δ
modules/apps/transfer/keeper/grpc_query.go 78.26% <85.00%> (+2.75%) ⬆️

Copy link
Contributor

@colin-axner colin-axner left a comment

Choose a reason for hiding this comment

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

Woo! Thanks for the contribution! I agree with @crodriguezvega requests. Great work so far!

proto/ibc/applications/transfer/v1/query.proto Outdated Show resolved Hide resolved
modules/apps/transfer/keeper/keeper.go Outdated Show resolved Hide resolved
modules/apps/transfer/keeper/grpc_query.go Outdated Show resolved Hide resolved
req = &types.QueryDenomHashRequest{
Trace: reqTrace.GetFullDenomPath(),
}
suite.chainA.GetSimApp().TransferKeeper.SetDenomTrace(suite.chainA.GetContext(), reqTrace)
Copy link
Contributor

Choose a reason for hiding this comment

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

Ideally the success case doesn't have to perform any functionality. This allows you to be certain the failing cases would normally succeed except in the scenario specified.

I would set the req to a default before calling tc.malleate in the for loop, I'd also set the denom trace in state. Then the case "not found denom trace" would delete the denom trace in state (or set it to a different trace that doesn't exist in state)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@colin-axner @codecov-commenter I need further clarification on this point. I mistakenly put the request block before and after setting the state. If I removed the duplicate before setting the state would that be good; there is no significant difference between the test method I wrote and the one for GetDemonTrace.

Copy link
Contributor

Choose a reason for hiding this comment

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

Checkout the suggestion I put below. Don't commit that with the github UX because the formatting is probably wrong. But the main difference is adding:

                       req = &types.QueryDenomHashRequest{
					Trace: reqTrace.GetFullDenomPath(),
			}
			suite.chainA.GetSimApp().TransferKeeper.SetDenomTrace(suite.chainA.GetContext(), reqTrace)

in the for loop before tc.malleate()

@crodriguezvega
Copy link
Contributor

crodriguezvega commented Jan 5, 2022

@nir1218, can you also please add an entry in the CHANGELOG.md under the Features section?

@nir1218
Copy link
Contributor Author

nir1218 commented Jan 6, 2022

@crodriguezvega I have added an entry in the CHANGELOG.md under the Features section

Copy link
Contributor

@crodriguezvega crodriguezvega left a comment

Choose a reason for hiding this comment

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

Fantastic work. Thank you so much for this! 👏
From my side I think it looks good, pending on the comment by @colin-axner about the tests.

@nir1218
Copy link
Contributor Author

nir1218 commented Jan 8, 2022

@crodriguezvega What is the next step for this PR to be merged?

@crodriguezvega
Copy link
Contributor

@crodriguezvega What is the next step for this PR to be merged?

I think it's good to go now. Let me double check with @colin-axner tomorrow and if everything is fine in his opinion, then we'll merge it.

@crodriguezvega crodriguezvega merged commit cb9bf5d into cosmos:main Jan 10, 2022
mergify bot pushed a commit that referenced this pull request Jan 11, 2022
* get denom hash from denom trace

* revert .gitignore

* final revert

* ignore history files

* Update modules/apps/transfer/client/cli/query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/keeper.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: colin axnér <[email protected]>

* code review feedback integration

* moved new feature  to unreleased section

* fix duplicate block in success test case

* fix CHANGELOG format

* fix invalid trace path argument error handling

* refactor positive test case code

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit cb9bf5d)

# Conflicts:
#	CHANGELOG.md
#	modules/apps/transfer/types/query.pb.go
mergify bot pushed a commit that referenced this pull request Jan 11, 2022
* get denom hash from denom trace

* revert .gitignore

* final revert

* ignore history files

* Update modules/apps/transfer/client/cli/query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/keeper.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: colin axnér <[email protected]>

* code review feedback integration

* moved new feature  to unreleased section

* fix duplicate block in success test case

* fix CHANGELOG format

* fix invalid trace path argument error handling

* refactor positive test case code

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit cb9bf5d)
crodriguezvega pushed a commit that referenced this pull request Jan 12, 2022
* get denom hash from denom trace

* revert .gitignore

* final revert

* ignore history files

* Update modules/apps/transfer/client/cli/query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/keeper.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: colin axnér <[email protected]>

* code review feedback integration

* moved new feature  to unreleased section

* fix duplicate block in success test case

* fix CHANGELOG format

* fix invalid trace path argument error handling

* refactor positive test case code

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit cb9bf5d)

Co-authored-by: nir1218 <[email protected]>
crodriguezvega added a commit that referenced this pull request Jan 12, 2022
…) (#710)

* add cli to get denom hash from trace path and base denom (#679)

* get denom hash from denom trace

* revert .gitignore

* final revert

* ignore history files

* Update modules/apps/transfer/client/cli/query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/keeper.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: colin axnér <[email protected]>

* code review feedback integration

* moved new feature  to unreleased section

* fix duplicate block in success test case

* fix CHANGELOG format

* fix invalid trace path argument error handling

* refactor positive test case code

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit cb9bf5d)

# Conflicts:
#	CHANGELOG.md
#	modules/apps/transfer/types/query.pb.go

* fix conflicts

Co-authored-by: nir1218 <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
colin-axner added a commit that referenced this pull request Feb 2, 2022
colin-axner added a commit that referenced this pull request Feb 3, 2022
faddat added a commit to notional-labs/ibc-go that referenced this pull request Feb 23, 2022
* Go 1.17 provides a much clearer go.mod file

* tidy

* Go 1.17 cleanup
mergify bot pushed a commit that referenced this pull request Feb 23, 2022
* get denom hash from denom trace

* revert .gitignore

* final revert

* ignore history files

* Update modules/apps/transfer/client/cli/query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/keeper.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: colin axnér <[email protected]>

* code review feedback integration

* moved new feature  to unreleased section

* fix duplicate block in success test case

* fix CHANGELOG format

* fix invalid trace path argument error handling

* refactor positive test case code

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit cb9bf5d)

# Conflicts:
#	CHANGELOG.md
#	modules/apps/transfer/types/query.pb.go
mergify bot pushed a commit that referenced this pull request Feb 23, 2022
* get denom hash from denom trace

* revert .gitignore

* final revert

* ignore history files

* Update modules/apps/transfer/client/cli/query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/keeper.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: colin axnér <[email protected]>

* code review feedback integration

* moved new feature  to unreleased section

* fix duplicate block in success test case

* fix CHANGELOG format

* fix invalid trace path argument error handling

* refactor positive test case code

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit cb9bf5d)

# Conflicts:
#	CHANGELOG.md
#	modules/apps/transfer/types/query.pb.go
crodriguezvega pushed a commit that referenced this pull request Feb 23, 2022
…) (#981)

* add cli to get denom hash from trace path and base denom (#679)

* get denom hash from denom trace

* revert .gitignore

* final revert

* ignore history files

* Update modules/apps/transfer/client/cli/query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/keeper.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: colin axnér <[email protected]>

* code review feedback integration

* moved new feature  to unreleased section

* fix duplicate block in success test case

* fix CHANGELOG format

* fix invalid trace path argument error handling

* refactor positive test case code

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit cb9bf5d)

# Conflicts:
#	CHANGELOG.md
#	modules/apps/transfer/types/query.pb.go

* fix merge conflict

* fix more conflicts

Co-authored-by: nir1218 <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
crodriguezvega pushed a commit that referenced this pull request Feb 23, 2022
…) (#982)

* add cli to get denom hash from trace path and base denom (#679)

* get denom hash from denom trace

* revert .gitignore

* final revert

* ignore history files

* Update modules/apps/transfer/client/cli/query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/keeper.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: colin axnér <[email protected]>

* code review feedback integration

* moved new feature  to unreleased section

* fix duplicate block in success test case

* fix CHANGELOG format

* fix invalid trace path argument error handling

* refactor positive test case code

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit cb9bf5d)

# Conflicts:
#	CHANGELOG.md
#	modules/apps/transfer/types/query.pb.go

* fix merge conflict

* fix more conflicts

Co-authored-by: nir1218 <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
mtsitrin added a commit to dymensionxyz/ibc-go that referenced this pull request May 14, 2023
* Backport commits from main to v3 release branch (#682)

* reorganize channel handshake handler (#647)

* reorganize channel handshake handler

split out channel state changes into its own function.

* readjust 27-interchain-accounts to not rely on state being set before the application callback

* add changelog and migration doc entry

* Update modules/core/04-channel/keeper/handshake.go

* docs: ICA Overview (#626)

* docs: ica overview

* fix: ordering

* add spacing

* fix: spacing

* fix: remove bulletpoints

* fix: wording

* update go mod for security vulnerabilities (#655)

* update go mod for security vulnerabilities

* update package-lock.json

* update vue dependency (#662)

* bump glob-parent version in json package (#663)

* build(deps): bump actions/setup-go from 2.1.4 to 2.1.5 (#656)

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.1.4 to 2.1.5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2.1.4...v2.1.5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: colin axnér <[email protected]>

* docs: begin removal of internal "spec" directories (#634)

* begin removal of spec docs within core ibc

* remove broken link

* Apply suggestions from code review

Co-authored-by: Damian Nolan <[email protected]>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <[email protected]>

Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* Modify `OnChanOpenTry` application callback to perform app version negotitation (#646)

* remove NegotiateAppVersion and AppVersion gRPC (#643)

The NegotiateAppVersion callback has been removed from the IBC Application interface.
The gRPC AppVersion has been removed.
The app version negoitation will be handled by applications by returning the version in OnChanOpenTry.

* Modify `OnChanOpenTry` to return application version (#650)

* modify OnChanOpenTry to return negotiated version

modify IBCModule interface function OnChanOpenTry to return the negotiated app version. Tests have not been updated

* fix ibc_module_test.go tests

* fix tests

* Apply suggestions from code review

* add handshake test case

* add CHANGELOG and migration docs

* update documentation

* fix broken link

* fix broken link (#664)

* chore: update make build-docs, add docs build checker (#667)

* update Makefile, add docs build checker

* Update .github/workflows/check-docs.yml

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

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

* register ICA query server, fix panics in params query cli (#666)

Register the controller and host query servers to a chain.
Returns an error upon cli params query failure instead of panicing.

* update of roadmap with latest release (#653)

* update of roadmap with latest release and changed the way release versions are encoded

* fixed typo

Co-authored-by: Carlos Rodriguez <[email protected]>

* build(deps): bump actions/checkout from 2.3.1 to 2.4.0 (#672)

Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.1 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.1...v2.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* allow ics20 to connect to middleware (#675)

* allow ics20 to connect to middleware

Creates ics4Wrapper which allows middleware applications to only implement SendPacket to connect ics20 as an application in its middleware stack

* add changelog and migration doc

* fix migration doc spelling

* fix: register InterchainAccount as x/auth GenesisAccount (#676)

* adding GenesisAccount interface registration for InterchainAccount impl

* updating RegisterInterfaces ica godoc

* enable mergify for backports (#678)

Co-authored-by: Carlos Rodriguez <[email protected]>

Co-authored-by: Sean King <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* improve 04-channel logging (#692) (#698)

## Description

closes: #674

---

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.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 087bc5d77a194f8ea0010942017060357fb62f12)

Co-authored-by: colin axnér <[email protected]>

* add cli to get denom hash from trace path and base denom (#679) (#711)

* get denom hash from denom trace

* revert .gitignore

* final revert

* ignore history files

* Update modules/apps/transfer/client/cli/query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/keeper.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: colin axnér <[email protected]>

* code review feedback integration

* moved new feature  to unreleased section

* fix duplicate block in success test case

* fix CHANGELOG format

* fix invalid trace path argument error handling

* refactor positive test case code

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit cb9bf5dbb283e5e0eb0c29ee658968019bf58f49)

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

* removing unused proto imports in interchain-accounts (#718) (#720)

(cherry picked from commit 0a7ad9b117596ac4b6ce6d597d124de0f2bc4eae)

Co-authored-by: Damian Nolan <[email protected]>

* fix: support custom chain IDs for testing (#774) (#797)

* Backport commits from main to v3 release branch (#682)

* reorganize channel handshake handler (#647)

* reorganize channel handshake handler

split out channel state changes into its own function.

* readjust 27-interchain-accounts to not rely on state being set before the application callback

* add changelog and migration doc entry

* Update modules/core/04-channel/keeper/handshake.go

* docs: ICA Overview (#626)

* docs: ica overview

* fix: ordering

* add spacing

* fix: spacing

* fix: remove bulletpoints

* fix: wording

* update go mod for security vulnerabilities (#655)

* update go mod for security vulnerabilities

* update package-lock.json

* update vue dependency (#662)

* bump glob-parent version in json package (#663)

* build(deps): bump actions/setup-go from 2.1.4 to 2.1.5 (#656)

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.1.4 to 2.1.5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2.1.4...v2.1.5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: colin axnér <[email protected]>

* docs: begin removal of internal "spec" directories (#634)

* begin removal of spec docs within core ibc

* remove broken link

* Apply suggestions from code review

Co-authored-by: Damian Nolan <[email protected]>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <[email protected]>

Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* Modify `OnChanOpenTry` application callback to perform app version negotitation (#646)

* remove NegotiateAppVersion and AppVersion gRPC (#643)

The NegotiateAppVersion callback has been removed from the IBC Application interface.
The gRPC AppVersion has been removed.
The app version negoitation will be handled by applications by returning the version in OnChanOpenTry.

* Modify `OnChanOpenTry` to return application version (#650)

* modify OnChanOpenTry to return negotiated version

modify IBCModule interface function OnChanOpenTry to return the negotiated app version. Tests have not been updated

* fix ibc_module_test.go tests

* fix tests

* Apply suggestions from code review

* add handshake test case

* add CHANGELOG and migration docs

* update documentation

* fix broken link

* fix broken link (#664)

* chore: update make build-docs, add docs build checker (#667)

* update Makefile, add docs build checker

* Update .github/workflows/check-docs.yml

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

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

* register ICA query server, fix panics in params query cli (#666)

Register the controller and host query servers to a chain.
Returns an error upon cli params query failure instead of panicing.

* update of roadmap with latest release (#653)

* update of roadmap with latest release and changed the way release versions are encoded

* fixed typo

Co-authored-by: Carlos Rodriguez <[email protected]>

* build(deps): bump actions/checkout from 2.3.1 to 2.4.0 (#672)

Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.1 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.1...v2.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* allow ics20 to connect to middleware (#675)

* allow ics20 to connect to middleware

Creates ics4Wrapper which allows middleware applications to only implement SendPacket to connect ics20 as an application in its middleware stack

* add changelog and migration doc

* fix migration doc spelling

* fix: register InterchainAccount as x/auth GenesisAccount (#676)

* adding GenesisAccount interface registration for InterchainAccount impl

* updating RegisterInterfaces ica godoc

* enable mergify for backports (#678)

Co-authored-by: Carlos Rodriguez <[email protected]>

Co-authored-by: Sean King <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* fixes evmos tests

* cleanup

* changelog and cleanup

* pr suggestions. bump chainid

Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Federico Kunze Küllmer <[email protected]>
(cherry picked from commit 8dfbc9cae2cf1f6811557feec4aa475801b64bfa)

Co-authored-by: Ramiro Carlucho <[email protected]>

* Defensive checks for active channel (#785)

* feat: Adding check onChanOpenAck to check for active, open channel

* Add defensive check of active channel to OnChanOpenTry

* fix: use counterparty.PortId in active channel check

* update: change base error for active channel check

* comment: add comment explaining overwrite of active channel

* fix: change err type

* fix: updating to use counterparty PortID

* fix: tests

* Update modules/apps/27-interchain-accounts/host/keeper/handshake.go

Co-authored-by: colin axnér <[email protected]>

Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit 25fb89dce05e658631497889a3485fda8f83644c)

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.44.5 to 0.45.0 (#769) (#825)

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.44.5 to 0.45.0.

Closes: #734
Closes: #763

<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/cosmos/cosmos-sdk/releases">github.com/cosmos/cosmos-sdk's releases</a>.</em></p>
<blockquote>
<p>Cosmos SDK v0.45.0 is a logical continuation of the v0.44.* series, but brings a couple of state- and API-breaking changes requested by the community.</p>
<h3>State-Breaking Changes</h3>
<p>There are few important changes in <strong>gas consumption</strong>, which improve the gas economics:</p>
<ul>
<li>We now charge gas in two new places: on <code>.Seek()</code> even if there are no entries, and for the key length (on top of the value length).</li>
<li>When block gas limit is exceeded, we consume the maximum gas possible (to charge for the performed computation). We also fixed the bug when the last transaction in a block exceeds the block gas limit, it returns an error result, but the tx is actually committed successfully.</li>
</ul>
<p>Finally, a small improvement in gov, we increased the maximum proposal description size from 5k characters to 10k characters.</p>
<h3>API-Breaking Changes</h3>
<ul>
<li>The <code>BankKeeper</code> interface has a new <code>HasSupply</code> method to ensure that input denom actually exists on chain.</li>
<li>The <code>CommitMultiStore</code> interface contains a new <code>SetIAVLCacheSize</code> method for a configurable IAVL cache size.</li>
<li><code>AuthKeeper</code> interface in <code>x/auth</code> now includes a function <code>HasAccount</code>.</li>
<li>Moved <code>TestMnemonic</code> from <code>testutil</code> package to <code>testdata</code>.</li>
</ul>
<p>Finally, when using the <code>SetOrder*</code> functions in simapp, e.g. <code>SetOrderBeginBlocker</code>, we now require that all modules be present in the function arguments, or else the node panics at startup. We also added a new <code>SetOrderMigration</code> function to set the order of running module migrations.</p>
<h3>Improvements</h3>
<ul>
<li>Speedup improvements (e.g. speedup iterator creation after delete heavy workloads, lower allocations for <code>Coins.String()</code>, reduce RAM/CPU usage inside store/cachekv's <code>Store.Write</code>) are included in this release.</li>
<li>Upgrade Rosetta to v0.7.0 .</li>
<li>Support in-place migration ordering.</li>
<li>Copied and updated <code>server.GenerateCoinKey</code> and <code>server.GenerateServerCoinKey</code> functions to the <code>testutil</code> package. These functions in <code>server</code> package are marked deprecated and will be removed in the next release. In the <code>testutil.GenerateServerCoinKey</code> version we  added support for custom mnemonics in in-process testing network.</li>
</ul>
<p>See our <a href="https://github.com/cosmos/cosmos-sdk/blob/HEAD/CHANGELOG.md">CHANGELOG</a> for the exhaustive list of all changes, or a full <a href="https://github.com/cosmos/cosmos-sdk/compare/v0.44.5...v0.45.0">commit diff</a>.</p>
<h2>Cosmos SDK v0.45.0 Release Candidate 1</h2>
<h2>Release Notes</h2>
<p>Cosmos SDK v0.45.0 is a logical continuation of the v0.44.* series, but brings a couple of state- and API-breaking changes requested by the community.</p>
<h3>State-Breaking Changes</h3>
<p>There are few important changes in <strong>gas consumption</strong>, which improve the gas economics:</p>
<ul>
<li>We now charge gas in two new places: on <code>.Seek()</code> even if there are no entries, and for the key length (on top of the value length).</li>
<li>When block gas limit is exceeded, we consume the maximum gas possible (to charge for the performed computation). We also fixed the bug when the last transaction in a block exceeds the block gas limit, it returns an error result, but the tx is actually committed successfully.</li>
</ul>
<p>Finally, a small improvement in gov, we increased the maximum proposal description size from 5k characters to 10k characters.</p>
<h3>API-Breaking Changes</h3>
<ul>
<li>The <code>BankKeeper</code> interface has a new <code>HasSupply</code> method to ensure that input denom actually exists on chain.</li>
<li>The <code>CommitMultiStore</code> interface contains a new <code>SetIAVLCacheSize</code> method for a configurable IAVL cache size.</li>
<li><code>AuthKeeper</code> interface in <code>x/auth</code> now includes a function <code>HasAccount</code>.</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/cosmos/cosmos-sdk/blob/v0.45.0/CHANGELOG.md">github.com/cosmos/cosmos-sdk's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.0">v0.45.0</a> - 2022-01-18</h2>
<h3>State Machine Breaking</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10833">#10833</a> fix reported tx gas used when block gas limit exceeded.</li>
<li>(auth) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10536%5D">#10536</a> Enable <code>SetSequence</code> for <code>ModuleAccount</code>.</li>
<li>(store) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10218">#10218</a> Charge gas even when there are no entries while seeking.</li>
<li>(store) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10247">#10247</a> Charge gas for the key length in gas meter.</li>
<li>(x/gov) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10740">#10740</a> Increase maximum proposal description size from 5k characters to 10k characters.</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10814">#10814</a> revert tx when block gas limit exceeded.</li>
</ul>
<h3>API Breaking Changes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10561">#10561</a> The <code>CommitMultiStore</code> interface contains a new <code>SetIAVLCacheSize</code> method</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10922">#10922</a>, [/<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10956">#10956</a>](<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10956">cosmos/cosmos-sdk#10956</a>) Deprecate key <code>server.Generate*</code> functions and move them to <code>testutil</code> and support custom mnemonics in in-process testing network. Moved <code>TestMnemonic</code> from <code>testutil</code> package to <code>testdata</code>.</li>
</ul>
<h3>Features</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10614">#10614</a> Support in-place migration ordering</li>
</ul>
<h3>Improvements</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10486">#10486</a> store/cachekv's <code>Store.Write</code> conservatively
looks up keys, but also uses the <a href="https://bencher.orijtech.com/perfclinic/mapclearing/">map clearing idiom</a>
to reduce the RAM usage, CPU time usage, and garbage collection pressure from clearing maps,
instead of allocating new maps.</li>
<li>(store) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10741">#10741</a> Significantly speedup iterator creation after delete heavy workloads. Significantly improves IBC migration times.</li>
<li>(module) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10711">#10711</a> Panic at startup if the app developer forgot to add modules in the <code>SetOrder{BeginBlocker, EndBlocker, InitGenesis, ExportGenesis}</code> functions. This means that all modules, even those who have empty implementations for those methods, need to be added to <code>SetOrder*</code>.</li>
<li>(types) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10076">#10076</a> Significantly speedup and lower allocations for <code>Coins.String()</code>.</li>
<li>(auth) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10022">#10022</a> <code>AuthKeeper</code> interface in <code>x/auth</code> now includes a function <code>HasAccount</code>.</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10393">#10393</a> Add <code>HasSupply</code> method to bank keeper to ensure that input denom actually exists on chain.</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>(std/codec) [/<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10595">#10595</a>](<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10595">cosmos/cosmos-sdk#10595</a>) Add evidence to std/codec to be able to decode evidence in client interactions.</li>
<li>(types) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/9627">#9627</a> Fix nil pointer panic on <code>NewBigIntFromInt</code>.</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10725">#10725</a> populate <code>ctx.ConsensusParams</code> for begin/end blockers.</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/9829">#9829</a> Fixed Coin denom sorting not being checked during <code>Balance.Validate</code> check. Refactored the Validation logic to use <code>Coins.Validate</code> for <code>Balance.Coins</code></li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10061">#10061</a> and <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10515">#10515</a> Ensure that <code>LegacyAminoPubKey</code> struct correctly unmarshals from JSON</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/b6c77e6c819f8a51166649eaef125d1bfb276f04"><code>b6c77e6</code></a> chore: release v0.45 changelog (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10964">#10964</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/8236b26419cda96a5a1491678b227c38e4f533ba"><code>8236b26</code></a> chore: move server.GenerateCoinKey and server.GenerateSaveCoinKey to testutil...</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/90ffbce4107e29969314a36ac98b750f29cdce1e"><code>90ffbce</code></a> feat: support custom mnemonics in in-process testing network (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10922">#10922</a>...</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/c1c1ad7425292924b77dc632370815088b2d3c58"><code>c1c1ad7</code></a> chore: v0.45.0 Release Notes (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10760">#10760</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/ba1e0990d41da85c196f1a2809ab97db2d2ed1ab"><code>ba1e099</code></a> fix: revert tx when block gas limit exceeded (backport: <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10770">#10770</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10814">#10814</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/a5c60b708f7975701696a98577a93c9776dbb3f2"><code>a5c60b7</code></a> feat!: x/gov: raise max description length to 10k chars (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10740">#10740</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/1">#1</a>...</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/05656a2f53040f84ccf1d49dcbbc548a1e56472f"><code>05656a2</code></a> fix: use full gas on overflow (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10897">#10897</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10912">#10912</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/89323385043cd39283a57644e7c59c4ee4b90492"><code>8932338</code></a> feat: support in-place migration ordering (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10614">#10614</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10890">#10890</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/6d44d7193234113aa550c4f5fbb602f7346fa7b3"><code>6d44d71</code></a> fix!: tx result don't report block gas used as tx gas used (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10833">#10833</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/71a168d1d4c2b6ccde8c6c7bd7b9e17908b1b5b3"><code>71a168d</code></a> fix: recreate compat field, of null pubkeys in multisig (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10515">#10515</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/1">#1</a>...</li>
<li>Additional commits viewable in <a href="https://github.com/cosmos/cosmos-sdk/compare/v0.44.5...v0.45.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/cosmos/cosmos-sdk&package-manager=go_modules&previous-version=0.44.5&new-version=0.45.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

(cherry picked from commit f7bb1427bf5d8c7a52b9db43efd16657112936df)

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

* rename portid and port prefix for interchain accounts submodules (#779) (#826)

## Description

I decided to remove the `-` from the port ID (`ica-host`) and prefix (`ica-controller`) and just make it one word (`icahost` and `icacontroller`), just in case we decide to do some parsing based on a `-` delimiter in the future.

closes: #778

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit 8cba0ebd4f6a6ff2017433950dce3a29b8394882)

Co-authored-by: Carlos Rodriguez <[email protected]>

* test: adding ica test for multiple controllers, single host (#816) (#829)

* adding test for multiple controllers, single host

* updating inline comments

* updating todos with correct ports

* reorder to use pathCToB.Endpoint for connection IDs

(cherry picked from commit 83c3e4160ba0399e04397ddf09f42a73259d7f56)

Co-authored-by: Damian Nolan <[email protected]>

* the ica_auth page was renamed to auth-modules (#792) (#830)

## Description

This [link](https://ibc.cosmos.network/main/app_modules/interchain-accounts/ica_auth.html) was not working because the page was renamed but not removed from the vuepress config.

<img width="877" alt="image" src="https://user-images.githubusercontent.com/6876468/151064563-d4a605db-fd0a-420b-8243-910233f7fea0.png">

closes: #XXXX

---

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.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 142056fce088a7893b30edaf34a576ff73b6f5b2)

Co-authored-by: Carlos Rodriguez <[email protected]>

* chore: replace error string in transfer acks with const (#818) (#831)

* fix: adding ack error string const for transfer

* updating godoc

* adding warning note to godoc in 04-channel

* updating to include abci error code, and copy tests from ica

* adding changelog entry

(cherry picked from commit ac46ac06084f586a460b092b2b293a321b7c43d6)

Co-authored-by: Damian Nolan <[email protected]>

* refactor: active channel key format (#823) (#832)

## Description

Updating the store key format for active channels based on @AdityaSripal comment.

closes: [Adityas comment](https://github.com/cosmos/ibc-go/pull/814#pullrequestreview-870330601)

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit 4c28c1ca7503a9c0603202560097fadce70d4cf2)

Co-authored-by: Sean King <[email protected]>

* refactor: RegisterInterchainAccount (#814) (#835)

## Description

closes: #802

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit fed6a86e607aa8e0f5c7ad6cb685476f78dde87f)

Co-authored-by: Sean King <[email protected]>

* refactor: reformat KeyOwnerAccount (#833) (#836)

## Description

Reformats KeyOwnerAccount store key

closes: [Damians Comment](https://github.com/cosmos/ibc-go/pull/823#pullrequestreview-870409614)

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit bbcc09c3dfa828f123191ade39d373b432483d6b)

Co-authored-by: Sean King <[email protected]>

* chore: adding encoding and txType fields to metadata (#824) (#837)

* adding encoding and txTypes fields to ica metadata

* adapting metadata and validation to support encoding and txTypes fields. updating test cases

* renaming field to tx_type

* fixing failing tests from merge

(cherry picked from commit 5ae8e3538e5d9c9fb1f46408482f5cb14ec806f7)

Co-authored-by: Damian Nolan <[email protected]>

* refactor: include transaction response in ics27 channel acknowledgement (#811) (#838)

## Description

ref: #701

---

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.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 6c48f7e57a53504790b4759f05670fd46ce37b00)

Co-authored-by: colin axnér <[email protected]>

* test: ensure ics27 optimistic packet sends are disallowed (#842) (#843)

(cherry picked from commit c7ea0e850e927d497bbe1fff6ff97d27fbc190d5)

Co-authored-by: Damian Nolan <[email protected]>

* ADR 003: ICS27 Ack format (#812) (#844)

## Description

closes: #701

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit 1021617e41007e3f68b7ad7ab4dcfc9a8cbb9658)

Co-authored-by: colin axnér <[email protected]>

* docs: add security model to ics27 docs (#841) (#845)

## Description

Wording could maybe be improved, but I think the content is good enough

closes: #705

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit ec36c75e1a84abafedc797e8a60823ba7c4e762f)

Co-authored-by: colin axnér <[email protected]>

* test: Register using same owner address on multiple connections (#846) (#849)

(cherry picked from commit f6a9279936c3571268c39e4e09faa236ed3e82b9)

Co-authored-by: Sean King <[email protected]>

* Move emissions to functions (#783) (#855)

* WIP move emissions

* refactor events emission

* update typo and code clean up following review

* Update modules/core/03-connection/keeper/events.go

Co-authored-by: colin axnér <[email protected]>

* Update modules/core/03-connection/keeper/events.go

Co-authored-by: colin axnér <[email protected]>

* refactore based on code review

Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit 81b619d7436712437ef3ccb6b32111d437db58c6)

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

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.0 to 0.45.1 (#851) (#861)

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.45.0 to 0.45.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/cosmos/cosmos-sdk/releases">github.com/cosmos/cosmos-sdk's releases</a>.</em></p>
<blockquote>
<h2>v0.45.1</h2>
<p>This release introduces bug fixes and improvements on the Cosmos SDK v0.45 series:</p>
<h3>Highlights</h3>
<ul>
<li>Added the missing <code>iavl-cache-size</code> config parameter parsing to set a desired IAVL cache size. The default value is way to small for big chains, and causes OOM failures.</li>
<li>Added a check in <code>x/upgrade</code> module's <code>BeginBlock</code> preventing accidental binary downgrades</li>
<li>Fix: the <code>/cosmos/tx/v1beta1/txs/{hash}</code> endpoint returns correct return code (404) for a non existing tx.</li>
</ul>
<p>See the <a href="https://github.com/cosmos/cosmos-sdk/blob/v0.45.1/CHANGELOG.md">Cosmos SDK v0.45.1  Changelog</a> for the exhaustive list of all changes and check other fixes in 0.45.x release series.</p>
<p><strong>Full Diff</strong>: <a href="https://github.com/cosmos/cosmos-sdk/compare/v0.45.0...v0.45.1">https://github.com/cosmos/cosmos-sdk/compare/v0.45.0...v0.45.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/cosmos/cosmos-sdk/blob/v0.45.1/CHANGELOG.md">github.com/cosmos/cosmos-sdk's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.1">v0.45.1</a> - 2022-02-03</h2>
<h3>Bug Fixes</h3>
<ul>
<li>(grpc) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10992">#10985</a> The <code>/cosmos/tx/v1beta1/txs/{hash}</code> endpoint returns a 404 when a tx does not exist.</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10990">#10990</a> Fixes missing <code>iavl-cache-size</code> config parsing in <code>GetConfig</code> method.</li>
</ul>
<h3>Improvements</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10407">#10407</a> Added validation to <code>x/upgrade</code> module's <code>BeginBlock</code> to check accidental binary downgrades</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10768">#10768</a> Extra logging in in-place store migrations.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/2646b474c7beb0c93d4fafd395ef345f41afc251"><code>2646b47</code></a> chore: 0.45.1 Release Notes (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11109">#11109</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/f69c82fa7cb2381b0f220be7bcb7f56401e9fd6e"><code>f69c82f</code></a> feat: extra logging in in-place store migrations (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10768">#10768</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11107">#11107</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/0c9bbbc68fe5eb08aa39c081a9ec0557ea109a43"><code>0c9bbbc</code></a> fix: add iavl-cache-size config parsing to GetConfig (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10990">#10990</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11058">#11058</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/985d221518690c5ff448fab1c61d5d6e2f43eebd"><code>985d221</code></a> feat!: add protection against accidental downgrades (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10407">#10407</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11026">#11026</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/dfd47f5b449f558a855da284a9a7eabbfbad435d"><code>dfd47f5</code></a> chore: update 0.45 migration and support notes (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10973">#10973</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10979">#10979</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/7ecf4d4ed4b63f9512806d6c0a0e896a1afba02c"><code>7ecf4d4</code></a> fix: return 404 on non-existing tx (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10992">#10992</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11014">#11014</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/ced57ea5de0e28323adb9c8cddba960b3d515100"><code>ced57ea</code></a> docs: guidelines for ValidateBasic (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10983">#10983</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11001">#11001</a>)</li>
<li>See full diff in <a href="https://github.com/cosmos/cosmos-sdk/compare/v0.45.0...v0.45.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/cosmos/cosmos-sdk&package-manager=go_modules&previous-version=0.45.0&new-version=0.45.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

(cherry picked from commit c378ff3b9e637dbae171d2c5129d966b468a2305)

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

* Added ChannelId to MsgChannelOpenInitResponse (#848) (#856)

## Description
added ChannelId to MsgChannelOpenInitResponse
this is needed for distribution within interchain security

Also my go imports didn't like go metrics so I had to add the go-metrics alias

Supersedes: https://github.com/cosmos/ibc-go/pull/839

Quote from @AdityaSripal
Context for the other folks reviewing: This is a problem in general not just for CCV. But currently, in CCV we want to initiate a transfer channel and know what the channelID is.

So if we want to do this as part of third-party module logic, it's currently impossible with the codebase. Since, if you try to use channelKeeper directly you will need portCapability; and a third party module will not have transfer's portCapability.

So we have to use the MsgServer, but the response doesn't include the channelID which we need since then we want to send transfer packets over the established channel.

So this is going to be an issue for any third-party module that wants to initialize a channel of a different IBC application and then use that channel to send packets over

---

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.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 7b7eb9fa2b94f97600c2f8f19b93503d40e72588)

Co-authored-by: frog power 4000 <[email protected]>

* fix: ica host OnRecvPacket error acknowledgement (#885) (#886)

(cherry picked from commit 31487bcd9b5817e56863d595a2b8cf2ddc7051ef)

Co-authored-by: Damian Nolan <[email protected]>

* chore: add defensive check to ensure metadata does not change when reopening an active channel (#847) (#887)

## Description

closes: #795

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit 482b7abb097488b3931637e43fa5a958e3af5e07)

Co-authored-by: colin axnér <[email protected]>

* bug: use custom ante handler to reject redundant transactions in simapp (#884) (#896)

* add custom ante handler

* add godoc and changelog entry

Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit d5e2ba5c3dbf5f51134f3cceefaa9c96b4d608d1)

Co-authored-by: Carlos Rodriguez <[email protected]>

* refactor: allow the mock module to be used multiple times as base ibc application in middleware stack (backport #892) (#899)

* refactor: allow the mock module to be used multiple times as base ibc application in middleware stack (#892)

## Description

Currently the `AppModule` assumes a single scoped keeper. This doesn't allow the mock module to be used as a base application for different middleware stack (ica stack, fee stack, etc)

I broke the API because I think it is cleaner. If we want this to be non API breaking, I can try to readjust

ref: #891

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit 8f62a47a28c9190a8e54782fdfa2a45b085a7b4a)

# Conflicts:
#	CHANGELOG.md

* fix conflicts

Co-authored-by: colin axnér <[email protected]>

* imp: support custom keys for testing (#893) (#902)

* chore: add ParsePacketFromEvents testing helper function (#904) (#919)

## Description

ref: #891

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit c27d5b5f26b55d07489cc02fd0b8ce9fa8218e9a)

Co-authored-by: colin axnér <[email protected]>

* fix: correctly claim capability for mock module, handle genesis exports (#921) (#922)

## Description

This contains two fixes:
- the capability being claimed by the scoped keeper was incorrect (mock.ModuleName -> port ID)
- the mock module wasn't accounting for non empty genesis state in capabilities (after genesis export, capability will create the bound ports so rebinding doesn't need to happen)

closes: #XXXX

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit afa2d904a1e47054d8013100bd97adde8dbd2a63)

Co-authored-by: colin axnér <[email protected]>

* docs: update migration docs for upgrade proposal in relation to ICS27 (#920) (#923)

## Description

closes: #XXXX

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit d31f92d9bf709f5550b75db5c70a3b44314d9781)

Co-authored-by: colin axnér <[email protected]>

* chore(ica): add trail of bits audit report (#903) (#944)

* chore(ica): add trail of bits audit report

* relocate the audit report for ICA

Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit f442721c7ea7ce69a4aadaf24808b2b250d89628)

Co-authored-by: Carlos Rodriguez <[email protected]>

* refactor: WriteAcknowledgement API (backport #882) (#943)

* refactor: WriteAcknowledgement API (#882)

* refactor: WriteAcknowledgement takes exported.Acknowledgement instead of bytes

* fix: adding check for empty byte string

* chore: update changelog

* fixing test case + adding migration docs

* testing: Adding MockEmptyAcknowledgement to testing library

* docs: fix version

* test: add check for ack is nil

(cherry picked from commit acbc9b61d10bf892528a392595782ac17aeeca30)

# Conflicts:
#	CHANGELOG.md

* fix changelog merge conflict

* backport migration docs

Co-authored-by: Sean King <[email protected]>
Co-authored-by: Colin Axnér <[email protected]>

* add changelog entry for bump of SDK

* testing: adding multiple sender accounts for testing purposes (#935) (#959)

* testing: adding multiple sender accounts for testing puproses

* fix genesis setup (#936)

* Update testing/chain.go

Co-authored-by: colin axnér <[email protected]>

* refactor: code hygiene

* Update testing/chain.go

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

* fix: setting totalySupply to empty

* nit: CamelCase not UPPERCASE

Co-authored-by: Aditya <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit 20dd5cacc4cf983b5628b39908b59a90a4171e95)

Co-authored-by: Sean King <[email protected]>

* fix: classify client states without consensus states as expired (#941) (#969)

## Description

closes: #850

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit d48f576a0b2fe752790339f9e6f99b99d9fe2486)

Co-authored-by: Tim Lind <[email protected]>

* Create test chain with multiple validators (#942) (#960)

* testing: adding multiple sender accounts for testing puproses

* fix genesis setup (#936)

* Update testing/chain.go

Co-authored-by: colin axnér <[email protected]>

* refactor: code hygiene

* Update testing/chain.go

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

* multi validator commit taken from @saione

* add function to pass custom valset

* add changelog

Co-authored-by: Sean King <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit 98f4d3af3d9ea8f345c03031deec3162d21d5c45)

# Conflicts:
#	testing/chain.go

Co-authored-by: …
mtsitrin added a commit to dymensionxyz/ibc-go that referenced this pull request Jun 19, 2023
* Backport commits from main to v3 release branch (#682)

* reorganize channel handshake handler (#647)

* reorganize channel handshake handler

split out channel state changes into its own function.

* readjust 27-interchain-accounts to not rely on state being set before the application callback

* add changelog and migration doc entry

* Update modules/core/04-channel/keeper/handshake.go

* docs: ICA Overview (#626)

* docs: ica overview

* fix: ordering

* add spacing

* fix: spacing

* fix: remove bulletpoints

* fix: wording

* update go mod for security vulnerabilities (#655)

* update go mod for security vulnerabilities

* update package-lock.json

* update vue dependency (#662)

* bump glob-parent version in json package (#663)

* build(deps): bump actions/setup-go from 2.1.4 to 2.1.5 (#656)

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.1.4 to 2.1.5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2.1.4...v2.1.5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: colin axnér <[email protected]>

* docs: begin removal of internal "spec" directories (#634)

* begin removal of spec docs within core ibc

* remove broken link

* Apply suggestions from code review

Co-authored-by: Damian Nolan <[email protected]>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <[email protected]>

Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* Modify `OnChanOpenTry` application callback to perform app version negotitation (#646)

* remove NegotiateAppVersion and AppVersion gRPC (#643)

The NegotiateAppVersion callback has been removed from the IBC Application interface.
The gRPC AppVersion has been removed.
The app version negoitation will be handled by applications by returning the version in OnChanOpenTry.

* Modify `OnChanOpenTry` to return application version (#650)

* modify OnChanOpenTry to return negotiated version

modify IBCModule interface function OnChanOpenTry to return the negotiated app version. Tests have not been updated

* fix ibc_module_test.go tests

* fix tests

* Apply suggestions from code review

* add handshake test case

* add CHANGELOG and migration docs

* update documentation

* fix broken link

* fix broken link (#664)

* chore: update make build-docs, add docs build checker (#667)

* update Makefile, add docs build checker

* Update .github/workflows/check-docs.yml

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

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

* register ICA query server, fix panics in params query cli (#666)

Register the controller and host query servers to a chain.
Returns an error upon cli params query failure instead of panicing.

* update of roadmap with latest release (#653)

* update of roadmap with latest release and changed the way release versions are encoded

* fixed typo

Co-authored-by: Carlos Rodriguez <[email protected]>

* build(deps): bump actions/checkout from 2.3.1 to 2.4.0 (#672)

Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.1 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.1...v2.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* allow ics20 to connect to middleware (#675)

* allow ics20 to connect to middleware

Creates ics4Wrapper which allows middleware applications to only implement SendPacket to connect ics20 as an application in its middleware stack

* add changelog and migration doc

* fix migration doc spelling

* fix: register InterchainAccount as x/auth GenesisAccount (#676)

* adding GenesisAccount interface registration for InterchainAccount impl

* updating RegisterInterfaces ica godoc

* enable mergify for backports (#678)

Co-authored-by: Carlos Rodriguez <[email protected]>

Co-authored-by: Sean King <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* improve 04-channel logging (#692) (#698)

closes: #674

---

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.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 087bc5d77a194f8ea0010942017060357fb62f12)

Co-authored-by: colin axnér <[email protected]>

* add cli to get denom hash from trace path and base denom (#679) (#711)

* get denom hash from denom trace

* revert .gitignore

* final revert

* ignore history files

* Update modules/apps/transfer/client/cli/query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/keeper.go

Co-authored-by: Carlos Rodriguez <[email protected]>

* Update modules/apps/transfer/keeper/grpc_query.go

Co-authored-by: colin axnér <[email protected]>

* code review feedback integration

* moved new feature  to unreleased section

* fix duplicate block in success test case

* fix CHANGELOG format

* fix invalid trace path argument error handling

* refactor positive test case code

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit cb9bf5dbb283e5e0eb0c29ee658968019bf58f49)

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

* removing unused proto imports in interchain-accounts (#718) (#720)

(cherry picked from commit 0a7ad9b117596ac4b6ce6d597d124de0f2bc4eae)

Co-authored-by: Damian Nolan <[email protected]>

* fix: support custom chain IDs for testing (#774) (#797)

* Backport commits from main to v3 release branch (#682)

* reorganize channel handshake handler (#647)

* reorganize channel handshake handler

split out channel state changes into its own function.

* readjust 27-interchain-accounts to not rely on state being set before the application callback

* add changelog and migration doc entry

* Update modules/core/04-channel/keeper/handshake.go

* docs: ICA Overview (#626)

* docs: ica overview

* fix: ordering

* add spacing

* fix: spacing

* fix: remove bulletpoints

* fix: wording

* update go mod for security vulnerabilities (#655)

* update go mod for security vulnerabilities

* update package-lock.json

* update vue dependency (#662)

* bump glob-parent version in json package (#663)

* build(deps): bump actions/setup-go from 2.1.4 to 2.1.5 (#656)

Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.1.4 to 2.1.5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2.1.4...v2.1.5)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: colin axnér <[email protected]>

* docs: begin removal of internal "spec" directories (#634)

* begin removal of spec docs within core ibc

* remove broken link

* Apply suggestions from code review

Co-authored-by: Damian Nolan <[email protected]>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <[email protected]>

Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* Modify `OnChanOpenTry` application callback to perform app version negotitation (#646)

* remove NegotiateAppVersion and AppVersion gRPC (#643)

The NegotiateAppVersion callback has been removed from the IBC Application interface.
The gRPC AppVersion has been removed.
The app version negoitation will be handled by applications by returning the version in OnChanOpenTry.

* Modify `OnChanOpenTry` to return application version (#650)

* modify OnChanOpenTry to return negotiated version

modify IBCModule interface function OnChanOpenTry to return the negotiated app version. Tests have not been updated

* fix ibc_module_test.go tests

* fix tests

* Apply suggestions from code review

* add handshake test case

* add CHANGELOG and migration docs

* update documentation

* fix broken link

* fix broken link (#664)

* chore: update make build-docs, add docs build checker (#667)

* update Makefile, add docs build checker

* Update .github/workflows/check-docs.yml

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

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

* register ICA query server, fix panics in params query cli (#666)

Register the controller and host query servers to a chain.
Returns an error upon cli params query failure instead of panicing.

* update of roadmap with latest release (#653)

* update of roadmap with latest release and changed the way release versions are encoded

* fixed typo

Co-authored-by: Carlos Rodriguez <[email protected]>

* build(deps): bump actions/checkout from 2.3.1 to 2.4.0 (#672)

Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.1 to 2.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.1...v2.4.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

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

* allow ics20 to connect to middleware (#675)

* allow ics20 to connect to middleware

Creates ics4Wrapper which allows middleware applications to only implement SendPacket to connect ics20 as an application in its middleware stack

* add changelog and migration doc

* fix migration doc spelling

* fix: register InterchainAccount as x/auth GenesisAccount (#676)

* adding GenesisAccount interface registration for InterchainAccount impl

* updating RegisterInterfaces ica godoc

* enable mergify for backports (#678)

Co-authored-by: Carlos Rodriguez <[email protected]>

Co-authored-by: Sean King <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* fixes evmos tests

* cleanup

* changelog and cleanup

* pr suggestions. bump chainid

Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Federico Kunze Küllmer <[email protected]>
(cherry picked from commit 8dfbc9cae2cf1f6811557feec4aa475801b64bfa)

Co-authored-by: Ramiro Carlucho <[email protected]>

* Defensive checks for active channel (#785)

* feat: Adding check onChanOpenAck to check for active, open channel

* Add defensive check of active channel to OnChanOpenTry

* fix: use counterparty.PortId in active channel check

* update: change base error for active channel check

* comment: add comment explaining overwrite of active channel

* fix: change err type

* fix: updating to use counterparty PortID

* fix: tests

* Update modules/apps/27-interchain-accounts/host/keeper/handshake.go

Co-authored-by: colin axnér <[email protected]>

Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit 25fb89dce05e658631497889a3485fda8f83644c)

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.44.5 to 0.45.0 (#769) (#825)

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.44.5 to 0.45.0.

Closes: #734
Closes: #763

<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/cosmos/cosmos-sdk/releases">github.com/cosmos/cosmos-sdk's releases</a>.</em></p>
<blockquote>
<p>Cosmos SDK v0.45.0 is a logical continuation of the v0.44.* series, but brings a couple of state- and API-breaking changes requested by the community.</p>
<h3>State-Breaking Changes</h3>
<p>There are few important changes in <strong>gas consumption</strong>, which improve the gas economics:</p>
<ul>
<li>We now charge gas in two new places: on <code>.Seek()</code> even if there are no entries, and for the key length (on top of the value length).</li>
<li>When block gas limit is exceeded, we consume the maximum gas possible (to charge for the performed computation). We also fixed the bug when the last transaction in a block exceeds the block gas limit, it returns an error result, but the tx is actually committed successfully.</li>
</ul>
<p>Finally, a small improvement in gov, we increased the maximum proposal description size from 5k characters to 10k characters.</p>
<h3>API-Breaking Changes</h3>
<ul>
<li>The <code>BankKeeper</code> interface has a new <code>HasSupply</code> method to ensure that input denom actually exists on chain.</li>
<li>The <code>CommitMultiStore</code> interface contains a new <code>SetIAVLCacheSize</code> method for a configurable IAVL cache size.</li>
<li><code>AuthKeeper</code> interface in <code>x/auth</code> now includes a function <code>HasAccount</code>.</li>
<li>Moved <code>TestMnemonic</code> from <code>testutil</code> package to <code>testdata</code>.</li>
</ul>
<p>Finally, when using the <code>SetOrder*</code> functions in simapp, e.g. <code>SetOrderBeginBlocker</code>, we now require that all modules be present in the function arguments, or else the node panics at startup. We also added a new <code>SetOrderMigration</code> function to set the order of running module migrations.</p>
<h3>Improvements</h3>
<ul>
<li>Speedup improvements (e.g. speedup iterator creation after delete heavy workloads, lower allocations for <code>Coins.String()</code>, reduce RAM/CPU usage inside store/cachekv's <code>Store.Write</code>) are included in this release.</li>
<li>Upgrade Rosetta to v0.7.0 .</li>
<li>Support in-place migration ordering.</li>
<li>Copied and updated <code>server.GenerateCoinKey</code> and <code>server.GenerateServerCoinKey</code> functions to the <code>testutil</code> package. These functions in <code>server</code> package are marked deprecated and will be removed in the next release. In the <code>testutil.GenerateServerCoinKey</code> version we  added support for custom mnemonics in in-process testing network.</li>
</ul>
<p>See our <a href="https://github.com/cosmos/cosmos-sdk/blob/HEAD/CHANGELOG.md">CHANGELOG</a> for the exhaustive list of all changes, or a full <a href="https://github.com/cosmos/cosmos-sdk/compare/v0.44.5...v0.45.0">commit diff</a>.</p>
<h2>Cosmos SDK v0.45.0 Release Candidate 1</h2>
<h2>Release Notes</h2>
<p>Cosmos SDK v0.45.0 is a logical continuation of the v0.44.* series, but brings a couple of state- and API-breaking changes requested by the community.</p>
<h3>State-Breaking Changes</h3>
<p>There are few important changes in <strong>gas consumption</strong>, which improve the gas economics:</p>
<ul>
<li>We now charge gas in two new places: on <code>.Seek()</code> even if there are no entries, and for the key length (on top of the value length).</li>
<li>When block gas limit is exceeded, we consume the maximum gas possible (to charge for the performed computation). We also fixed the bug when the last transaction in a block exceeds the block gas limit, it returns an error result, but the tx is actually committed successfully.</li>
</ul>
<p>Finally, a small improvement in gov, we increased the maximum proposal description size from 5k characters to 10k characters.</p>
<h3>API-Breaking Changes</h3>
<ul>
<li>The <code>BankKeeper</code> interface has a new <code>HasSupply</code> method to ensure that input denom actually exists on chain.</li>
<li>The <code>CommitMultiStore</code> interface contains a new <code>SetIAVLCacheSize</code> method for a configurable IAVL cache size.</li>
<li><code>AuthKeeper</code> interface in <code>x/auth</code> now includes a function <code>HasAccount</code>.</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/cosmos/cosmos-sdk/blob/v0.45.0/CHANGELOG.md">github.com/cosmos/cosmos-sdk's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.0">v0.45.0</a> - 2022-01-18</h2>
<h3>State Machine Breaking</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10833">#10833</a> fix reported tx gas used when block gas limit exceeded.</li>
<li>(auth) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10536%5D">#10536</a> Enable <code>SetSequence</code> for <code>ModuleAccount</code>.</li>
<li>(store) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10218">#10218</a> Charge gas even when there are no entries while seeking.</li>
<li>(store) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10247">#10247</a> Charge gas for the key length in gas meter.</li>
<li>(x/gov) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10740">#10740</a> Increase maximum proposal description size from 5k characters to 10k characters.</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10814">#10814</a> revert tx when block gas limit exceeded.</li>
</ul>
<h3>API Breaking Changes</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10561">#10561</a> The <code>CommitMultiStore</code> interface contains a new <code>SetIAVLCacheSize</code> method</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10922">#10922</a>, [/<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10956">#10956</a>](<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10956">cosmos/cosmos-sdk#10956</a>) Deprecate key <code>server.Generate*</code> functions and move them to <code>testutil</code> and support custom mnemonics in in-process testing network. Moved <code>TestMnemonic</code> from <code>testutil</code> package to <code>testdata</code>.</li>
</ul>
<h3>Features</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10614">#10614</a> Support in-place migration ordering</li>
</ul>
<h3>Improvements</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10486">#10486</a> store/cachekv's <code>Store.Write</code> conservatively
looks up keys, but also uses the <a href="https://bencher.orijtech.com/perfclinic/mapclearing/">map clearing idiom</a>
to reduce the RAM usage, CPU time usage, and garbage collection pressure from clearing maps,
instead of allocating new maps.</li>
<li>(store) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10741">#10741</a> Significantly speedup iterator creation after delete heavy workloads. Significantly improves IBC migration times.</li>
<li>(module) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10711">#10711</a> Panic at startup if the app developer forgot to add modules in the <code>SetOrder{BeginBlocker, EndBlocker, InitGenesis, ExportGenesis}</code> functions. This means that all modules, even those who have empty implementations for those methods, need to be added to <code>SetOrder*</code>.</li>
<li>(types) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10076">#10076</a> Significantly speedup and lower allocations for <code>Coins.String()</code>.</li>
<li>(auth) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10022">#10022</a> <code>AuthKeeper</code> interface in <code>x/auth</code> now includes a function <code>HasAccount</code>.</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10393">#10393</a> Add <code>HasSupply</code> method to bank keeper to ensure that input denom actually exists on chain.</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>(std/codec) [/<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10595">#10595</a>](<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10595">cosmos/cosmos-sdk#10595</a>) Add evidence to std/codec to be able to decode evidence in client interactions.</li>
<li>(types) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/9627">#9627</a> Fix nil pointer panic on <code>NewBigIntFromInt</code>.</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10725">#10725</a> populate <code>ctx.ConsensusParams</code> for begin/end blockers.</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/9829">#9829</a> Fixed Coin denom sorting not being checked during <code>Balance.Validate</code> check. Refactored the Validation logic to use <code>Coins.Validate</code> for <code>Balance.Coins</code></li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10061">#10061</a> and <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10515">#10515</a> Ensure that <code>LegacyAminoPubKey</code> struct correctly unmarshals from JSON</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/b6c77e6c819f8a51166649eaef125d1bfb276f04"><code>b6c77e6</code></a> chore: release v0.45 changelog (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10964">#10964</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/8236b26419cda96a5a1491678b227c38e4f533ba"><code>8236b26</code></a> chore: move server.GenerateCoinKey and server.GenerateSaveCoinKey to testutil...</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/90ffbce4107e29969314a36ac98b750f29cdce1e"><code>90ffbce</code></a> feat: support custom mnemonics in in-process testing network (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10922">#10922</a>...</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/c1c1ad7425292924b77dc632370815088b2d3c58"><code>c1c1ad7</code></a> chore: v0.45.0 Release Notes (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10760">#10760</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/ba1e0990d41da85c196f1a2809ab97db2d2ed1ab"><code>ba1e099</code></a> fix: revert tx when block gas limit exceeded (backport: <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10770">#10770</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10814">#10814</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/a5c60b708f7975701696a98577a93c9776dbb3f2"><code>a5c60b7</code></a> feat!: x/gov: raise max description length to 10k chars (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10740">#10740</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/1">#1</a>...</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/05656a2f53040f84ccf1d49dcbbc548a1e56472f"><code>05656a2</code></a> fix: use full gas on overflow (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10897">#10897</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10912">#10912</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/89323385043cd39283a57644e7c59c4ee4b90492"><code>8932338</code></a> feat: support in-place migration ordering (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10614">#10614</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10890">#10890</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/6d44d7193234113aa550c4f5fbb602f7346fa7b3"><code>6d44d71</code></a> fix!: tx result don't report block gas used as tx gas used (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10833">#10833</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/71a168d1d4c2b6ccde8c6c7bd7b9e17908b1b5b3"><code>71a168d</code></a> fix: recreate compat field, of null pubkeys in multisig (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10515">#10515</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/1">#1</a>...</li>
<li>Additional commits viewable in <a href="https://github.com/cosmos/cosmos-sdk/compare/v0.44.5...v0.45.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/cosmos/cosmos-sdk&package-manager=go_modules&previous-version=0.44.5&new-version=0.45.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

(cherry picked from commit f7bb1427bf5d8c7a52b9db43efd16657112936df)

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

* rename portid and port prefix for interchain accounts submodules (#779) (#826)

I decided to remove the `-` from the port ID (`ica-host`) and prefix (`ica-controller`) and just make it one word (`icahost` and `icacontroller`), just in case we decide to do some parsing based on a `-` delimiter in the future.

closes: #778

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit 8cba0ebd4f6a6ff2017433950dce3a29b8394882)

Co-authored-by: Carlos Rodriguez <[email protected]>

* test: adding ica test for multiple controllers, single host (#816) (#829)

* adding test for multiple controllers, single host

* updating inline comments

* updating todos with correct ports

* reorder to use pathCToB.Endpoint for connection IDs

(cherry picked from commit 83c3e4160ba0399e04397ddf09f42a73259d7f56)

Co-authored-by: Damian Nolan <[email protected]>

* the ica_auth page was renamed to auth-modules (#792) (#830)

This [link](https://ibc.cosmos.network/main/app_modules/interchain-accounts/ica_auth.html) was not working because the page was renamed but not removed from the vuepress config.

<img width="877" alt="image" src="https://user-images.githubusercontent.com/6876468/151064563-d4a605db-fd0a-420b-8243-910233f7fea0.png">

closes: #XXXX

---

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.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 142056fce088a7893b30edaf34a576ff73b6f5b2)

Co-authored-by: Carlos Rodriguez <[email protected]>

* chore: replace error string in transfer acks with const (#818) (#831)

* fix: adding ack error string const for transfer

* updating godoc

* adding warning note to godoc in 04-channel

* updating to include abci error code, and copy tests from ica

* adding changelog entry

(cherry picked from commit ac46ac06084f586a460b092b2b293a321b7c43d6)

Co-authored-by: Damian Nolan <[email protected]>

* refactor: active channel key format (#823) (#832)

Updating the store key format for active channels based on @AdityaSripal comment.

closes: [Adityas comment](https://github.com/cosmos/ibc-go/pull/814#pullrequestreview-870330601)

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit 4c28c1ca7503a9c0603202560097fadce70d4cf2)

Co-authored-by: Sean King <[email protected]>

* refactor: RegisterInterchainAccount (#814) (#835)

closes: #802

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit fed6a86e607aa8e0f5c7ad6cb685476f78dde87f)

Co-authored-by: Sean King <[email protected]>

* refactor: reformat KeyOwnerAccount (#833) (#836)

Reformats KeyOwnerAccount store key

closes: [Damians Comment](https://github.com/cosmos/ibc-go/pull/823#pullrequestreview-870409614)

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit bbcc09c3dfa828f123191ade39d373b432483d6b)

Co-authored-by: Sean King <[email protected]>

* chore: adding encoding and txType fields to metadata (#824) (#837)

* adding encoding and txTypes fields to ica metadata

* adapting metadata and validation to support encoding and txTypes fields. updating test cases

* renaming field to tx_type

* fixing failing tests from merge

(cherry picked from commit 5ae8e3538e5d9c9fb1f46408482f5cb14ec806f7)

Co-authored-by: Damian Nolan <[email protected]>

* refactor: include transaction response in ics27 channel acknowledgement (#811) (#838)

ref: #701

---

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.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [x] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 6c48f7e57a53504790b4759f05670fd46ce37b00)

Co-authored-by: colin axnér <[email protected]>

* test: ensure ics27 optimistic packet sends are disallowed (#842) (#843)

(cherry picked from commit c7ea0e850e927d497bbe1fff6ff97d27fbc190d5)

Co-authored-by: Damian Nolan <[email protected]>

* ADR 003: ICS27 Ack format (#812) (#844)

closes: #701

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit 1021617e41007e3f68b7ad7ab4dcfc9a8cbb9658)

Co-authored-by: colin axnér <[email protected]>

* docs: add security model to ics27 docs (#841) (#845)

Wording could maybe be improved, but I think the content is good enough

closes: #705

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit ec36c75e1a84abafedc797e8a60823ba7c4e762f)

Co-authored-by: colin axnér <[email protected]>

* test: Register using same owner address on multiple connections (#846) (#849)

(cherry picked from commit f6a9279936c3571268c39e4e09faa236ed3e82b9)

Co-authored-by: Sean King <[email protected]>

* Move emissions to functions (#783) (#855)

* WIP move emissions

* refactor events emission

* update typo and code clean up following review

* Update modules/core/03-connection/keeper/events.go

Co-authored-by: colin axnér <[email protected]>

* Update modules/core/03-connection/keeper/events.go

Co-authored-by: colin axnér <[email protected]>

* refactore based on code review

Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit 81b619d7436712437ef3ccb6b32111d437db58c6)

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

* build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.0 to 0.45.1 (#851) (#861)

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.45.0 to 0.45.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/cosmos/cosmos-sdk/releases">github.com/cosmos/cosmos-sdk's releases</a>.</em></p>
<blockquote>
<h2>v0.45.1</h2>
<p>This release introduces bug fixes and improvements on the Cosmos SDK v0.45 series:</p>
<h3>Highlights</h3>
<ul>
<li>Added the missing <code>iavl-cache-size</code> config parameter parsing to set a desired IAVL cache size. The default value is way to small for big chains, and causes OOM failures.</li>
<li>Added a check in <code>x/upgrade</code> module's <code>BeginBlock</code> preventing accidental binary downgrades</li>
<li>Fix: the <code>/cosmos/tx/v1beta1/txs/{hash}</code> endpoint returns correct return code (404) for a non existing tx.</li>
</ul>
<p>See the <a href="https://github.com/cosmos/cosmos-sdk/blob/v0.45.1/CHANGELOG.md">Cosmos SDK v0.45.1  Changelog</a> for the exhaustive list of all changes and check other fixes in 0.45.x release series.</p>
<p><strong>Full Diff</strong>: <a href="https://github.com/cosmos/cosmos-sdk/compare/v0.45.0...v0.45.1">https://github.com/cosmos/cosmos-sdk/compare/v0.45.0...v0.45.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/cosmos/cosmos-sdk/blob/v0.45.1/CHANGELOG.md">github.com/cosmos/cosmos-sdk's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.1">v0.45.1</a> - 2022-02-03</h2>
<h3>Bug Fixes</h3>
<ul>
<li>(grpc) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10992">#10985</a> The <code>/cosmos/tx/v1beta1/txs/{hash}</code> endpoint returns a 404 when a tx does not exist.</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10990">#10990</a> Fixes missing <code>iavl-cache-size</code> config parsing in <code>GetConfig</code> method.</li>
</ul>
<h3>Improvements</h3>
<ul>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10407">#10407</a> Added validation to <code>x/upgrade</code> module's <code>BeginBlock</code> to check accidental binary downgrades</li>
<li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10768">#10768</a> Extra logging in in-place store migrations.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/2646b474c7beb0c93d4fafd395ef345f41afc251"><code>2646b47</code></a> chore: 0.45.1 Release Notes (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11109">#11109</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/f69c82fa7cb2381b0f220be7bcb7f56401e9fd6e"><code>f69c82f</code></a> feat: extra logging in in-place store migrations (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10768">#10768</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11107">#11107</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/0c9bbbc68fe5eb08aa39c081a9ec0557ea109a43"><code>0c9bbbc</code></a> fix: add iavl-cache-size config parsing to GetConfig (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10990">#10990</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11058">#11058</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/985d221518690c5ff448fab1c61d5d6e2f43eebd"><code>985d221</code></a> feat!: add protection against accidental downgrades (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10407">#10407</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11026">#11026</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/dfd47f5b449f558a855da284a9a7eabbfbad435d"><code>dfd47f5</code></a> chore: update 0.45 migration and support notes (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10973">#10973</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10979">#10979</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/7ecf4d4ed4b63f9512806d6c0a0e896a1afba02c"><code>7ecf4d4</code></a> fix: return 404 on non-existing tx (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10992">#10992</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11014">#11014</a>)</li>
<li><a href="https://github.com/cosmos/cosmos-sdk/commit/ced57ea5de0e28323adb9c8cddba960b3d515100"><code>ced57ea</code></a> docs: guidelines for ValidateBasic (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10983">#10983</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11001">#11001</a>)</li>
<li>See full diff in <a href="https://github.com/cosmos/cosmos-sdk/compare/v0.45.0...v0.45.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/cosmos/cosmos-sdk&package-manager=go_modules&previous-version=0.45.0&new-version=0.45.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

(cherry picked from commit c378ff3b9e637dbae171d2c5129d966b468a2305)

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

* Added ChannelId to MsgChannelOpenInitResponse (#848) (#856)

added ChannelId to MsgChannelOpenInitResponse
this is needed for distribution within interchain security

Also my go imports didn't like go metrics so I had to add the go-metrics alias

Supersedes: https://github.com/cosmos/ibc-go/pull/839

Quote from @AdityaSripal
Context for the other folks reviewing: This is a problem in general not just for CCV. But currently, in CCV we want to initiate a transfer channel and know what the channelID is.

So if we want to do this as part of third-party module logic, it's currently impossible with the codebase. Since, if you try to use channelKeeper directly you will need portCapability; and a third party module will not have transfer's portCapability.

So we have to use the MsgServer, but the response doesn't include the channelID which we need since then we want to send transfer packets over the established channel.

So this is going to be an issue for any third-party module that wants to initialize a channel of a different IBC application and then use that channel to send packets over

---

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.

- [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

(cherry picked from commit 7b7eb9fa2b94f97600c2f8f19b93503d40e72588)

Co-authored-by: frog power 4000 <[email protected]>

* fix: ica host OnRecvPacket error acknowledgement (#885) (#886)

(cherry picked from commit 31487bcd9b5817e56863d595a2b8cf2ddc7051ef)

Co-authored-by: Damian Nolan <[email protected]>

* chore: add defensive check to ensure metadata does not change when reopening an active channel (#847) (#887)

closes: #795

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit 482b7abb097488b3931637e43fa5a958e3af5e07)

Co-authored-by: colin axnér <[email protected]>

* bug: use custom ante handler to reject redundant transactions in simapp (#884) (#896)

* add custom ante handler

* add godoc and changelog entry

Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit d5e2ba5c3dbf5f51134f3cceefaa9c96b4d608d1)

Co-authored-by: Carlos Rodriguez <[email protected]>

* refactor: allow the mock module to be used multiple times as base ibc application in middleware stack (backport #892) (#899)

* refactor: allow the mock module to be used multiple times as base ibc application in middleware stack (#892)

Currently the `AppModule` assumes a single scoped keeper. This doesn't allow the mock module to be used as a base application for different middleware stack (ica stack, fee stack, etc)

I broke the API because I think it is cleaner. If we want this to be non API breaking, I can try to readjust

ref: #891

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit 8f62a47a28c9190a8e54782fdfa2a45b085a7b4a)

* fix conflicts

Co-authored-by: colin axnér <[email protected]>

* imp: support custom keys for testing (#893) (#902)

* chore: add ParsePacketFromEvents testing helper function (#904) (#919)

ref: #891

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit c27d5b5f26b55d07489cc02fd0b8ce9fa8218e9a)

Co-authored-by: colin axnér <[email protected]>

* fix: correctly claim capability for mock module, handle genesis exports (#921) (#922)

This contains two fixes:
- the capability being claimed by the scoped keeper was incorrect (mock.ModuleName -> port ID)
- the mock module wasn't accounting for non empty genesis state in capabilities (after genesis export, capability will create the bound ports so rebinding doesn't need to happen)

closes: #XXXX

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit afa2d904a1e47054d8013100bd97adde8dbd2a63)

Co-authored-by: colin axnér <[email protected]>

* docs: update migration docs for upgrade proposal in relation to ICS27 (#920) (#923)

closes: #XXXX

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit d31f92d9bf709f5550b75db5c70a3b44314d9781)

Co-authored-by: colin axnér <[email protected]>

* chore(ica): add trail of bits audit report (#903) (#944)

* chore(ica): add trail of bits audit report

* relocate the audit report for ICA

Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit f442721c7ea7ce69a4aadaf24808b2b250d89628)

Co-authored-by: Carlos Rodriguez <[email protected]>

* refactor: WriteAcknowledgement API (backport #882) (#943)

* refactor: WriteAcknowledgement API (#882)

* refactor: WriteAcknowledgement takes exported.Acknowledgement instead of bytes

* fix: adding check for empty byte string

* chore: update changelog

* fixing test case + adding migration docs

* testing: Adding MockEmptyAcknowledgement to testing library

* docs: fix version

* test: add check for ack is nil

(cherry picked from commit acbc9b61d10bf892528a392595782ac17aeeca30)

* fix changelog merge conflict

* backport migration docs

Co-authored-by: Sean King <[email protected]>
Co-authored-by: Colin Axnér <[email protected]>

* add changelog entry for bump of SDK

* testing: adding multiple sender accounts for testing purposes (#935) (#959)

* testing: adding multiple sender accounts for testing puproses

* fix genesis setup (#936)

* Update testing/chain.go

Co-authored-by: colin axnér <[email protected]>

* refactor: code hygiene

* Update testing/chain.go

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

* fix: setting totalySupply to empty

* nit: CamelCase not UPPERCASE

Co-authored-by: Aditya <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit 20dd5cacc4cf983b5628b39908b59a90a4171e95)

Co-authored-by: Sean King <[email protected]>

* fix: classify client states without consensus states as expired (#941) (#969)

closes: #850

---

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](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting))
- [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
- [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] 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

(cherry picked from commit d48f576a0b2fe752790339f9e6f99b99d9fe2486)

Co-authored-by: Tim Lind <[email protected]>

* Create test chain with multiple validators (#942) (#960)

* testing: adding multiple sender accounts for testing puproses

* fix genesis setup (#936)

* Update testing/chain.go

Co-authored-by: colin axnér <[email protected]>

* refactor: code hygiene

* Update testing/chain.go

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

* multi validator commit taken from @saione

* add function to pass custom valset

* add changelog

Co-authored-by: Sean King <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: colin axnér <[email protected]>
(cherry picked from commit 98f4d3af3d9ea8f345c03031deec3162d21d5c45)

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

* chore: update migration docs (#985) (#986)

* chore: update migration docs

* Update docs/migrations/v2-to-v3.md

Co-authored-by: Damian Nolan <[email protected]>

Co-authored-by: Damian Nolan <[email protected]>
(cherry picked from commit ef34765e7010ec5f526a44587de4be0e2afbde12)

Co-authored-by: colin axnér <[email protected]>

* bug: support base denoms with slashes (#978) (#1019)

* bug: support base denoms with slashes

* add changelog entry

Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit 4545154cc60db44a26dadec2e2b2422bd138f5d1)

Co-authored-by: Carlos Rodriguez <[email protected]>

* ibctesting: make `testing.T` public (#1020) (#1030)

(cherry picked from commit 6d6888b9c5cffc6b9c0f09ec5f77a8932d0b7e86)

Co-authored-by: Federico Kunze Küllmer <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>

* upgrade ics23 to v0.7 (#948) (#1028)

* upgrade ics23 to v0.7-rc

* add changelog entry

* update ics23 to final 0.7

Co-authored-by: Carlos Rodriguez <[email protected]>
(cherry picked from commit 9d8be7cbab5cb1987449ff92fa2376c1ca44ac30)

Co-authored-by: Carlos Rodriguez <[email protected]>

* feat: Add a function to initialize the ICS27 module via an upgrade proposal (#1037) (#1040)

closes: #1034

---

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](https://github.com/cosmos/ibc-go/bl…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add a command to the CLI to get a denom hash from a trace path (port/channel) and base denom
5 participants