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

reorganize channel handshake handler #647

Merged
merged 7 commits into from
Dec 21, 2021

Conversation

colin-axner
Copy link
Contributor

@colin-axner colin-axner commented Dec 20, 2021

Description

ref: #640


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

split out channel state changes into its own function.
@@ -82,7 +100,12 @@ func (k Keeper) ChanOpenInit(
),
})

return channelID, capKey, nil
ctx.EventManager().EmitEvents(sdk.Events{
Copy link
Contributor Author

Choose a reason for hiding this comment

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

someone can do a followup pr to add a function EmitOpenInitEvents to the 04-channel/keeper/events.go file for each handshake step

@@ -104,8 +104,9 @@ func (k Keeper) OnChanCloseConfirm(

// validateControllerPortParams asserts the provided connection sequence and counterparty connection sequence
// match that of the associated connection stored in state
func (k Keeper) validateControllerPortParams(ctx sdk.Context, channelID, portID string, connectionSeq, counterpartyConnectionSeq uint64) error {
connectionID, connection, err := k.channelKeeper.GetChannelConnection(ctx, portID, channelID)
func (k Keeper) validateControllerPortParams(ctx sdk.Context, connectionHops []string, connectionSeq, counterpartyConnectionSeq uint64) error {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

applications must not rely on channel state being set before the application callback

Copy link
Contributor

Choose a reason for hiding this comment

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

should we document this somewhere? 🤔

Copy link
Contributor Author

@colin-axner colin-axner Dec 21, 2021

Choose a reason for hiding this comment

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

I'll update the docs when I do the OnChanOpenTry change, for now it is in the migration docs

Copy link
Contributor

Choose a reason for hiding this comment

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

Cool. I was just thinking out loud :)

@codecov-commenter
Copy link

codecov-commenter commented Dec 20, 2021

Codecov Report

Merging #647 (ed6ad62) into main (2273ef3) will decrease coverage by 0.02%.
The diff coverage is 68.90%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #647      +/-   ##
==========================================
- Coverage   79.51%   79.49%   -0.03%     
==========================================
  Files         146      146              
  Lines       10668    10676       +8     
==========================================
+ Hits         8483     8487       +4     
- Misses       1762     1770       +8     
+ Partials      423      419       -4     
Impacted Files Coverage Δ
modules/core/04-channel/keeper/keeper.go 84.41% <0.00%> (-6.21%) ⬇️
modules/core/keeper/msg_server.go 62.33% <50.00%> (-1.42%) ⬇️
...interchain-accounts/controller/keeper/handshake.go 82.35% <80.00%> (-0.75%) ⬇️
...ps/27-interchain-accounts/host/keeper/handshake.go 82.60% <80.00%> (-0.73%) ⬇️
modules/core/04-channel/keeper/handshake.go 90.56% <89.06%> (+3.15%) ⬆️
modules/core/04-channel/keeper/timeout.go 93.04% <100.00%> (+1.51%) ⬆️

@colin-axner colin-axner merged commit 8c2c0a5 into main Dec 21, 2021
@colin-axner colin-axner deleted the colin/reorg-channel-handshake-handling branch December 21, 2021 14:29
colin-axner added a commit that referenced this pull request Jan 5, 2022
* 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](actions/setup-go@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] <support@github.com>

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

* 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 <damiannolan@gmail.com>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* 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 <marbar3778@yahoo.com>

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

* 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 <crodveg@gmail.com>

* 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](actions/checkout@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] <support@github.com>

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 <crodveg@gmail.com>

Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
colin-axner added a commit that referenced this pull request Jan 12, 2022
* Bump github.com/spf13/cast from 1.4.0 to 1.4.1 (#338)

Bumps [github.com/spf13/cast](https://github.com/spf13/cast) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/spf13/cast/releases)
- [Commits](https://github.com/spf13/cast/compare/v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: github.com/spf13/cast
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* Bump github.com/tendermint/tendermint from 0.34.11 to 0.34.12 (#341)

Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.11 to 0.34.12.
- [Release notes](https://github.com/tendermint/tendermint/releases)
- [Changelog](https://github.com/tendermint/tendermint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tendermint/tendermint/compare/v0.34.11...v0.34.12)

---
updated-dependencies:
- dependency-name: github.com/tendermint/tendermint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* fix broken links in integration.md (#340)

* fix broken link in integration.md

* fix: broken link to simulator.md file in cosmos-sdk docs

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* Created helper functions for emitting packet events (#343)

* Created helper functions for emitting packet events

* Fixed comments and re-ordered helper functions

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

* Merge pull request from GHSA-qrhq-96mh-q8jv

* Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#346)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2.0.2...v2.0.3)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* Bump actions/setup-go from 2.1.3 to 2.1.4 (#349)

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

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

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

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

* increase port identifier limit to 128 characters (#344)

* increase port identifier limit to 128 characters

increase port limit and add tests for port validation

* add changelog

* fix tests

* update codeowners to include new team members and granular ownership (#354)

* update codeowners

* add proto files to ownership

* bump SDK dependency (#367)

* update SDK dependency and fix changes

Removes tests from sdk_test.go which are no longer needed to upstream changes in the SDK
Fixes client_test.go due to inclusion of the fee in tx events

* bump SDK version to v0.44.0

* adding client status cli query (#372)

* adding client status cli query

* adding query client status cli to changelog

* updating long CLI help usage

* adding markdown link checker to ci workflows (#377)

* packet acknowledgment filtering (#375)

* adding packet commitments to QueryPacketAcknowledgementsRequest for filtering

* adding testcase for filtered packet ack query

* adding changelog entry for packet ack filtering

* updating packet sequences type to repeated uint64

* updating to query specific packet acks outside bounds of paginated req

* updating changelog field naming, removing redundant pagination in query test

* continue in favour of returning an error on query PacketAcknowledgements

* updating to return empty array of acks if none of the provided commitments are found

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

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

* Bump github.com/tendermint/tendermint from 0.34.12 to 0.34.13 (#386)

Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.12 to 0.34.13.
- [Release notes](https://github.com/tendermint/tendermint/releases)
- [Changelog](https://github.com/tendermint/tendermint/blob/v0.34.13/CHANGELOG.md)
- [Commits](https://github.com/tendermint/tendermint/compare/v0.34.12...v0.34.13)

---
updated-dependencies:
- dependency-name: github.com/tendermint/tendermint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* Change ICS 20 packet data amount to be string (#350)

* modify proto defintions

* fix non string usage in code and various tests

* fix mbt tests

* fix bug in data validation

* fix various build issues

fix unaddressed issues from changing amount from uint64 to string

* add changelog entry

* apply review suggestions

Add check that amount is strictly positive
Construct granular error messages to indicate invalid amount value or failure to parse amount

* verify and fix telemetry bug

Verify msg panics on amounts > int64 by adding tests
Add checks to telemetry emission of transfer amounts to handle when the amount cannot be casted to float32

* fix: ibc build docs (#361)

* initial fix commit

* add release v1.0.1 to versions

* improvements for docs website

* add new version

* address review comments

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

* feat: scalable version queries (#384)

* adding protos for port query interface

* adding NegotiateAppVersion method to IBCModule interface

* adding grpc port query implementation and module surrounds

* adding NegotiateAppVersion implementation to apps/transfer and mocks

* updating ErrInvalidVersion error code

* adding grpc query tests for 05-port

* updating grpc naming, adding godocs, removing redundant query cli

* updating grpc query tests

* adding changelog entry for #384 app version negotiation

* fixing error formatting in transfer version negotiation

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

* removing client/cli query

* updating grpc query naming, adding new fields and associated surrounds

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

* Bump codecov/codecov-action from 2.0.3 to 2.1.0 (#399)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.3 to 2.1.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2.0.3...v2.1.0)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

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

* bump go package to v2 (#400)

* bump go package to v2

* fix proto file generation

* fix links

* future proof script

* Add migration docs template and updates migration doc for 1.0 to 2.0  (#401)

* add migration template and update v2 migration docs

* Update docs/migrations/ibc-migration-v100.md

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Update docs/migrations/migration-template.md

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* add releases.md file (#408)

* add releases.md file

* address review comment

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* fix broken links (#415)

* fix for a large portion of the broken links and adding config file for the markdown link checker

* modify link checker yaml to use config file

* fix link checker yaml

* fix some more links and the path to the config file for the markdown link checker

* fix some more dead links

* tweak markdown link checker configuration and remove deprecated section from docs

* address review comments

* fix url for png

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* chore: update changelog (#422)

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* Adds Generic Middleware helper functions (#383)

* add generic middleware helper functions

* Update modules/core/04-channel/types/version.go

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

* remove app capability, add merge fn, changelog

* add back newline

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

* Bump github.com/spf13/viper from 1.8.1 to 1.9.0 (#427)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.8.1 to 1.9.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](https://github.com/spf13/viper/compare/v1.8.1...v1.9.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

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

* update releases decision tree (#429)

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* refactor: making IsBound a public function (#425)

* refactor: making IsBound a public function

* chore: make 05-port keeper function IsBound public

* test: adding test for IsBound

* chore: updating changelog

* fix: changelog

* feat: Reusability of Mock module for middleware integration tests (#432)

* proof of concept for mock middleware

* add mock base app implementation and add documentation

* add changelog

* update wording

* Update CHANGELOG.md

* rename BaseApp to IBCApp

* fix testing readme

* Update testing/README.md

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

* bump SDK v0.44.0 -> v0.44.1 (#455)

* bump SDK v0.44.0 -> v0.44.1

* add changelog entry

* docs: add steps to revive expired client with governance proposal (#438)

* docs: add steps to revive expired client with governance proposal

* address review comments

* address more review comments

* address more review comments

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* resize and center the decision tree picture (#469)

* bump versions in migration guide (#470)

* bump versions in migration guide

* Update ibc-migration-043.md

* Add go relayer to list of relayers to be supported (#442)

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* Update README with docs website (#460)

* add documentation website to readme

* Update README.md

* deps: bump SDK version to `v0.44.2` (#485)

* bump SDK version to v0.44.2

* add changelog entry

* deps: bump Go to 1.17 (#404)

* deps: bump Go to 1.17

* add changelog entry

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

* Bump google.golang.org/grpc from 1.40.0 to 1.41.0 (#445)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.40.0 to 1.41.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.40.0...v1.41.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

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

* doc: a light client is associated with only one chain (#476)

* doc: a light client is a associated with only one chain

* address review comment

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

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

* Bump github.com/tendermint/tendermint from 0.34.13 to 0.34.14 (#489)

Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.13 to 0.34.14.
- [Release notes](https://github.com/tendermint/tendermint/releases)
- [Changelog](https://github.com/tendermint/tendermint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tendermint/tendermint/compare/v0.34.13...v0.34.14)

---
updated-dependencies:
- dependency-name: github.com/tendermint/tendermint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* Middleware Developer and Integration Guide (#477)

* write handshake docs

* initial docs

* fix links

* remove since

* Update docs/ibc/middleware/integration.md

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Apply suggestions from code review

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

* address suggestions

* add in-code interfaces and clarify cap docs

* fix carlos nit

* Module -> IBCModule

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

* Bump github.com/armon/go-metrics from 0.3.9 to 0.3.10 (#501)

Bumps [github.com/armon/go-metrics](https://github.com/armon/go-metrics) from 0.3.9 to 0.3.10.
- [Release notes](https://github.com/armon/go-metrics/releases)
- [Commits](https://github.com/armon/go-metrics/compare/v0.3.9...v0.3.10)

---
updated-dependencies:
- dependency-name: github.com/armon/go-metrics
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* deps: bump cosmos-sdk `v0.44.3` (#503)

* deps: bump cosmos-sdk

* update changelog

* docs: add middleware child to navigation (#513)

* update changelog (#505)

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* fix broken link (#515)

* update-client should expect 2 args (#500)

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

* chore: split testing/mock ibcmodule  (#516)

* split mock module into ibc_module.go

* updating godocs

* fixing import grouping in ibc_module.go

* chore: split transfer AppModule/IBCModule (#517)

* split transfer into ibc_module.go

* adding changelog entry for transfer IBCModule separation

* Bump google.golang.org/grpc from 1.41.0 to 1.42.0 (#519)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.41.0 to 1.42.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.41.0...v1.42.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

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

* update changelog (#532)

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* docs: apply IBC capitalization standards and add simple desc (#543)

add a brief IBC description that first-time readers will embrace " IBC is a protocol that allows blockchains to talk to each other."

* refactor: GetSelfConsensusState return error instead of bool (#536)

* refactor: return error instead of bool from GetSelfConsensusState

* fix: tests and interface signature

* chore: error wording

* chore: apply changes from review

* chore: nit+changelog

Co-authored-by: technicallyty <48813565+tytech3@users.noreply.github.com>

* docs: editorial love for IBC overview (#544)

* docs: editorial love for IBC overview

Apply technical style standards, present tense, fix typos, and use consistent IBC language

* Apply suggestions from code review

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

* Apply suggestions from code review

thanks for detailed review and feedback!

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

* add punctuation to end of list items

* ran spell check and found a few more grammar fixes

* more clarity, some content restructure, needs more editorial love

* Update docs/ibc/overview.md

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

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

* Bump actions/cache from 2.1.6 to 2.1.7 (#556)

Bumps [actions/cache](https://github.com/actions/cache) from 2.1.6 to 2.1.7.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.6...v2.1.7)

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

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

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

* Bump github.com/cosmos/cosmos-sdk from 0.44.3 to 0.44.4 (#567)

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.44.3 to 0.44.4.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.44.4/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.44.3...v0.44.4)

---
updated-dependencies:
- dependency-name: github.com/cosmos/cosmos-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* use local clock time as reference time for timeout timestamp if later than consensus state timestamp (#568)

* use local clock time as reference time if it is later than the consensus state timestamp from the counter party chain

* add comment

* update command description

* add entry to changelog

* return error is clock time is less or equal than Jan 1st 1970 12:00 AM

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* proto: fix for reflection  (#583)

* migrate to v1 buf

* remove confio

* update docker buf image version to fix make proto-all

* move proofs outside confio

* regenerate proto

Co-authored-by: Marko Baricevic <markobaricevic3778@gmail.com>
Co-authored-by: Colin Axnér <25233464+colin-axner@users.noreply.github.com>

* bump SDK version to v0.44.5 (#589)

* docs: add documentation for NegotiateAppVersion in apps.md (#555)

* docs: add documentation for NegotiateAppVersion in apps.md

* review comment

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* docs: add v2.0.0 to docs site (#593)

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* fix: emit channel event instead of connection (#603)

* fix: emit channel event instead of connection

* chore: changelog

* chore: remove unncessary import

* Feature: Interchain accounts v1 (#380)

* migrate ibc-account module to ibc-go

* Add @seantking to CODEOWNERS for interchain accounts module

* rename ibc-account -> interchain-accounts (#280)

* rename ibc-account -> interchain-accounts

* fix codeowner file

* Integrate ICA into testing package, add simple keeper tests (#282)

* add ica to simapp

* add simple keeper tests

* Add interchain account OnChanOpenInit and InitInterchainAccount tests (#287)

* add OnChanOpenInit test

* add InitInterchainAccount test

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

* feat: ica proto (#305)

* feat: adding proto files for interchain accounts & updating references of IBCAccount -> InterchainAccount

* doc: updating comments

* docs: update comment

* fix: updating proto yaml, query name, query params, comments

* ICA OnChanOpenTry update + tests (#299)

* update OnChanOpenTry to match ICS specs

* write OnChanOpenTry and OnChanOpenAck tests

* update comment

* test: adding test for OnChanOpenConfirm (#312)

* fix: updating port-id & fixing OnChanOpenInit bug (#321)

* fix: updating port-id & fixing OnChanOpenInit bug

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

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

* Add counterparty port ID to controller portID (#319)

* refactor! move GeneratePortID to types, add counterpartyConnection sequence

change all PortId -> PortID
move GeneratePortID to types package
add counterparty connection sequence argument
utilize connectiontypes connectionID parsing function

* refactor! use counterparty portID in interchain account address gRPC

Remove existing args from gRPC request for interchain account address
Use counterparty portID

* tests add generate port id tests

* apply self-review fixes

* test: check active channel is correct (#324)

* test: check active channel is correct

* test: adding version string check

* Removed memkey from ICA keeper (#342)

* Removed memkey from ICA keeper

* Removed memkey arg in call to NewKeeper from simapp

* moving stateless GenerateAddress func to types (#352)

* update ica branch codeowners (#353)

* move Get/SetInterchainAccount to keeper.go, add tests (#355)

* moving setter/getter funcs to keeper.go, adding tests

* removing redundant var

* fixing test assertion string typo

* updating Get/SetInterchainAccount func signatures, tests and adding godocs

* grouping imports according, updating suite.FailNow() -> suite.Require().NoError()

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

* chore: interchain accounts cleanup, cli alias (#362)

* adding ica alias for interchain-accounts queries

* refactoring bind port and claim capability functionality, code cleanup and godocs

* updating interchain accounts pkg naming (#364)

* adding ica grpc query tests (#368)

* updating grpc query tests, removing queryClient on KeeperTestSuite (#379)

* ICA: Adding tests for relay.go (#337)

* test: adding test for TrySendTx

* test: adding tests for data check

* test: adding check for SendTx with []sdk.Message

* chore: seperate imports

* test: add helper function for creating ICA path

* test: adding cases for incorrect outgoing data & channel does not exist

* Update ICA on main + add app version negotiation stub  (#403)

* Bump github.com/cosmos/cosmos-sdk from 0.43.0-rc1 to 0.43.0-rc2 (#269)

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.43.0-rc1 to 0.43.0-rc2.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.43.0-rc2/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.43.0-rc1...v0.43.0-rc2)

---
updated-dependencies:
- dependency-name: github.com/cosmos/cosmos-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* generate swagger files (#267)

* Reject Redundant Tx Antedecorator (#235)

* writeup simple antedecorator

* only do antehandler on checkTx

* Update modules/core/04-channel/ante.go

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

* enable 2 antehandler strategies, and write tests

* remove strict decorator and pass on non-packet/update type

* move ante logic into its own package

* changelog

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

* perform a no-op on redundant relay messages (#268)

* create initial changes for delivertx handling

* handle closed channel no-ops, fix tests

* self review nits

* add changelog

* add events for no op messages

* add back comment

* Bump codecov/codecov-action from 1.5.2 to 2.0.1 (#273)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1.5.2 to 2.0.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.5.2...v2.0.1)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

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

* remove ChanCloseInit function from transfer keeper (#275)

* remove CloseChanInit from transfer

* add changelog

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

* Bump codecov/codecov-action from 2.0.1 to 2.0.2 (#296)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2.0.1...v2.0.2)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* Bump github.com/spf13/cast from 1.3.1 to 1.4.0 (#301)

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

---
updated-dependencies:
- dependency-name: github.com/spf13/cast
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

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

* Bump technote-space/get-diff-action from 4.2 to 5 (#306)

Bumps [technote-space/get-diff-action](https://github.com/technote-space/get-diff-action) from 4.2 to 5.
- [Release notes](https://github.com/technote-space/get-diff-action/releases)
- [Changelog](https://github.com/technote-space/get-diff-action/blob/main/.releasegarc)
- [Commits](https://github.com/technote-space/get-diff-action/compare/v4.2...v5)

---
updated-dependencies:
- dependency-name: technote-space/get-diff-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

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

* bump to SDK v0.43.0-rc3 (#308)

* SDK v0.43.0-rc3

* add capability fixes

* add @seantking as codeowner to interchain accounts (#309)

* Bump google.golang.org/grpc from 1.39.0 to 1.39.1 (#320)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.39.0 to 1.39.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.39.0...v1.39.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* Bump github.com/cosmos/cosmos-sdk from 0.43.0-rc3 to 0.43.0 (#325)

Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.43.0-rc3 to 0.43.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.43.0-rc3...v0.43.0)

---
updated-dependencies:
- dependency-name: github.com/cosmos/cosmos-sdk
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* module: improve 04-channel logging (#323)

* module: improve 04-channel logging

* update log

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

* update changelog (#326)

* Bump google.golang.org/grpc from 1.39.1 to 1.40.0 (#332)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.39.1 to 1.40.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.39.1...v1.40.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

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

* Bump github.com/spf13/cast from 1.4.0 to 1.4.1 (#338)

Bumps [github.com/spf13/cast](https://github.com/spf13/cast) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/spf13/cast/releases)
- [Commits](https://github.com/spf13/cast/compare/v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: github.com/spf13/cast
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* Bump github.com/tendermint/tendermint from 0.34.11 to 0.34.12 (#341)

Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.11 to 0.34.12.
- [Release notes](https://github.com/tendermint/tendermint/releases)
- [Changelog](https://github.com/tendermint/tendermint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tendermint/tendermint/compare/v0.34.11...v0.34.12)

---
updated-dependencies:
- dependency-name: github.com/tendermint/tendermint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* fix broken links in integration.md (#340)

* fix broken link in integration.md

* fix: broken link to simulator.md file in cosmos-sdk docs

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* Created helper functions for emitting packet events (#343)

* Created helper functions for emitting packet events

* Fixed comments and re-ordered helper functions

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

* Merge pull request from GHSA-qrhq-96mh-q8jv

* Bump codecov/codecov-action from 2.0.2 to 2.0.3 (#346)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2.0.2...v2.0.3)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* Bump actions/setup-go from 2.1.3 to 2.1.4 (#349)

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

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

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

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

* increase port identifier limit to 128 characters (#344)

* increase port identifier limit to 128 characters

increase port limit and add tests for port validation

* add changelog

* fix tests

* update codeowners to include new team members and granular ownership (#354)

* update codeowners

* add proto files to ownership

* bump SDK dependency (#367)

* update SDK dependency and fix changes

Removes tests from sdk_test.go which are no longer needed to upstream changes in the SDK
Fixes client_test.go due to inclusion of the fee in tx events

* bump SDK version to v0.44.0

* adding client status cli query (#372)

* adding client status cli query

* adding query client status cli to changelog

* updating long CLI help usage

* adding markdown link checker to ci workflows (#377)

* packet acknowledgment filtering (#375)

* adding packet commitments to QueryPacketAcknowledgementsRequest for filtering

* adding testcase for filtered packet ack query

* adding changelog entry for packet ack filtering

* updating packet sequences type to repeated uint64

* updating to query specific packet acks outside bounds of paginated req

* updating changelog field naming, removing redundant pagination in query test

* continue in favour of returning an error on query PacketAcknowledgements

* updating to return empty array of acks if none of the provided commitments are found

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

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

* Bump github.com/tendermint/tendermint from 0.34.12 to 0.34.13 (#386)

Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.12 to 0.34.13.
- [Release notes](https://github.com/tendermint/tendermint/releases)
- [Changelog](https://github.com/tendermint/tendermint/blob/v0.34.13/CHANGELOG.md)
- [Commits](https://github.com/tendermint/tendermint/compare/v0.34.12...v0.34.13)

---
updated-dependencies:
- dependency-name: github.com/tendermint/tendermint
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* Change ICS 20 packet data amount to be string (#350)

* modify proto defintions

* fix non string usage in code and various tests

* fix mbt tests

* fix bug in data validation

* fix various build issues

fix unaddressed issues from changing amount from uint64 to string

* add changelog entry

* apply review suggestions

Add check that amount is strictly positive
Construct granular error messages to indicate invalid amount value or failure to parse amount

* verify and fix telemetry bug

Verify msg panics on amounts > int64 by adding tests
Add checks to telemetry emission of transfer amounts to handle when the amount cannot be casted to float32

* fix: ibc build docs (#361)

* initial fix commit

* add release v1.0.1 to versions

* improvements for docs website

* add new version

* address review comments

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

* feat: scalable version queries (#384)

* adding protos for port query interface

* adding NegotiateAppVersion method to IBCModule interface

* adding grpc port query implementation and module surrounds

* adding NegotiateAppVersion implementation to apps/transfer and mocks

* updating ErrInvalidVersion error code

* adding grpc query tests for 05-port

* updating grpc naming, adding godocs, removing redundant query cli

* updating grpc query tests

* adding changelog entry for #384 app version negotiation

* fixing error formatting in transfer version negotiation

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

* removing client/cli query

* updating grpc query naming, adding new fields and associated surrounds

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

* Bump codecov/codecov-action from 2.0.3 to 2.1.0 (#399)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.3 to 2.1.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2.0.3...v2.1.0)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

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

* feat: adding fn stub for version negotiation

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Luke Rhoads <51463884+lukerhoads@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Charly <charly@interchain.berlin>

* fix err message (#419)

* feat: ica app version negotiation (#410)

* adding NegotiateAppVersion implementation and tests

* updating GenerateAddress to return sdk.AccAddress, fixing tests

* updating ica handshake flow to parse address from version string, fixing associated tests

* updating module_tests

* derive ica addresses from module account addr

* removing unused keys

* adding improved version validation, updating tests

* removing redundant local var - owner

* updating Delimiter godoc

* updating validation logic

* adding test cases for ValidateVersion

* adding additional validation testcase, updating godocs

* updating Version -> VersionPrefix, error msgs, validation tests

* updating NewAppVersion func sig and usage

* updating NewAppVersion args and returning more appropriate errors for handshake

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

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* updating ValidateVersion godoc

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* test: adding tests for OnRecvPacket (#412)

* test: adding tests for OnRecvPacket

* test: adding further test cases for onRecvPacket

* chore: merge latest main to interchain-accounts (#435)

* chore: update ica prefix for port identifiers (#434)

* removing ICAPrefix const in favour of VersionPrefix

* updating tests

* test: account/keeper tests for ICA (#420)

* test: adding tests for account type

* tests: adding test for keeper & account

* fix: updating channel closing capabilities

* fix: updating to use test library instead of hardcoded values

* fix: updating error handling for account

* test: adding test for account string comparison

* fix: updating marshal yaml

* feat: module account address derivation (#428)

* adding module account to interchain-accounts with associated changes

* configuring ica module account in simapp

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

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* updating godoc and import alias

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* ICA: tests for module.go  (#424)

* test

* test: adding module.go test with handshake callback tests

* tests: adding key tests

* additional code cov and clean up (#440)

* split ica module.go into ibc_module.go (#453)

Splits IBCModule logic into separate ibc_module.go file and updates app.go registration

* Rename IBCAccountPacketData, Remove TxRaw  (#456)

* rename IBCAccountPacketData, remove txRaw type

* Update proto/ibc/applications/interchain_accounts/v1/types.proto

* Rename DeserializeTx, enforce []sdk.Msg usage in SerializeCosmosTx (#457)

* rename DeserializeTx to DeserializeCosmosTx, simply serialization logic

* improve godoc wording

* remove computeVirtualTxHash (#473)

* chore: ctrl port connection id validation (#454)

* adding pipe char | to identifier regex

* updating GeneratePortID to use pipe delimiter in favour of dash, ParseAddressFromVersion to use Split in favour of TrimPrefix

* adding CounterpartyHops method to expected channel keeper interface

* updating tests to satisy delimiter updates

* adding connection seq validation of ctrl port id and updating tests

* cleanup

* adding defensive check for ParseAddressFromVersion

* adding conn sequence parsing funcs to pkg types

* moving conn sequence validation to reusable func

* updating error msgs, adding tests for conn seq parsers

* adding expected sequence to error msgs

* updating ParseCtrlConnSequence to ParseControllerConnSequence

* fixing counterparty port error

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

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

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

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

* Update modules/apps/27-interchain-accounts/types/account.go

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

* removing pipe from valid identifier regex

* adding error returns to parsing funcs, updating tests, error messages

* separting imports in keys.go

* updating handshake tests

* Update modules/apps/27-interchain-accounts/types/keys.go

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

* renaming validation func, removing parenthesis in error msgs

* renaming func validateControllerPort -> validateControllerPortParams

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

* chore: correctly set/delete active channels (#463)

* correctly set active channels, implement delete OnChanCloseConfirm callback

* removing active channel on packet timeout

* remove ica hooks (#480)

* chore: minor nits - renaming and error msgs (#464)

* update ErrPortAlreadyBound error string - remove for address

* rename RegisterInterchainAccount api portID -> counterpartyPortID

* wrap claim capability errors in handshake

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

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

* adding channel and port id in error msg

* correcting error wording

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

* chore: update portkey to include port ID (#467)

* update port key to use prefix, separate key prefixes to vars

* updating godoc

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

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

* adding todo with ica genesis issue ref

* fixing failing test from browser commit

* removing GetPort in favour of GetAllPorts

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

* ICA: Rename TxBody, Remove serialization logic from controller, introduce CosmosTx type (#474)

* remove ICA TxBody type, use repeated Any in packet data

* adjust SerializeCosmosTx, fix tests

* apply self nits

* add memo length validation

* chore(spec): remove old specification

* ica: unspecified type enum for interchain account packet data (#487)

* adding unspecified type enum, adding defensive check to ValidateBasic

* Update modules/apps/27-interchain-accounts/types/packet_test.go

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

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

* chore: ica audit nitpicks (#483)

* updating version validation with corrections

* removing unused methods from expected keeper interfaces

* updating validate version error msg

* update to use ErrInvalidVersion in favour of ErrInvalidAccountAddress

* fixed typo (#507)

* ica: move Serialize/DeserializeCosmosTx to package types (#493)

* moving SerializeCosmosTx and DeserializeCosmosTx to types pkg

* removing dead code

* adding mockSdkMsg message type for failing codec test scenarios

* Update modules/apps/27-interchain-accounts/types/codec_test.go

* ica: TrySendTx error handling nits (#491)

* updating error handling and msgs for TrySendTx flow

* renaming active channel ID getter/setters, adding comment re indeterminate errs

* renaming DeleteActiveChannel -> DeleteActiveChannelID

* chore: adding damo to codeowners (#520)

* ica: AuthenticateTx/executeTx clean up (#490)

* cleaning up AuthenticateTx and executeTx to reduce unnecessary complexity

* adding error wrapping to AuthenticateTx

* updating err msg to include expected signer

* ICA Controller Side Middleware (#417)

* initial draft for ica middleware

* add capability handling, fix build and tests

* split module.go into ibc_module.go

* add middleware handshake tests

* fix app.go wiring and various tests

* godoc self nits

* remove unnecessary error

* update comment

* fix testing build

* split channel keeper interface

splits ChannelKeeper interface into ics4Wrapper and core ChannelKeeper

* fix tests

* remove comments

* add callback for timeouts

* Apply suggestions from code review

Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* fix test and update testing README

apply test fix pointed out by Sean.
Update testing README to reflect how to test with the mock module for middleware

* add OnRecvPacket test

Add test cases for OnRecvPacket, reused structure in relay_test.go

* add failing test case for NegotiateAppVersion

Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* ica: genesis state implementation (#481)

* initial genesis state draft

* updating protos

* including yaml tags, sorting proto file structure

* updating to use range queries for active channels/interchain accounts

* updating GetAllPorts test

* moving test strings to expected vars

* test: relay tests for TrySendTx/OnRecvPacket (#531)

* adding various sdk.Msg type tests and cleaning up relay_test.go

* cleaning up tests to make consistent

* adding missing godoc for OnRecvPacket

* adding ica test for transfertypes.MsgTranfer

* updating hardcoded strings to use sdk.DefaultBondDenom

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

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* removing staking test for insufficient funds

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* ICA controller/host submodules (#541)

* go mod tidy

* creating new genesis types for controller and host submodules

* removing dead root module code

* updating genesis helpers and adding newly generated types

* adding interchain-accounts controller submodule

* adding interchain-accounts host submodule

* updating simapp to include controller and host ica submodules

* adding errors returns for disallowed handshake directions, removing embedded app from host module, updating simapp to conform

* updating simapp to remove nil arg to ica host ibc module

* removing ics4Wrapper arg from ica host submodule

* cleaning up module.go for controller and host submodules

* removing commented out tests

* commit with broken tests to rebase

* disabling app version negotation on controller submodule

* fixing tests - now passing

* various cleanup, godocs and moving code

* updating error msgs to conform to pkg split

* removing commented out code

* adding combined ica genesis, consolidating to single ica AppModule, updating app.go

* adding missing godocs

* clean up, godocs, rename validate.go -> version.go, move version related funcs

* updating godocs and code organization

* removing controller module acc, using icatypes module name for module acc in host submodule

* correcting panic error msg

* Update modules/apps/27-interchain-accounts/controller/ibc_module.go

* Update modules/apps/27-interchain-accounts/types/genesis.go

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

* updating logger kvs, and simplifying OnRecvPacket

* address nits on error strings and godocs

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

* chore: ica submodules minor improvements and cleanup

* test: adding test for RegisterInterchainAccount & adding check to rel… (#552)

* test: adding test for RegisterInterchainAccount & adding check to relay_test

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

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

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

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

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

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

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* ICA Code Hygiene  (#553)

* chore: re-creating account.go for controller side for consitency

* chore: remove comment

* Update modules/apps/27-interchain-accounts/controller/keeper/account.go

* ica: wrong handshake flow tests (#538)

* add tests for testing wrong handshake flow

Adds tests for each handshake test attempting to initialize the handshake using the wrong flow.
Adds an additional portID check to OnChanOpenAck.

* remove unnecessary comment

* readjust tests based on new layout

* Add tests provided by Damian

* add tests for OnChanCloseInit and OnChanCloseConfirm on host side

* add OnChanCloseInit/Confirm and NegotiateAppVersion tests to controller side

* fix failing test

* ica: genesis state validation (#554)

* adding genesis state validation

* adding genesis state validation tests

* Update modules/apps/27-interchain-accounts/types/genesis_test.go

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

* Update modules/apps/27-interchain-accounts/types/genesis_test.go

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

* adding ValidateAccountAddress helper to reduce code duplication

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

* Rename imports within host/controller (#571)

* alias ica types import to  for host submodule

* alias ica types import to  for controller submodule

* Add Enable/Disable controller/host on-chain params (#566)

* add ica params

Add new Params type to ICA. A single test is added to check defaults and validation.
Usage within the ICA keepers is still needed

* regenerate params proto into host and controller submodules

* split params implementation into host/controller

* add keeper params logic

* Apply suggestions from code review

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* add host genesis init/export params test case

* add genesis validation for controller and host params

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Disable usage of controller and host submodules based on on-chain params (#575)

* add usage of enabling/disabling controller and host submodules

Adds if statement checks in controller/host ibc_module.go. Adds tests for each added if statements.
Tests not added for controller ack/timeout since tests do not exist for those functions yet.

* Update modules/apps/27-interchain-accounts/controller/ibc_module_test.go

* add grpc query for controller and host params (#574)

Adds gRPC routes for controller params and host params. Add tests and registers the gRPC gateways on the ica module

* modify ica portid to be interchain-account instead of ibcaccount (#577)

* feat: allowlist host param using msg typeURLs (#576)

* add ica params

Add new Params type to ICA. A single test is added to check defaults and validation.
Usage within the ICA keepers is still needed

* regenerate params proto into host and controller submodules

* split params implementation into host/controller

* add keeper params logic

* Apply suggestions from code review

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* add host genesis init/export params test case

* updating host proto params to include msg allowlist

* adding surrounds for new allowlist host param

* enforcing msg is present in allowlist in AuthenticateTx, updating tests

* regenerating protos post merge conflict

* applying suggestinons from review

* adding strings.Trimspace as suggested

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

* Add cli query for host and controller params (#578)

* add cli query commands for host/controller params

* Update modules/apps/27-interchain-accounts/client/cli/cli.go

* Update modules/apps/27-interchain-accounts/controller/client/cli/query.go

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Update modules/apps/27-interchain-accounts/host/client/cli/query.go

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* renmaing ModuleName to SubModuleName for ica controller/host (#579)

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

* add tests/code coverage for OnRecv, OnTimeout and OnAck for controller submodule (#585)

Co-authored-by: Colin Axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Luke Rhoads <51463884+lukerhoads@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Charly <charly@interchain.berlin>

* update changelog (#602)

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* chore: add changelog for ICA (#604)

* bump go package to v3 (#605)

* add migration doc

* bump go package to v3

* fix migration doc

* revert unnecessary change

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

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* fix: move changelog entries to unreleased section (#608)

* chore: rename types.proto -> packet.proto for alignment (#612)

* deleting types.pb.go generatred protobufs

* renaming types.proto -> packet.proto and regenerating protos

* remove unnecessary AccountKeeper field in controller submodule of interchain accounts (#618)

* add app.go integration docs for interchain accounts (#619)

* add integration docs for interchain accounts

* Update docs/app_modules/interchain-accounts/integration.md

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Update docs/app_modules/interchain-accounts/integration.md

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* fix alignment

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* fix: correctly propagate sdk.Result events to the current ctx (#624)

* adding ignored sdk.Results to correctly propagate events to the current context

* adding inline comments for events subtleties

* docs: adding interchain accounts params docs (#625)

* adding interchain accounts params docs

* adding ICS dash separation

* docs: add migrations from v1 to v2 and from v2 to v3 in docs site (#623)

* docs: add migrations fro v1 to v2 and from v2 to v3 in docs site

* docs: rename title of migration docs

* docs: update title

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* remove proof spec from ClientState interface (#629)

* remove proof spec from ClientState interface

* add changelog and migration doc note

* build(deps): bump github.com/spf13/viper from 1.9.0 to 1.10.0 (#628)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](https://github.com/spf13/viper/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

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

* build(deps): bump github.com/spf13/viper from 1.10.0 to 1.10.1 (#638)

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.10.0 to 1.10.1.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](https://github.com/spf13/viper/compare/v1.10.0...v1.10.1)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

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

* docs: add clear definition of IBC at top of readme now that Vega upgrade has passed (#630)

* add clear definition of IBC at top of readme

now that Vega upgrade has passed and IBC is standalone module

* Update README.md

remove the backbone

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

* build(deps): bump github.com/spf13/cobra from 1.2.1 to 1.3.0 (#637)

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Changelog](https://github.com/spf13/cobra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spf13/cobra/compare/v1.2.1...v1.3.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

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

* docs: add roadmap (#558)

* add roadmap

* move roadmap to docs

* docs: updates to roadmap

* docs: more roadmap updates

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* remove CounterpartyHops function, add GetChannelConnection (#644)

* remove CounterpartyHops function, add GetChannelConnection

Removes CounterpartyHops function, 04-channel uses are replaced with direct calls to the connections counterparty connection id
Adds GetChannelConnection as a helper function for getting the connection associated with a channel. Allows access to connectionID and counterparty connectionID

* add changelog

* docs: developing ica auth module (#633)

* add ica auth development docs

* fix code formatting

* fix spacing

* add link

* Apply suggestions from code review

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* fix alignment

* address remaining review suggestions

* link to ICS30

* Update docs/app_modules/interchain-accounts/ica_auth.md

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* fix misalignment

* remove capitalization of authentication module

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* update changelog (#645)

* update changelog

* cosmetic update of changelog

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* 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] <support@github.com>

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

* 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 <damiannolan@gmail.com>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* 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 <marbar3778@yahoo.com>

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

* 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 …
fedekunze added a commit that referenced this pull request Jan 26, 2022
* 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](actions/setup-go@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] <support@github.com>

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

* 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 <damiannolan@gmail.com>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* 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 <marbar3778@yahoo.com>

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

* 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 <crodveg@gmail.com>

* 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](actions/checkout@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] <support@github.com>

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 <crodveg@gmail.com>

Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* fixes evmos tests

* cleanup

* changelog and cleanup

* pr suggestions. bump chainid

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
mergify bot pushed a commit that referenced this pull request Jan 26, 2022
* 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](actions/setup-go@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] <support@github.com>

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

* 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 <damiannolan@gmail.com>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* 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 <marbar3778@yahoo.com>

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

* 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 <crodveg@gmail.com>

* 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](actions/checkout@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] <support@github.com>

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 <crodveg@gmail.com>

Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* fixes evmos tests

* cleanup

* changelog and cleanup

* pr suggestions. bump chainid

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
(cherry picked from commit 8dfbc9c)
fedekunze pushed a commit that referenced this pull request Jan 27, 2022
* 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](actions/setup-go@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] <support@github.com>

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

* 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 <damiannolan@gmail.com>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* 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 <marbar3778@yahoo.com>

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

* 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 <crodveg@gmail.com>

* 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](actions/checkout@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] <support@github.com>

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 <crodveg@gmail.com>

Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* fixes evmos tests

* cleanup

* changelog and cleanup

* pr suggestions. bump chainid

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
(cherry picked from commit 8dfbc9c)

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>
colin-axner added a commit that referenced this pull request Feb 10, 2022
* removing unused proto imports in interchain-accounts (#718)

* Merge pull request #721 from cosmos/colin/694-fix-err-msg

simplify connection handshake error messages

* refactor: move ica connection identifiers from port to version metadata bytestring (#700)

* define and generate new metadata proto type

* refactor types pkg, remove version string parsers, add PortPrefix

* refactor ica entrypoint and handshake to handle connection ids in metadata

* fixing broken test cases

* adding controller port and metadata validation, adding new testcases

* updating proto doc and removing commented out code

* updating testcase names, adding metadata constructor func, updating PortPrefix and removing Delimiter

* adding ErrInvalidControllerPort and ErrInvalidHostPort

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* updating error msgs to use expected, got format

* adding inline metadata documentation as per review, updating bz to versionBytes

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* make IsValidAddr private and extend regex to account for 0 length string (#723)

* make IsValidAddr private and extend regex to account for 0 length strings

* add tests

* remove spaces and commas from LongString

* Update LICENSE (#728)

* refactor: allow ICA authentication module provided timeout timestamp values (#726)

* allow ICA authentication module provided timeout timestamp

* update ICA docs

* fix test case

* Apply suggestions from code review

Co-authored-by: Sean King <seantking@users.noreply.github.com>

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* Fix ambiguity in TimeoutTimestamp docs (#715)

* Fix ambiguity in TimeoutTimestamp docs

* TimeoutTimestamp docs wording

* bump docs json lock file to fix security vulnerability (#727)

* fix: gogoproto yaml (#732)

* refactor: no longer removing active channel mapping on close channel (#730)

* refactor: no longer remove active channel mapping on close chan

* refactor: adding HasActiveChannel helper fn & refactor active channel test cases

* fix: update helper fn

* refactor: remove DeleteChannelId

* refactor: err on GetActiveChannel & use TestVersion var in use testcase

* chore: comments

* nit: TestVersion var

* nits: fn name + comment

* refactor: reusable metadata validation (#729)

* define and generate new metadata proto type

* refactor types pkg, remove version string parsers, add PortPrefix

* refactor ica entrypoint and handshake to handle connection ids in metadata

* fixing broken test cases

* adding controller port and metadata validation, adding new testcases

* updating proto doc and removing commented out code

* updating testcase names, adding metadata constructor func, updating PortPrefix and removing Delimiter

* adding ErrInvalidControllerPort and ErrInvalidHostPort

* refactoring metadata validation to reusable func

* returning correct err type

* regenerating protos after merge conflicts

* adding separate validation funcs for controller and host

* correcting error msg in ValidateHostMetadata

* updating with review suggestions

* adding additional empty address check to ACK step, adding test case

* adding strings.Trimspace

* adding success with empty address testcase for ValidateHostMetadata

* remove amino, enforce serialize and deserialize functions to only accept ProtoCodec (#725)

* fix: update IsRevisionFormat and IsClientIDFormat to account for newlines before the dash (#724)

* update IsRevisionFormat to disallow newlines before the -<revision-number>

* update IsClientIDFormat to account for newlines before the dash

* add changelog

* Update modules/core/02-client/types/height.go

* add test case and update CHANGELOG

* add goreleaser github action to attach simd binary to releases and pre-releases (#738)

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* docs: ica tx atomicity docs and code snippet updates (#719)

* adding parameters.md to ica docs

* updating interchain accounts docs, adding parameters.md and transactions.md

* updating formatting

* correcting wording

* adding diagram to docs/assets/

* fixing ChanOpenTry api in code snippet

* fixing broken image link

* updating wording

* Update docs/app-modules/interchain-accounts/transactions.md

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* Update docs/app-modules/interchain-accounts/transactions.md

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* Update docs/app-modules/interchain-accounts/parameters.md

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* updating as per review discussion

* removing capitals in heading as per review

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* deps: bump vuepress-theme-cosmos (#754)

* fix: remove error from ics27 channel ack (#751)

* removing error from channel ack in favour of event emission

* applying suggestions from PR

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

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Update modules/apps/27-interchain-accounts/types/errors.go

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

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

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

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

* feat: adding helper fn to generate capability name for testing (#776)

* feat: adding helper fn to generate cap name for testing

* fix: refactoring tests to use new helper in Mock package

* fix: comment

* fix: remove unused fn

* Update testing/mock/ibc_module.go

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

* Update testing/mock/ibc_module_test.go

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

* adding additional helpers for ack + timeout

* chore: changelog

* nit: err syntax

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

* test: adding test for accessing interchain account after closing channel (#736)

* test: adding test for accessing interchain account after closing channel

* fix packet commitment does not exist bug

Packet commitment hash was not matching due to non zero timeout height

* test: send another packet on the newly created channel

* nit: update comments

* nits: update test and move to top level

* nit: don't discard err

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

* Replace github.com/pkg/errors with stdlib errors (#775)

* Replace github.com/pkg/errors with stdlib errors

* Update CHANGELOG.md

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* update roadmap (#735)

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* fix: resolve proto lint failure - buf.yaml (#781)

* feat: query host chain msg events via cli (#782)

* WIP implementation

* removing grpc query

* update long usage

* removing buf.yaml updates

* use limit of 1

* adding channel id validation to short circuit with invalid ids

* docs: add MakeFile command to view docs locally (#788)

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

* 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] <support@github.com>

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

* 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 <damiannolan@gmail.com>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* 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 <marbar3778@yahoo.com>

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

* 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 <crodveg@gmail.com>

* 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] <support@github.com>

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 <crodveg@gmail.com>

Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* fixes evmos tests

* cleanup

* changelog and cleanup

* pr suggestions. bump chainid

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* chore: renaming API fns (#786)

* build(deps): bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#796)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.43.0 to 1.44.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/grpc/grpc-go/releases">google.golang.org/grpc's releases</a>.</em></p>
<blockquote>
<h2>Release 1.44.0</h2>
<h1>New Features</h1>
<ul>
<li>balancer: add RLS load balancing policy (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5046">#5046</a>)</li>
<li>xds: add RLS Cluster Specifier Plugin (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5004">#5004</a>)</li>
<li>insecure: remove experimental notice (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5069">#5069</a>)</li>
</ul>
<h1>Bug Fixes</h1>
<ul>
<li>internal/balancergroup: eliminate race in exitIdle (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5012">#5012</a>)</li>
<li>authz: fix regex expression match (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5035">#5035</a>)</li>
</ul>
<h1>Documentation</h1>
<ul>
<li>grpc: minor improvement on WithInsecure() document (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5068">#5068</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/shitian-ni"><code>@​shitian-ni</code></a></li>
</ul>
</li>
<li>attributes: document that some value types (e.g. <code>map</code>s) must implement Equal (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5109">#5109</a>)</li>
<li>dialoptions.go: Fix WithBlock godoc (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5073">#5073</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/sgreene570"><code>@​sgreene570</code></a></li>
</ul>
</li>
<li>grpclog.DepthLoggerV2: Correct comment: formats like fmt.Println (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5038">#5038</a>)
<ul>
<li>Special Thanks: <a href="https://github.com/evanj"><code>@​evanj</code></a></li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/grpc/grpc-go/commit/b4c5e24c7373b22c6c38d68379c39ecdc616a968"><code>b4c5e24</code></a> Change version to 1.44.1-dev (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5121">#5121</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/da8e0b8fa35c185b30da2fe706ce9535b918239f"><code>da8e0b8</code></a> Change version to 1.44.0 (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5120">#5120</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/77b478d768e7e75234406b53471844a0a8d6faf4"><code>77b478d</code></a> xds/federation: e2e tests (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5103">#5103</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/907a202a615d3b2de857e4302cf6032004d65aee"><code>907a202</code></a> attributes: document that some value types (e.g. <code>map</code>s) must implement Equal...</li>
<li><a href="https://github.com/grpc/grpc-go/commit/2fb1ac854b2037b408121870f0dcc81474ca483b"><code>2fb1ac8</code></a> test: fix potential goroutine leak in TestUpdateAddresses_RetryFromFirstAddr ...</li>
<li><a href="https://github.com/grpc/grpc-go/commit/afded7231d0083fb7e9fcccc768ecbf56c271626"><code>afded72</code></a> xds/federation: update xdsclient to support multi authority (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5042">#5042</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/b069440926d58e0a6fa6c59b01638a6948f9e6f3"><code>b069440</code></a> credentials/google: use grpctest.Tester for tests in this package (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5098">#5098</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/fbaf7c55821070944bb0ce342ba3c54cc521c6fe"><code>fbaf7c5</code></a> authz: update representation of allow authenticated in SDK (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5052">#5052</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/344b93a285883f2da713622d5064ad4b4512e63e"><code>344b93a</code></a> testdata: use SHA256 as signing algorithm in testdata certs (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5074">#5074</a>)</li>
<li><a href="https://github.com/grpc/grpc-go/commit/4d58dd98db75e180ebf67cce127db5068ff7ab3e"><code>4d58dd9</code></a> dialoptions.go: Fix WithBlock godoc (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5073">#5073</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/grpc/grpc-go/compare/v1.43.0...v1.44.0">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.43.0&new-version=1.44.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>

* chore: restructure code logically (#804)

* refactor: construct ics27 error acknowledgement with determinstic ABCI code (#794)

## Description

Splitting #701 into 3 parts:
- error acknowledgement changes
- results acknowledgement changes
- ADR explaining justification

This pr handles the first case

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`
- [ ] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

* docs: active channel description (#787)

* docs: adding active channels explanation

* change ordering

* updating config and adding more docs

* Update docs/app-modules/interchain-accounts/active-channels.md

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Update docs/app-modules/interchain-accounts/active-channels.md

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Update docs/app-modules/interchain-accounts/active-channels.md

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Update docs/app-modules/interchain-accounts/active-channels.md

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* add helper function in testing package: RecvPacketWithResult (#810)

## Description

Allows the acknowledgement to be parsed from MsgRecvPacket results. Adjusts RelayPacket to use the acknowledgement from the events rather than expecting the acknowledgement to be passed in before hand. 

Useful for #701 

Will make a followup pr breaking RelayPacket API

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

* chore: use connection ID in interchain account store keys (#791)

* updating protos to include connection id

* updating interchain account store key to include conn id

* updating arg names

* updating proto comments

* cleanup

* rename connID -> connectionID in AuthenticateTx arg

* updating to use controller connection id in controller store key

* chore: use connection ID in active channel store keys (#807)

* adding connection id to active channel genesis protobuf type

* adding connection id to active channel store key

* updating protodoc

* fixing doc typo

* updating godocs to include connection ID

* readding active channel check in SendTx

* chore: remove unnecessary arg from RelayPacket testing function (#813)

## 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

* chore: use host chain connection id in ica address generation (#790)

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

* docs: adding ica docs for exclusive submodule app wiring (#809)

* 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 <25233464+colin-axner@users.noreply.github.com>

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

* Add stable release policy (#685)

* add stable release policy

* add release series table

* point-release -> patch-release

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* change LTS to be 1 year with potential extension

* Update RELEASES.md

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Update RELEASES.md

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* Update RELEASES.md

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* update end of life table

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

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

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>

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

## 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

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

* adding test for multiple controllers, single host

* updating inline comments

* updating todos with correct ports

* reorder to use pathCToB.Endpoint for connection IDs

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

## 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

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

* 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

* refactor: active channel key format (#823)

## 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

* refactor: RegisterInterchainAccount (#814)

## 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

* refactor: reformat KeyOwnerAccount (#833)

## 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

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

* 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

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

## 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

* ADR 003: ICS27 Ack format (#812)

## 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

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

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

## 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

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

* Move emissions to functions (#783)

* 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 <25233464+colin-axner@users.noreply.github.com>

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

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

* refactore based on code review

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

* Added ChannelId to MsgChannelOpenInitResponse (#848)

## 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

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

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>

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

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

## 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

* 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

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

* add custom ante handler

* add godoc and changelog entry

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

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

## Description

Currently the `A…
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] <support@github.com>

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

* 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 <damiannolan@gmail.com>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* 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 <marbar3778@yahoo.com>

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

* 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 <crodveg@gmail.com>

* 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] <support@github.com>

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 <crodveg@gmail.com>

Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <carlos@interchain.io>

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

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

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

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

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

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

* 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 <carlos@interchain.io>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
(cherry picked from commit cb9bf5dbb283e5e0eb0c29ee658968019bf58f49)

Co-authored-by: nir1218 <nir1218@users.noreply.github.com>

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

(cherry picked from commit 0a7ad9b117596ac4b6ce6d597d124de0f2bc4eae)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* 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] <support@github.com>

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

* 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 <damiannolan@gmail.com>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* 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 <marbar3778@yahoo.com>

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

* 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 <crodveg@gmail.com>

* 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] <support@github.com>

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 <crodveg@gmail.com>

Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* fixes evmos tests

* cleanup

* changelog and cleanup

* pr suggestions. bump chainid

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
(cherry picked from commit 8dfbc9cae2cf1f6811557feec4aa475801b64bfa)

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
(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 <carlos@interchain.io>

* 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 <damiannolan@gmail.com>

* 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 <carlos@interchain.io>

* 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 <damiannolan@gmail.com>

* 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 <seantking@users.noreply.github.com>

* 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 <seantking@users.noreply.github.com>

* 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 <seantking@users.noreply.github.com>

* 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 <damiannolan@gmail.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

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

(cherry picked from commit c7ea0e850e927d497bbe1fff6ff97d27fbc190d5)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

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

(cherry picked from commit f6a9279936c3571268c39e4e09faa236ed3e82b9)

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

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

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

* refactore based on code review

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
(cherry picked from commit 81b619d7436712437ef3ccb6b32111d437db58c6)

Co-authored-by: nir1218 <nir1218@users.noreply.github.com>

* 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 <rigel.rozanski@gmail.com>

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

(cherry picked from commit 31487bcd9b5817e56863d595a2b8cf2ddc7051ef)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <crodveg@gmail.com>
(cherry picked from commit d5e2ba5c3dbf5f51134f3cceefaa9c96b4d608d1)

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <crodveg@gmail.com>
(cherry picked from commit f442721c7ea7ce69a4aadaf24808b2b250d89628)

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* 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 <seantking@users.noreply.github.com>
Co-authored-by: Colin Axnér <25233464+colin-axner@users.noreply.github.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* refactor: code hygiene

* Update testing/chain.go

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

* fix: setting totalySupply to empty

* nit: CamelCase not UPPERCASE

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
(cherry picked from commit 20dd5cacc4cf983b5628b39908b59a90a4171e95)

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* 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 <tim@incremental.co>

* 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 <25233464+colin-axner@users.noreply.github.com>

* refactor: code hygiene

* Update testing/chain.go

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

* multi validator commit taken from @saione

* add function to pass custom valset

* add changelog

Co-authored-by: Sean King <sean@seking.dev>
Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
(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] <support@github.com>

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

* 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 <damiannolan@gmail.com>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* 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 <marbar3778@yahoo.com>

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

* 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 <crodveg@gmail.com>

* 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] <support@github.com>

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 <crodveg@gmail.com>

Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <carlos@interchain.io>

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

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

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

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

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

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

* 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 <carlos@interchain.io>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
(cherry picked from commit cb9bf5dbb283e5e0eb0c29ee658968019bf58f49)

Co-authored-by: nir1218 <nir1218@users.noreply.github.com>

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

(cherry picked from commit 0a7ad9b117596ac4b6ce6d597d124de0f2bc4eae)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* 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] <support@github.com>

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

* 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 <damiannolan@gmail.com>

* remove broken link

* remove broken links

* Apply suggestions from code review

Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>

* 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 <marbar3778@yahoo.com>

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

* 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 <crodveg@gmail.com>

* 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] <support@github.com>

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 <crodveg@gmail.com>

Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>

* fixes evmos tests

* cleanup

* changelog and cleanup

* pr suggestions. bump chainid

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es>
Co-authored-by: Marko <marbar3778@yahoo.com>
Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
(cherry picked from commit 8dfbc9cae2cf1f6811557feec4aa475801b64bfa)

Co-authored-by: Ramiro Carlucho <ramirocarlucho@gmail.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
(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 <carlos@interchain.io>

* 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 <damiannolan@gmail.com>

* 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 <carlos@interchain.io>

* 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 <damiannolan@gmail.com>

* 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 <seantking@users.noreply.github.com>

* 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 <seantking@users.noreply.github.com>

* 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 <seantking@users.noreply.github.com>

* 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 <damiannolan@gmail.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

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

(cherry picked from commit c7ea0e850e927d497bbe1fff6ff97d27fbc190d5)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

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

(cherry picked from commit f6a9279936c3571268c39e4e09faa236ed3e82b9)

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

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

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

* refactore based on code review

Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
(cherry picked from commit 81b619d7436712437ef3ccb6b32111d437db58c6)

Co-authored-by: nir1218 <nir1218@users.noreply.github.com>

* 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 <rigel.rozanski@gmail.com>

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

(cherry picked from commit 31487bcd9b5817e56863d595a2b8cf2ddc7051ef)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <crodveg@gmail.com>
(cherry picked from commit d5e2ba5c3dbf5f51134f3cceefaa9c96b4d608d1)

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* 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 <crodveg@gmail.com>
(cherry picked from commit f442721c7ea7ce69a4aadaf24808b2b250d89628)

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* 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 <seantking@users.noreply.github.com>
Co-authored-by: Colin Axnér <25233464+colin-axner@users.noreply.github.com>

* 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 <25233464+colin-axner@users.noreply.github.com>

* refactor: code hygiene

* Update testing/chain.go

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

* fix: setting totalySupply to empty

* nit: CamelCase not UPPERCASE

Co-authored-by: Aditya <adityasripal@gmail.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
(cherry picked from commit 20dd5cacc4cf983b5628b39908b59a90a4171e95)

Co-authored-by: Sean King <seantking@users.noreply.github.com>

* 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 <tim@incremental.co>

* 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 <25233464+colin-axner@users.noreply.github.com>

* refactor: code hygiene

* Update testing/chain.go

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

* multi validator commit taken from @saione

* add function to pass custom valset

* add changelog

Co-authored-by: Sean King <sean@seking.dev>
Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
(cherry picked from commit 98f4d3af3d9ea8f345c03031deec3162d21d5c45)

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

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

* chore: update migration docs

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

Co-authored-by: Damian Nolan <damiannolan@gmail.com>

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
(cherry picked from commit ef34765e7010ec5f526a44587de4be0e2afbde12)

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

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

* bug: support base denoms with slashes

* add changelog entry

Co-authored-by: Carlos Rodriguez <crodveg@gmail.com>
(cherry picked from commit 4545154cc60db44a26dadec2e2b2422bd138f5d1)

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

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

(cherry picked from commit 6d6888b9c5cffc6b9c0f09ec5f77a8932d0b7e86)

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* 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 <crodveg@gmail.com>
(cherry picked from commit 9d8be7cbab5cb1987449ff92fa2376c1ca44ac30)

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* 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…
CosmosCar pushed a commit to caelus-labs/ibc-go that referenced this pull request Nov 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants