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

ICS 29: Fee Middleware #276

Merged
merged 87 commits into from
Apr 6, 2022
Merged

ICS 29: Fee Middleware #276

merged 87 commits into from
Apr 6, 2022

Conversation

AdityaSripal
Copy link
Member

Description

Implements fee middleware as specified here

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)
  • 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

* scaffolding for 29-fee

* fix build

* update keeper test

* remove module test
@AdityaSripal AdityaSripal marked this pull request as draft July 21, 2021 09:53
@codecov-commenter
Copy link

codecov-commenter commented Jul 21, 2021

Codecov Report

Merging #276 (39d4c56) into main (ffa9896) will increase coverage by 0.25%.
The diff coverage is 82.96%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #276      +/-   ##
==========================================
+ Coverage   79.82%   80.07%   +0.25%     
==========================================
  Files         151      166      +15     
  Lines       10907    11870     +963     
==========================================
+ Hits         8706     9505     +799     
- Misses       1776     1908     +132     
- Partials      425      457      +32     
Impacted Files Coverage Δ
modules/apps/29-fee/types/ack.go 0.00% <0.00%> (ø)
modules/core/04-channel/types/packet.go 67.56% <0.00%> (-14.40%) ⬇️
modules/core/04-channel/types/version.go 100.00% <ø> (ø)
modules/apps/29-fee/module.go 54.38% <54.38%> (ø)
modules/apps/29-fee/types/codec.go 70.00% <70.00%> (ø)
modules/apps/29-fee/keeper/msg_server.go 75.00% <75.00%> (ø)
modules/apps/29-fee/keeper/grpc_query.go 77.68% <77.68%> (ø)
modules/apps/29-fee/keeper/escrow.go 80.00% <80.00%> (ø)
modules/apps/29-fee/types/fee.go 83.01% <83.01%> (ø)
modules/apps/29-fee/types/genesis.go 84.78% <84.78%> (ø)
... and 7 more

seantking and others added 3 commits July 26, 2021 11:03
* feat: adding proto files for fee payment middleware

* grammar

* fix: remove generated .pb files

* fix: comment

* feat: adding PacketId type

* refactor: fee / genesis

* refactor: escrowed fees map

* Apply suggestions from code review

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* refactor: use packetID + minor changes

* feat: adding query for all incentivized packets + some fixes

* feat: adding pagination to incentivized query

* fix: removing generated ibc directory + adding import/yaml

* fix: naming

* increase max depth for proto file searching and make proto all

* Update proto/ibc/applications/middleware/fee/v1/fee.proto

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

* refactor: remove file imports/add yaml/add argument for requests

* refactor: updating IdentifiedPacketFee

* fix: remove hidden file

* removing middleware dir & adding query

* remove junk file and update query rpcs

* Apply suggestions from code review

* Apply suggestions from code review

* remove query yaml, make proto-all

Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Aditya Sripal <[email protected]>
* fix: removing unncessary fields MsgEscrow & adding query params

* fix: grammar

* fix: add yaml
seantking and others added 2 commits September 8, 2021 13:29
* feat: adding MsgServer for RegisterCounterPartyAddress &
EscrowPacketFree

* test: adding test for ValidateBasic

* fix: removing validate basic check

* fix: removing empty file

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/types/msgs.go

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

* Update modules/apps/29-fee/types/keys.go

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

* Update modules/apps/29-fee/keeper/keeper.go

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

* fix: fixing typos, variable names, comments

* fix: updating import comments

* test: adding test for KeyRelayerAddress

* update: comments & key_test

* Update modules/apps/29-fee/keeper/msg_server.go

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

* fix: error message

* docs: updating RegisterCounterpartyAddress fn description

Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Aditya <[email protected]>
AdityaSripal and others added 10 commits September 27, 2021 12:36
* do handshake logic, create test file

* do cap logic and fix build

* open handshake implementation and tests

* remove prints

* Update modules/apps/29-fee/module.go

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

* debugging progress

* fee enabled flag

* cleanup handshake logic

* fix tests

* much cleaner simapp

* split module.go file

* cleanup and docs

* assert IBC interfaces are fulfilled in middleware

* Update modules/apps/transfer/module.go

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

* Apply suggestions from code review

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

* fix unnecessary crossing hello logic

* fix version negotiation bugs and improve tests

* cleanup tests

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* address rest of colin comments

Co-authored-by: Sean King <[email protected]>
Co-authored-by: colin axnér <[email protected]>
* fix: adding second endpoint for async pay fee + renaming types

* feat: adding escrow logic

* feat: updating proto types & escrow logic

* fix: stub fn & proto comment

* feat: adding PayFee & PayFeeTimeout & escrow_test

* test: adding happy path for EscrowPacketFee

* fix: comments, error handling

* fix: comments & grammar

* test: adding unhappy path for escrow

* tests(escrow): adding hasBalance check for module acc

* test(PayFee): adding happy path for PayFee tests

* tests(PayFee, PayFeeTimeout): adding tests

* fix: adding relayers back to IdentifiedPacket

* fix: removing refund acc from key

* fix: storing IdentifiedPacketFee in state instead of Fee

* feat: adding msg_server test for registerCPAddr, wiring for codec + stubs for sdk.Msg interface

* test: adding msg_server test for PayPacketFee

* test: adding PayPacketFeeAsync msg_server test

* chore: updating PayFee -> DistributeFee & minor nits

* nit: removing unnecessary nil check

* refactor: add portId to store key & use packetId as param

* fix: add DeleteFeeInEscrow & remove fee on successful distribution

* tests: adding validation & signer tests for PayFee/Async & updating proto to use Signer sdk standard

* chore: adding NewIdentifiedPacketFee fn

* fix: getter/setter for counterparty address + fix NewIdentifiedPacketFee

* fix: updating EscrowPacketFee with correct usage of coins api

* test: adding balance check for refund acc after escrow

* fix: remove unncessary errors

* test: updating escrow tests + miscellaneous fixes

* nit: updating var names

* docs: godoc

* refactor: IdentifiedPacketFee & Fee no longer pointers

* fixes: small fixes

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/keeper.go

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

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/types/msgs.go

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

* nit: proto doc & error fix

* fix: escrow test

* test: updating distribute fee tests

* test: adding validation check for fee and updating tests

* test: allow counterparty address to be arbitrary string

* fix: message validation should pass if one fee is valid

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/escrow.go

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

* fix: nits

* Update modules/apps/29-fee/keeper/escrow.go

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

* test: adding isZero check for msgs

Co-authored-by: Aditya <[email protected]>
Co-authored-by: colin axnér <[email protected]>
* proto: adding genesis state

* feat: add GetAllIdentifiedPacketFees

* feat: adding genesis.go & updating proto + app.go

* fix: removing PortId from genesis

* feat: adding GetAll for relayer addr/fee enabled chan + update genesis

* test: TestExportGenesis

* feat: update type + hook up to module.go

* fix: remove PortKey

* fix: imports + remove scoped keeper

* nit: using NewPacketId helper and updating helper def to have correct params
* feat: adding genesis validation + tests

* fix: imports

* Update modules/apps/29-fee/types/genesis.go

* fix: nit

* Update modules/apps/29-fee/types/genesis_test.go

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

* nit: imporve default gen val test

* chore: move packetId + val to channeltypes and use validate fn

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

* incentivized ack proto
* add iterate logic

* add closing logic with tests

* add comments for panic

* change invariant breaking recovery to disabling middleware rather than panicing

* docs, tests, minor refactor
* chore: add ICS4 wrapper

* fix: remove channelKeeper sender packet

* chore: add WriteAck
colin-axner and others added 5 commits January 12, 2022 12:18
* 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] <[email protected]>

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] <[email protected]>

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

* 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 <[email protected]>

* 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 <[email protected]>

* 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] <[email protected]>

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

* 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] <[email protected]>

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 <[email protected]>

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

* 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] <[email protected]>

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 <[email protected]>
Co-authored-by: colin axnér <[email protected]>

* 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 <[email protected]>

* removing client/cli query

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

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

* 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] <[email protected]>

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 <[email protected]>

* Update docs/migrations/migration-template.md

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

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

* add releases.md file (#408)

* add releases.md file

* address review comment

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

* 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 <[email protected]>

* chore: update changelog (#422)

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

* 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 <[email protected]>

* remove app capability, add merge fn, changelog

* add back newline

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

* 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] <[email protected]>

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

* update releases decision tree (#429)

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

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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] <[email protected]>

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 <[email protected]>

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

* 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] <[email protected]>

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 <[email protected]>

* Apply suggestions from code review

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

* address suggestions

* add in-code interfaces and clarify cap docs

* fix carlos nit

* Module -> IBCModule

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

* 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] <[email protected]>

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 <[email protected]>

* fix broken link (#515)

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

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

* 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] <[email protected]>

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

* update changelog (#532)

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

* 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 <[email protected]>

* 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 <[email protected]>

* Apply suggestions from code review

thanks for detailed review and feedback!

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

* 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 <[email protected]>

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

* 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] <[email protected]>

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] <[email protected]>

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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Colin Axnér <[email protected]>

* 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 <[email protected]>

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

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

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

* 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 <[email protected]>

* 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 <[email protected]>

* 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] <[email protected]>

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 <[email protected]>

* 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 <[email protected]>

* 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] <[email protected]>

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

* remove ChanCloseInit function from transfer keeper (#275)

* remove CloseChanInit from transfer

* add changelog

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

* 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] <[email protected]>

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] <[email protected]>

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] <[email protected]>

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] <[email protected]>

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] <[email protected]>

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 <[email protected]>

* 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] <[email protected]>

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] <[email protected]>

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] <[email protected]>

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

* 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 <[email protected]>

* 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 <[email protected]>

* 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] <[email protected]>

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

* 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] <[email protected]>

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 <[email protected]>

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

* 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] <[email protected]>

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 <[email protected]>
Co-authored-by: colin axnér <[email protected]>

* 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 <[email protected]>

* removing client/cli query

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

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

* 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] <[email protected]>

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 <[email protected]>
Co-authored-by: Aditya <[email protected]>
Co-authored-by: Aleksandr Bezobchuk <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Luke Rhoads <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Charly <[email protected]>

* 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 <[email protected]>

* updating ValidateVersion godoc

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

* 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 <[email protected]>

* updating godoc and import alias

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

* 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 <[email protected]>

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

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

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

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

* 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 <[email protected]>

* renaming validation func, removing parenthesis in error msgs

* renaming func validateControllerPort -> validateControllerPortParams

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

* 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 <[email protected]>

* adding channel and port id in error msg

* correcting error wording

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

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

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

* 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 <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>

* 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 <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>

* 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 <[email protected]>

* removing staking test for insufficient funds

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

* 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 <[email protected]>

* updating logger kvs, and simplifying OnRecvPacket

* address nits on error strings and godocs

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

* 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 <[email protected]>

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

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

* 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 <[email protected]>

* 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 <[email protected]>

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

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

* adding ValidateAccountAddress helper to reduce code duplication

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

* 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 <[email protected]>

* add host genesis init/export params test case

* add genesis validation for controller and host params

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

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

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

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

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

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

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

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

Co-authored-by: Colin Axnér <[email protected]>
Co-authored-by: Luke Rhoads <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aditya <[email protected]>
Co-authored-by: Aleksandr Bezobchuk <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Charly <[email protected]>

* update changelog (#602)

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

* 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 <[email protected]>

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

* 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 <[email protected]>

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

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

* fix alignment

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

* 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 <[email protected]>

* 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] <[email protected]>

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

* 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] <[email protected]>

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 <[email protected]>

* 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] <[email protected]>

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 <[email protected]>

* 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 <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* fix alignment

* address remaining review suggestions

* link to ICS30

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

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

* fix misalignment

* remove capitalization of authentication module

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

* update changelog (#645)

* update changelog

* cosmetic update of changelog

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

* reorganize channel handshake handler (#647)

* reorganize channel handshake handler

split out channel state changes into its own function.

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

* add changelog and migration doc entry

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

* docs: ICA Overview (#626)

* docs: ica overview

* fix: ordering

* add spacing

* fix: spacing

* fix: remove bulletpoints

* fix: wording

* update go mod for security vulnerabilities (#655)

* update go mod for security vulnerabilities

* update package-lock.json

* update vue dependency (#662)

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

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

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

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

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

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

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

* begin removal of spec docs within core ibc

* remove broken link

* Apply suggestions from code review

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

* remove broken link

* remove broken links

* Apply suggestions from code review

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

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

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

* remove NegotiateAppVersion and AppVersion gRPC (#643)

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

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

* modify OnChanOpenTry to return negotiated version

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

* fix ibc_module_test.go tests

* fix tests

* Apply suggestions from code review

* add handshake test case

* add CHANGELOG and migration docs

* update documentation

* fix broken link

* fix broken link (#664)

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

* update Makefile, add docs build checker

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

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

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

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

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

* update of roadmap with latest release (#653)

* update …
crodriguezvega and others added 4 commits March 22, 2022 15:22
* add adr 004

* add to README

* Update docs/architecture/adr-004-ics29-lock-fee-module.md

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

* Update docs/architecture/adr-004-ics29-lock-fee-module.md

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

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Aditya <[email protected]>
@crodriguezvega crodriguezvega marked this pull request as ready for review April 6, 2022 11:59
Copy link
Member

@damiannolan damiannolan left a comment

Choose a reason for hiding this comment

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

🚀

* add banner image (#1158)

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

* Add alpha, beta, and rc release definitions (#1151)

## Description

The proposed definitions for each phase of our release cycle. Please feel free to adjust my wording

closes: #881 


---

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

* build(deps): bump google.golang.org/protobuf from 1.27.1 to 1.28.0 (#1164)

Bumps [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) from 1.27.1 to 1.28.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protocolbuffers/protobuf-go/releases">google.golang.org/protobuf's releases</a>.</em></p>
<blockquote>
<h2>v1.28.0</h2>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-overview">Overview</a></li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-notable-changes">Notable changes</a>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-recursion-limit">UnmarshalOption RecursionLimit</a></li>
</ul>
</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-breaking-changes">Upcoming breakage changes</a></li>
</ul>
<h2>Overview </h2>
<p>The release provides a new unmarshal option for limiting the recursion depth when unmarshalling nested messages to prevent stack overflows. (<a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a>).</p>
<h2>Notable changes </h2>
<p><strong>New features:</strong></p>
<ul>
<li><a href="https://go.dev/cl/340489">CL/340489</a>: testing/protocmp: add Message.Unwrap</li>
</ul>
<p><strong>Documentation improvements:</strong></p>
<ul>
<li><a href="https://go.dev/cl/339569">CL/339569</a>: reflect/protoreflect: add more docs on Value aliasing</li>
</ul>
<p><strong>Updated supported versions:</strong></p>
<ul>
<li><a href="https://go.dev/cl/370055">CL/370055</a>: all: update supported versions</li>
</ul>
<h3>UnmarshalOption RecursionLimit </h3>
<ul>
<li><a href="https://golang.org/cl/385854">CL/385854</a>: all: implement depth limit for unmarshalling</li>
</ul>
<p>The new <a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a> limits the maximum recursion depth when unmarshalling messages. The limit is applied for nested messages. When messages are nested deeper than the specified limit the unmarshalling will fail. If unspecified, a default limit of 10,000 is applied.</p>
<p>In addition to the configurable limit for message nesting a non-configurable recursion limit for <a href="https://developers.google.com/protocol-buffers/docs/proto#groups">group</a> nesting of 10,000 was introduced.</p>
<h2>Upcoming breakage changes </h2>
<p>The default recursion limit of 10,000 introduced in the release is subject to change. We want to align this limit with implementations for other languages in the long term. C++ and Java use a limit of 100 which is also the target for the Go implementation.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/32051b4f86e54c2142c7c05362c6e96ae3454a1c"><code>32051b4</code></a> all: release v1.28.0</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3992ea83a23c00882339f33511074d251e19822c"><code>3992ea8</code></a> all: implement depth limit for unmarshaling</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/e5db2960ed1380681b571cdf4648230beefaf58b"><code>e5db296</code></a> all: update supported versions</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3a9e1dc314e2cb57d6cb054df513f17586295fc7"><code>3a9e1dc</code></a> all: gofmt all</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/26e8bcb3c743193558d1a0ff540c9e05f999267d"><code>26e8bcb</code></a> all: remove unnecessary string([]byte) conversion in fmt.Sprintf with %s</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/5aec41b4809b9822a34e17acd06ae9ae9f41c13d"><code>5aec41b</code></a> testing/protocmp: add Message.Unwrap</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/05be61fde35dcaa3502f4430edee444a294d41c3"><code>05be61f</code></a> reflect/protoreflect: add more docs on Value aliasing</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/b03064a95cacfede187231741d9918a75653057d"><code>b03064a</code></a> all: start v1.27.1-devel</li>
<li>See full diff in <a href="https://github.com/protocolbuffers/protobuf-go/compare/v1.27.1...v1.28.0">compare view</a></li>
</ul>
</details>
<br />


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

* fix typos in the controller params (#1172)

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

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

* add versions for new releases (#1175)

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

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

* fix: link checker reporting broken milestone link (#1200)

* update roadmap for q2 2022 and deleted history roadmap (don't think we'll need it)

* requirements document for ICA (#1173)

* add requirements document for interchain accounts

* fix branch

* added number in tittle.

* apply suggestions from review

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

* review comment

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

* imp: improve Logger performance (#1160)

* fix: Logger marshal errors

* changelog

* update

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Aditya <[email protected]>
Co-authored-by: Federico Kunze Küllmer <[email protected]>
Copy link
Contributor

@fedekunze fedekunze left a comment

Choose a reason for hiding this comment

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

first pass

bytes result = 1;
// the relayer address which submits the recv packet message
string forward_relayer_address = 2 [(gogoproto.moretags) = "yaml:\"forward_relayer_address\""];
// success flag of the base 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.

I don't understand this comment, can you elaborate?

Comment on lines +13 to +15
cdc.RegisterConcrete(&MsgRegisterCounterpartyAddress{}, "cosmos-sdk/MsgRegisterCounterpartyAddress", nil)
cdc.RegisterConcrete(&MsgPayPacketFee{}, "cosmos-sdk/MsgPayPacketFee", nil)
cdc.RegisterConcrete(&MsgPayPacketFeeAsync{}, "cosmos-sdk/MsgPayPacketFeeAsync", nil)
Copy link
Contributor

Choose a reason for hiding this comment

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

why cosmos-sdk? Is amino support required?

// RegisterInterfaces register the 29-fee module interfaces to protobuf
// Any.
func RegisterInterfaces(registry codectypes.InterfaceRegistry) {
registry.RegisterImplementations((*sdk.Msg)(nil), &MsgRegisterCounterpartyAddress{}, &MsgPayPacketFee{}, &MsgPayPacketFeeAsync{})
Copy link
Contributor

Choose a reason for hiding this comment

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

nit, split lines

Comment on lines +17 to +21
// ICS4Wrapper defines the expected ICS4Wrapper for middleware
type ICS4Wrapper interface {
WriteAcknowledgement(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI, acknowledgement ibcexported.Acknowledgement) error
SendPacket(ctx sdk.Context, channelCap *capabilitytypes.Capability, packet ibcexported.PacketI) error
}
Copy link
Contributor

Choose a reason for hiding this comment

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

can you use the one from the transfer or channel module?

Comment on lines +71 to +84
var errFees []string
if !fee.AckFee.IsValid() {
errFees = append(errFees, "ack fee invalid")
}
if !fee.RecvFee.IsValid() {
errFees = append(errFees, "recv fee invalid")
}
if !fee.TimeoutFee.IsValid() {
errFees = append(errFees, "timeout fee invalid")
}

if len(errFees) > 0 {
return sdkerrors.Wrapf(sdkerrors.ErrInvalidCoins, "contains invalid fees: %s", strings.Join(errFees, " , "))
}
Copy link
Contributor

Choose a reason for hiding this comment

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

why not return an error immediately instead of appending it?

Copy link
Contributor

@seantking seantking Apr 8, 2022

Choose a reason for hiding this comment

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

Multiple fees may be invalid I think it's good to let the user know. I would prefer to leave as is.

Comment on lines +25 to +26
hasRefundAcc := k.authKeeper.GetAccount(ctx, refundAcc)
if hasRefundAcc == nil {
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
hasRefundAcc := k.authKeeper.GetAccount(ctx, refundAcc)
if hasRefundAcc == nil {
refundAcc := k.authKeeper.GetAccount(ctx, refundAcc)
if refundAcc == nil {


hasRefundAcc := k.authKeeper.GetAccount(ctx, refundAcc)
if hasRefundAcc == nil {
return sdkerrors.Wrapf(types.ErrRefundAccNotFound, "account with address: %s not found", refundAcc)
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
return sdkerrors.Wrapf(types.ErrRefundAccNotFound, "account with address: %s not found", refundAcc)
return sdkerrors.Wrapf(types.ErrRefundAccNotFound, "account with address: %s not found", packetFee.RefundAddress)

Comment on lines +35 to +41
fees := []types.PacketFee{packetFee}
if feesInEscrow, found := k.GetFeesInEscrow(ctx, packetID); found {
fees = append(fees, feesInEscrow.PacketFees...)
}

packetFees := types.NewPacketFees(fees)
k.SetFeesInEscrow(ctx, packetID, packetFees)
Copy link
Contributor

Choose a reason for hiding this comment

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

nit, add comment to explain this in more detail

Copy link
Contributor

@fedekunze fedekunze left a comment

Choose a reason for hiding this comment

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

utACK, will review in detail soon

@seantking seantking merged commit 4271027 into main Apr 6, 2022
crodriguezvega added a commit that referenced this pull request Apr 7, 2022
crodriguezvega added a commit that referenced this pull request Apr 8, 2022
damiannolan added a commit that referenced this pull request Apr 26, 2022
* 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

* feat: adding Pack/Unpack acknowledgement helper fns (#895)

* feat: adding Pack/Unpack acknowledgement helper fns

* chore: changelog

* fix: docs

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

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

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

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

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

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

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

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

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

## 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(ica): add trail of bits audit report (#903)

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

* relocate the audit report for ICA

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

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

* testing: adding multiple sender accounts for testing puproses

* fix genesis setup (#936)

* Update testing/chain.go

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

* refactor: code hygiene

* Update testing/chain.go

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

* fix: setting totalySupply to empty

* nit: CamelCase not UPPERCASE

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

* Create test chain with multiple validators (#942)

* testing: adding multiple sender accounts for testing puproses

* fix genesis setup (#936)

* Update testing/chain.go

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

* refactor: code hygiene

* Update testing/chain.go

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

* multi validator commit taken from @saione

* add function to pass custom valset

* add changelog

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

* add changelog entry for SDK bump

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

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

* chore: fix broken link (#972)

* add backport actions for v1.3.x and v2.1.x (#958)

* Revert "feat: adding Pack/Unpack acknowledgement helper fns (#895)" (#973)

This reverts commit 843b459635da8cedd92945141c4efe3a762f305d.

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

* chore: update migration docs (#985)

* chore: update migration docs

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

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

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

* chore: fix mispelled words (#991)

* fix: remove go mod tidy from proto-gen script (#989)

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

* bug: support base denoms with slashes

* add changelog entry

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

* upgrade ics23 to v0.7 (#948)

* upgrade ics23 to v0.7-rc

* add changelog entry

* update ics23 to final 0.7

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

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

* add changelog entry for #941

* fix package import (#1007)

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

## Description



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

* docs: add missing args to NewKeeper in integration docs (#1038)

## Description



This add some missing arguments to `ibckeeper.NewKeeper` and `ibctransferkeeper.NewKeeper` in integration docs

---

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)
- [x] 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

* small fixes for v2 to v3 migration (#1016)

* small fixes for v2 to v3 migration

* review comment

* Update v2-to-v3.md

* add store upgrade documentation

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

* add missing slash

* build(deps): bump actions/checkout from 2.4.0 to 3 (#1045)

Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<ul>
<li>Update default runtime to node16</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v2.3.1</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/284">Fix default branch resolution for .wiki and when using SSH</a></li>
</ul>
<h2>v2.3.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/278">Fallback to the default branch</a></li>
</ul>
<h2>v2.2.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/258">Fetch all history for all tags and branches when fetch-depth=0</a></li>
</ul>
<h2>v2.1.1</h2>
<ul>
<li>Changes to support GHES (<a href="https://github-redirect.dependabot.com/actions/checkout/pull/236">here</a> and <a href="https://github-redirect.dependabot.com/actions/checkout/pull/248">here</a>)</li>
</ul>
<h2>v2.1.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/191">Group output</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/199">Changes to support GHES alpha release</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/184">Persist core.sshCommand for submodules</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/163">Add support ssh</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/179">Convert submodule SSH URL to HTTPS, when not using SSH</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/157">Add submodule support</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/144">Follow proxy settings</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/141">Fix ref for pr closed event when a pr is merged</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/128">Fix issue checking detached when git less than 2.22</a></li>
</ul>
<h2>v2.0.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/108">Do not pass cred on command line</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/107">Add input persist-credentials</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/104">Fallback to REST API to download repo</a></li>
</ul>
<h2>v2 (beta)</h2>
<ul>
<li>Improved fetch performance
<ul>
<li>The default behavior now fetches only the SHA being checked-out</li>
</ul>
</li>
<li>Script authenticated git commands
<ul>
<li>Persists <code>with.token</code> in the local git config</li>
<li>Enables your scripts to run authenticated git commands</li>
<li>Post-job cleanup removes the token</li>
<li>Coming soon: Opt out by setting <code>with.persist-credentials</code> to <code>false</code></li>
</ul>
</li>
<li>Creates a local branch
<ul>
<li>No longer detached HEAD when checking out a branch</li>
<li>A local branch is created with the corresponding upstream branch set</li>
</ul>
</li>
<li>Improved layout</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/actions/checkout/commit/a12a3943b4bdde767164f792f33f40b04645d846"><code>a12a394</code></a> update readme for v3 (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/708">#708</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/8f9e05e482293f862823fcca12d9eddfb3723131"><code>8f9e05e</code></a> Update to node 16 (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/689">#689</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/230611dbd0eb52da1e1f4f7bc8bb0c3a339fc8b7"><code>230611d</code></a> Change secret name for PAT to not start with GITHUB_ (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/623">#623</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v2.4.0...v3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=2.4.0&new-version=3)](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>

* call packet.GetSequence() rather than passing the func as argument (#995)

* Add counterpartyChannelID param to IBCModule.OnChanOpenAck (#1086)

* add counterpartyChannelID param to IBCModule OnChanOpenAck()

* change testing mock

* change ica IBCModules ChannelOpenAck

* change transfer IBCModules ChannelOpenAck

* change core keeper ChannelOpenAck()

* CHANGELOG.md

* update v2-to-v3 migration doc

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

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

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

* fix mirgation docs (#1091)

* fix: handle testing update client errors (#1094)

* replace channel keeper with IBC keeper in AnteDecorator (#950)

* replace channel keeper with IBC keeper in AnteDecorator and pass message to rpc handler

* fix error checking condition

* fix for proper way of getting go context

* refactor tests for ante handler

* review comment

* review comments and some fixes

* review comments

* execute message for update client as well

* add migration

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

* add backport rules for v1.4.x and v2.2.x (#1085)

* ibctesting: custom voting power reduction for testing (#939)

* ibctesting: custom voting power reduction for testing

* changelog

* fix

* make T public

* fix

* revert changes

* fix test

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

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

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.44.0 to 1.45.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.44.0...v1.45.0)

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

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

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

* fix: adjust InitModule to account for empty controller and host keepers (#1120)

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

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

* Merge pull request from GHSA-j658-c98j-fww4

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

* fixes for the documentation about handling ack for SDK <= 0.45 (#1122)

* fixes for documentation

* review comment

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

* Allow testing to update ValidatorSet (#1003)

* testing: adding multiple sender accounts for testing puproses

* fix genesis setup (#936)

* Update testing/chain.go

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

* refactor: code hygiene

* Update testing/chain.go

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

* multi validator commit taken from @saione

* add function to pass custom valset

* create simplest failing test

* progress

* fix changevalset test

* fix errors in tendermint package

* fix client types test

* fix client keeper

* fix cap functions

* fix genesis core tests

* fix ica tests

* fix doc

* CHANGELOG

* replace signer array with signer map

* add documentation

* fix merge

* documentation

* ordered signer array doc

* add new delegation and comment to change valset test

Co-authored-by: Sean King <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* imp: create codeql-analysis action (#1128)

## Description



Noticed that [CodeQL](https://codeql.github.com/) wasn't enabled on the IBC-go repo

---

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

* update changelog (#1131)

* update changelog

* fix typo

* build(deps): bump github.com/stretchr/testify from 1.7.0 to 1.7.1 (#1134)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.7.0...v1.7.1)

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

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

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

* call packet.GetSequence() rather than passing the func as argument (#1130)

* call packet.GetSequence() rather than passing the func as argument

* add changelog entry

* fix: prefix ResponseResultType enum for proto linting (#1143)

* build(deps): bump actions/cache from 2.1.7 to 3 (#1150)

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

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

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

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

* fixes for go-releaser configuration (#1148)

* set the pre-release status if the tag contains alpha, beta or rc

* add separate filter for final releases

* add banner image (#1158)

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

* Add alpha, beta, and rc release definitions (#1151)

## Description

The proposed definitions for each phase of our release cycle. Please feel free to adjust my wording

closes: #881 


---

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

* build(deps): bump google.golang.org/protobuf from 1.27.1 to 1.28.0 (#1164)

Bumps [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) from 1.27.1 to 1.28.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protocolbuffers/protobuf-go/releases">google.golang.org/protobuf's releases</a>.</em></p>
<blockquote>
<h2>v1.28.0</h2>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-overview">Overview</a></li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-notable-changes">Notable changes</a>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-recursion-limit">UnmarshalOption RecursionLimit</a></li>
</ul>
</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-breaking-changes">Upcoming breakage changes</a></li>
</ul>
<h2>Overview </h2>
<p>The release provides a new unmarshal option for limiting the recursion depth when unmarshalling nested messages to prevent stack overflows. (<a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a>).</p>
<h2>Notable changes </h2>
<p><strong>New features:</strong></p>
<ul>
<li><a href="https://go.dev/cl/340489">CL/340489</a>: testing/protocmp: add Message.Unwrap</li>
</ul>
<p><strong>Documentation improvements:</strong></p>
<ul>
<li><a href="https://go.dev/cl/339569">CL/339569</a>: reflect/protoreflect: add more docs on Value aliasing</li>
</ul>
<p><strong>Updated supported versions:</strong></p>
<ul>
<li><a href="https://go.dev/cl/370055">CL/370055</a>: all: update supported versions</li>
</ul>
<h3>UnmarshalOption RecursionLimit </h3>
<ul>
<li><a href="https://golang.org/cl/385854">CL/385854</a>: all: implement depth limit for unmarshalling</li>
</ul>
<p>The new <a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a> limits the maximum recursion depth when unmarshalling messages. The limit is applied for nested messages. When messages are nested deeper than the specified limit the unmarshalling will fail. If unspecified, a default limit of 10,000 is applied.</p>
<p>In addition to the configurable limit for message nesting a non-configurable recursion limit for <a href="https://developers.google.com/protocol-buffers/docs/proto#groups">group</a> nesting of 10,000 was introduced.</p>
<h2>Upcoming breakage changes </h2>
<p>The default recursion limit of 10,000 introduced in the release is subject to change. We want to align this limit with implementations for other languages in the long term. C++ and Java use a limit of 100 which is also the target for the Go implementation.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/32051b4f86e54c2142c7c05362c6e96ae3454a1c"><code>32051b4</code></a> all: release v1.28.0</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3992ea83a23c00882339f33511074d251e19822c"><code>3992ea8</code></a> all: implement depth limit for unmarshaling</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/e5db2960ed1380681b571cdf4648230beefaf58b"><code>e5db296</code></a> all: update supported versions</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3a9e1dc314e2cb57d6cb054df513f17586295fc7"><code>3a9e1dc</code></a> all: gofmt all</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/26e8bcb3c743193558d1a0ff540c9e05f999267d"><code>26e8bcb</code></a> all: remove unnecessary string([]byte) conversion in fmt.Sprintf with %s</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/5aec41b4809b9822a34e17acd06ae9ae9f41c13d"><code>5aec41b</code></a> testing/protocmp: add Message.Unwrap</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/05be61fde35dcaa3502f4430edee444a294d41c3"><code>05be61f</code></a> reflect/protoreflect: add more docs on Value aliasing</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/b03064a95cacfede187231741d9918a75653057d"><code>b03064a</code></a> all: start v1.27.1-devel</li>
<li>See full diff in <a href="https://github.com/protocolbuffers/protobuf-go/compare/v1.27.1...v1.28.0">compare view</a></li>
</ul>
</details>
<br />


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

* fix typos in the controller params (#1172)

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

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

* add versions for new releases (#1175)

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

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

* fix: link checker reporting broken milestone link (#1200)

* update roadmap for q2 2022 and deleted history roadmap (don't think we'll need it)

* requirements document for ICA (#1173)

* add requirements document for interchain accounts

* fix branch

* added number in tittle.

* apply suggestions from review

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

* review comment

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

* imp: improve Logger performance (#1160)

* fix: Logger marshal errors

* changelog

* update

* ICS 29: Fee Middleware (#276)

* scaffolding for 29-fee (#274)

* scaffolding for 29-fee

* fix build

* update keeper test

* remove module test

* feat: adding proto files for fee payment middleware (#272)

* feat: adding proto files for fee payment middleware

* grammar

* fix: remove generated .pb files

* fix: comment

* feat: adding PacketId type

* refactor: fee / genesis

* refactor: escrowed fees map

* Apply suggestions from code review

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* refactor: use packetID + minor changes

* feat: adding query for all incentivized packets + some fixes

* feat: adding pagination to incentivized query

* fix: removing generated ibc directory + adding import/yaml

* fix: naming

* increase max depth for proto file searching and make proto all

* Update proto/ibc/applications/middleware/fee/v1/fee.proto

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

* refactor: remove file imports/add yaml/add argument for requests

* refactor: updating IdentifiedPacketFee

* fix: remove hidden file

* removing middleware dir & adding query

* remove junk file and update query rpcs

* Apply suggestions from code review

* Apply suggestions from code review

* remove query yaml, make proto-all

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

* fix: removing unncessary fields MsgEscrow & adding query params (#300)

* fix: removing unncessary fields MsgEscrow & adding query params

* fix: grammar

* fix: add yaml

* feat: #258 Register Counterparty Address (#376)

* feat: adding MsgServer for RegisterCounterPartyAddress &
EscrowPacketFree

* test: adding test for ValidateBasic

* fix: removing validate basic check

* fix: removing empty file

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/types/msgs.go

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

* Update modules/apps/29-fee/types/keys.go

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

* Update modules/apps/29-fee/keeper/keeper.go

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

* fix: fixing typos, variable names, comments

* fix: updating import comments

* test: adding test for KeyRelayerAddress

* update: comments & key_test

* Update modules/apps/29-fee/keeper/msg_server.go

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

* fix: error message

* docs: updating RegisterCounterpartyAddress fn description

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

* fix: remove comments for imports (#385)

* feat: Add handshake logic to ics29 (#307)

* do handshake logic, create test file

* do cap logic and fix build

* open handshake implementation and tests

* remove prints

* Update modules/apps/29-fee/module.go

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

* debugging progress

* fee enabled flag

* cleanup handshake logic

* fix tests

* much cleaner simapp

* split module.go file

* cleanup and docs

* assert IBC interfaces are fulfilled in middleware

* Update modules/apps/transfer/module.go

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

* Apply suggestions from code review

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

* fix unnecessary crossing hello logic

* fix version negotiation bugs and improve tests

* cleanup tests

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* address rest of colin comments

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

* Fee Middleware: Escrow logic (#465)

* fix: adding second endpoint for async pay fee + renaming types

* feat: adding escrow logic

* feat: updating proto types & escrow logic

* fix: stub fn & proto comment

* feat: adding PayFee & PayFeeTimeout & escrow_test

* test: adding happy path for EscrowPacketFee

* fix: comments, error handling

* fix: comments & grammar

* test: adding unhappy path for escrow

* tests(escrow): adding hasBalance check for module acc

* test(PayFee): adding happy path for PayFee tests

* tests(PayFee, PayFeeTimeout): adding tests

* fix: adding relayers back to IdentifiedPacket

* fix: removing refund acc from key

* fix: storing IdentifiedPacketFee in state instead of Fee

* feat: adding msg_server test for registerCPAddr, wiring for codec + stubs for sdk.Msg interface

* test: adding msg_server test for PayPacketFee

* test: adding PayPacketFeeAsync msg_server test

* chore: updating PayFee -> DistributeFee & minor nits

* nit: removing unnecessary nil check

* refactor: add portId to store key & use packetId as param

* fix: add DeleteFeeInEscrow & remove fee on successful distribution

* tests: adding validation & signer tests for PayFee/Async & updating proto to use Signer sdk standard

* chore: adding NewIdentifiedPacketFee fn

* fix: getter/setter for counterparty address + fix NewIdentifiedPacketFee

* fix: updating EscrowPacketFee with correct usage of coins api

* test: adding balance check for refund acc after escrow

* fix: remove unncessary errors

* test: updating escrow tests + miscellaneous fixes

* nit: updating var names

* docs: godoc

* refactor: IdentifiedPacketFee & Fee no longer pointers

* fixes: small fixes

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/keeper.go

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

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/types/msgs.go

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

* nit: proto doc & error fix

* fix: escrow test

* test: updating distribute fee tests

* test: adding validation check for fee and updating tests

* test: allow counterparty address to be arbitrary string

* fix: message validation should pass if one fee is valid

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/escrow.go

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

* fix: nits

* Update modules/apps/29-fee/keeper/escrow.go

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

* test: adding isZero check for msgs

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

* feat: update protos, grpc queries (#488)

* store refund address in IdentifiedPacketFee (#546)

* 29-Fee: Genesis (#557)

* proto: adding genesis state

* feat: add GetAllIdentifiedPacketFees

* feat: adding genesis.go & updating proto + app.go

* fix: removing PortId from genesis

* feat: adding GetAll for relayer addr/fee enabled chan + update genesis

* test: TestExportGenesis

* feat: update type + hook up to module.go

* fix: remove PortKey

* fix: imports + remove scoped keeper

* nit: using NewPacketId helper and updating helper def to have correct params

* feat: adding genesis validation + tests (#561)

* feat: adding genesis validation + tests

* fix: imports

* Update modules/apps/29-fee/types/genesis.go

* fix: nit

* Update modules/apps/29-fee/types/genesis_test.go

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

* nit: imporve default gen val test

* chore: move packetId + val to channeltypes and use validate fn

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

* feat: add incentivised ack proto (#564)

* proto file

* incentivized ack proto

* Fee Closing Handshake (#551)

* add iterate logic

* add closing logic with tests

* add comments for panic

* change invariant breaking recovery to disabling middleware rather than panicing

* docs, tests, minor refactor

* Fee Middleware: Add ICS4 wrapper (#562)

* chore: add ICS4 wrapper

* fix: remove channelKeeper sender packet

* chore: add WriteAck

* feat: ics 29 packet callbacks (#357)

* update imports to v3

* regenerate proto files

* fix build

* fix: event caching for fee distribution (#661)

* proto file

* initial impl

* apply self review suggestions

Deduplicate fee distribution code.
Rename DistributeFee to DistributePacketFees.
Rename DistributeFeeTimeout to DistributePacketFeesOnTimeout

* fixup tests

rename validCoins.
DistributePacketFeesOnTimeout no longer has a valid error case
Add test case for invalid forward relayer address on DistributePacketFees.

* partially fix tests

timeout fee is still being distributed depsite WriteFn() not being called

* fix tests

* address code nit

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

* ics4 callbacks fee middleware (#580)

* feat: adding WriteAcknowledgement

* updating genesis & relayer prefix

* fix: comment

* fix: comments

* Update modules/apps/29-fee/keeper/relay.go

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

* feat: add DeleteForwardRelayerAddr helper + use Set in ack

* fix: SetForwardAddr

* chore: add panic

* fix: remove fmt

* test: add WriteAcknowledgement test

* Update modules/apps/29-fee/ibc_module.go

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

* fix: remove print

* fix: WriteAck

* fix: use constructor

* Update modules/apps/29-fee/keeper/keeper.go

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

* fix: nits

* fix: remove found var not used

* test: adding check that forward relayer address is successfully deleted if set

* fix: merge issues

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

* chore: making PacketId non nullable (#737)

* nits: proto spacing + naming (#739)

* nits: proto spacing + naming

* nit: update comment

* fix: go.mod

* nit: option above import proto

* fix: spacing

* sean/fix-proto-identified-fee-not-null (#746)

* nits: more ics29 nits (#741)

* nits: remove capital from error + add godoc

* nit: add Wrapf

* nit: use strings.TrimSpace

* nit: add err type for MsgPayPacketFee

* refactor: app version + add comment (#750)

* chore: remove error

* test: add test for whitespaced empty string

* nit: update err syntax (#747)

* nit: update err syntax

* nit: more

* nit: err syntax

* feat: adding Route, Type, GetSignBytes for all messages (#743)

* feat: adding Route, Type, GetSignBytes for all messages

* tests: adding tests for Route/Type/GetSignBytes

* hygiene: add validate fn for Fee (#748)

* hygiene: add validate fn for Fee

* Update modules/apps/29-fee/types/msgs.go

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

* fix: error message

* test: move Validate to fee.go & abstract out test

* chore: remove test cases

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

* fix: app.go (#789)

* refactor: ics29 json encoded version metadata (#883)

* adding metadata type to ics29 protos

* updating ics29 handshake handlers to support json encoded metadata

* updating tests to support json encoded metadata

* Update modules/apps/29-fee/ibc_module.go

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

* Update modules/apps/29-fee/ibc_module.go

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

* renaming metadata version to fee_version

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

* fix: return nil on OnRecvPacket for async pay (#911)

* nit: ics29 comments (#910)

* fix: comments

* Update modules/apps/29-fee/keeper/escrow.go

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

* chore: Add transfer test for ics29 (#901)

* begin writing transfer test for ics29

* finish writing transfer test

* refactor: ics29 OnChanOpenInit callback tests now use mock module (#924)

* refactor: OnChanOpenInit callback tests now use mock module

* Update modules/apps/29-fee/fee_test.go

* feat: allow multiple addrs to incentivize packets (#915)

* [WIP] allow multiple addresses to incentivize a packet

* distribute multiple fees, fix broken tests

* use NewIdentifiedPacketFees in EscrowPacketFee

* cleanup var naming

* removing commented out code and adding test case

* Update modules/apps/29-fee/ibc_module.go

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

* fix: refund RecvFee if ForwardAddr is invalid

* test: update tests to distribute multiple identified fees

* refactor: clean up DistrPacketFees

* refactor: using .Empty() helper func for code hygiene

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

* chore: remove spec directory from ics29 (#934)

* refactor: use mock module for ics29 closing handshakes (#926)

* refactor: use mock module for closing handshakes in ics29

* self-review fix

* refactor: use mock module for ics29 grpc_query_test.go (#933)

* refactor: readjust keeper_test.go to use mock module (#930)

* fix: fields for genesis should be non nullable (#938)

* refactor: use mock module for ics29 escrow_test.go (#932)

* refactor: use mock module for ics29 genesis_test.go (#931)

* ics29:feat: emit event escrow (#914)

* feat: emit EventTypeSendIncentivizedPacket event on EscrowPacket

* fix: string conversion

* refactor: add helper fn for emit event

* chore: godoc

* nit: use .String())

* refactor: OnRecvPacket to use mock module (#927)

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

* refactor: ics29 OnChanOpenTry/Ack use mock module for testing instead of ics20 (#925)

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

* refactor: use mock module for OnAcknowledgePacket callback testing (#929)

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

* refactor: OnTimeoutPacket to use mock module (#928)

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

* chore: add packet id arg to EscrowPacketFee (#951)

* adding packet id arg to EscrowPacketFee

* updating tests

* review adaptations

* chore: remove legacy testing functions (#954)

* fix:ics29: WriteAck update + adding success bool to IncentivizedAck (#952)

* fix: updating WriteAck & adding Success boolean to IncentivizedAcknowledgement

* feat: adding check of is fee enabled

* nit: change successful to underlying_application_success

* test: adding seperate test for fee disabled write async

* Update modules/apps/29-fee/ibc_module_test.go

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

* test: adding check to compare hash of acks

* fix: var name

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

* chore: add cli cmd to incentivize existing packet (async) (#965)

* chore: add cli to incentivize existing packets

* Update modules/apps/29-fee/client/cli/cli.go

* Update modules/apps/29-fee/client/cli/cli.go

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

* chore: update cli example

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

* ics29:fix: counterparty addr must contain channelID (#937)

* fix: counterparty address must chain channelID

* nit: updating var name

* test: adding validation check for channelID

* nit: fn names

* chore: fix err msg (#971)

* ics29:fix: store source address for query later on WriteAck (#912)

* fix: for async WriteAck store source address for query later

* ics29:fix: update genesis type (#913)

* fix: adding ForwardRelayerAddresses to genesis

* fix: trimspace on string check

* nit: err + trimspace error case

* refactor: updating WriteAck + keeper fn name

* Update modules/apps/29-fee/keeper/relay.go

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

* chore: remove legacy testing functions (#954)

* fix:ics29: WriteAck update + adding success bool to IncentivizedAck (#952)

* fix: updating WriteAck & adding Success boolean to IncentivizedAcknowledgement

* feat: adding check of is fee enabled

* nit: change successful to underlying_application_success

* test: adding seperate test for fee disabled write async

* Update modules/apps/29-fee/ibc_module_test.go

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

* test: adding check to compare hash of acks

* fix: var name

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

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

* refactor: make fee storage more efficient (#956)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* fixing typo in protodoc comments

* chore: update ics29 genesis state to support multiple packet fees (#957)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* updating genesis protos to use IdentifiedPacketFees

* updating init/export genesis state functionality and tests

* chore: update MsgPayPacketFeeAsync fields (#979)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* fixing typo in protodoc comments

* updating protos and codegen

* updating MsgPayPacketFeeAsync handler and tests

* chore: add ParseKeyFeesInEscrow helper function (#998)

* chore: update grpc queries to handle multiple fees (#967)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* updating protos and existing queries

* updating grpc queries and refactoring tests

* format error correct in favour of proto string() method

* leveraging ParseKeyFeesInEscrow to obtain  packet id in query

* feat: CLI cmd for MsgRegisterCounterpartyAddress (#987)

* feat: CLI cmd for MsgRegisterCounterpartyAddress

* fix: examples

* Update modules/apps/29-fee/client/cli/tx.go

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

* Update modules/apps/29-fee/client/cli/tx.go

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

* chore: remove print

* nit: update address for counterparty

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

* fix: ics29: switch source with destintion for chan/port IDs (#961)

* fix: switch source with destintion for chan/port IDs

* fix: blunder

* test: adding tests in case of incorrect channel/port id

* test: moving check to WriteAcknowledgement

* add test case for Get/Set counterparty address

* nit: path name

* Update modules/apps/29-fee/keeper/msg_server_test.go

* test: cleanup 29-fee/types tests (#1006)

* feat: grpc query total recv packet fees (#1015)

* adding query for total packet recv fees to proto query server

* adding total packet recv fee query impl and tests

* updating doc comments

* chore: switch code ordering (#1025)

* feat: Add ParseKeyFeeEnabled and rename FeeEnabledKey -> KeyFeeEnabled (#1023)

* chore: add ParseKeyFeesInEscrow helper function

* feat: add ParseKeyFeeEnabled function and rename FeeEnabledKey to KeyFeeEnabled

* feat: ics29 cli for query total recv fees (#1035)

* feat: grpc query total ack fees (#1032)

* adding query for total packet recv fees to proto query server

* adding total packet recv fee query impl and tests

* updating doc comments

* adding protos and codegen

* adding total ack fees query and tests

* fixing protodoc comment

* feat: grpc query total timeout fees (#1033)

* adding query for total packet recv fees to proto query server

* adding total packet recv fee query impl and tests

* updating doc comments

* adding protos and codegen

* adding total ack fees query and tests

* adding protos and codegen

* adding query total timeout fees and tests

* fixing protodoc comment

* fixing protodoc comment

* feat: adding clis for total ack and timeout queries (#1043)

* add ParseKeyForwardRelayerAddress function + test (#1046)

* chore: remove unused ics29 keeper funcs (#1044)

* removing keys, adding additional test, moving event attribute keys

* removing unused code and updating tests

* removing unused IdentifiedPacketFee type

* chore: add gRPC for querying incentivized packets for a specific channel (#983)

* generate proto files

* feat: add gRPC for querying incentivized packets for a specific channel

* test: add gRPC test for incentivized packets for channel query

* fix build

* partially fix tests

* chore: fix tests

* deduplicate code

* chore: code cleanup

* fix build

* remove changes from merge conflict

* nit: rename c to goCtx

* add function EscrowAccountHasBalance (#1042)

* add function EscrowAccountHasBalance

* change API to use sdk.Coins

* feat: ParseKeyCounterpartyRelayer function (#1047)

* chore: adding queries to cmd builder (#1057)

* chore: update ics29 protodocs (#1055)

* updating protodocs comments and regen code/docs

* Update proto/ibc/applications/fee/v1/tx.proto

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

* updating incentivized ack doc

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

* add counter party channel ID to argument list of on channel open ack (#1159)

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

* ADR 004: Fee module locking in the presence of severe bugs (#1060)

* add adr 004

* add to README

* Update docs/architecture/adr-004-ics29-lock-fee-module.md

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

* Update docs/architecture/adr-004-ics29-lock-fee-module.md

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

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

* nit: packetID var name (#1214)

* ics29: update with changes from main (#1221)

* add banner image (#1158)

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

* Add alpha, beta, and rc release definitions (#1151)

## Description

The proposed definitions for each phase of our release cycle. Please feel free to adjust my wording

closes: #881 


---

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

* build(deps): bump google.golang.org/protobuf from 1.27.1 to 1.28.0 (#1164)

Bumps [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) from 1.27.1 to 1.28.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protocolbuffers/protobuf-go/releases">google.golang.org/protobuf's releases</a>.</em></p>
<blockquote>
<h2>v1.28.0</h2>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-overview">Overview</a></li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-notable-changes">Notable changes</a>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-recursion-limit">UnmarshalOption RecursionLimit</a></li>
</ul>
</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-breaking-changes">Upcoming breakage changes</a></li>
</ul>
<h2>Overview </h2>
<p>The release provides a new unmarshal option for limiting the recursion depth when unmarshalling nested messages to prevent stack overflows. (<a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a>).</p>
<h2>Notable changes </h2>
<p><strong>New features:</strong></p>
<ul>
<li><a href="https://go.dev/cl/340489">CL/340489</a>: testing/protocmp: add Message.Unwrap</li>
</ul>
<p><strong>Documentation improvements:</strong></p>
<ul>
<li><a href="https://go.dev/cl/339569">CL/339569</a>: reflect/protoreflect: add more docs on Value aliasing</li>
</ul>
<p><strong>Updated supported versions:</strong></p>
<ul>
<li><a href="https://go.dev/cl/370055">CL/370055</a>: all: update supported versions</li>
</ul>
<h3>UnmarshalOption RecursionLimit </h3>
<ul>
<li><a href="https://golang.org/cl/385854">CL/385854</a>: all: implement depth limit for unmarshalling</li>
</ul>
<p>The new <a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a> limits the maximum recursion depth when unmarshalling messages. The limit is applied for nested messages. When messages are nested deeper than the specified limit the unmarshalling will fail. If unspecified, a default limit of 10,000 is applied.</p>
<p>In addition to the configurable limit for message nesting a non-configurable recursion limit for <a href="https://developers.google.com/protocol-buffers/docs/proto#groups">group</a> nesting of 10,000 was introduced.</p>
<h2>Upcoming breakage changes </h2>
<p>The default recursion limit of 10,000 introduced in the release is subject to change. We want to align this limit with implementations for other languages in the long term. C++ and Java use a limit of 100 which is also the target for the Go implementation.</p>
</blockquote>
</details>
<details>
<summary>…
colin-axner added a commit that referenced this pull request Aug 3, 2022
* fix mirgation docs (#1091)

* fix: handle testing update client errors (#1094)

* replace channel keeper with IBC keeper in AnteDecorator (#950)

* replace channel keeper with IBC keeper in AnteDecorator and pass message to rpc handler

* fix error checking condition

* fix for proper way of getting go context

* refactor tests for ante handler

* review comment

* review comments and some fixes

* review comments

* execute message for update client as well

* add migration

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

* add backport rules for v1.4.x and v2.2.x (#1085)

* ibctesting: custom voting power reduction for testing (#939)

* ibctesting: custom voting power reduction for testing

* changelog

* fix

* make T public

* fix

* revert changes

* fix test

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

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

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.44.0 to 1.45.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.44.0...v1.45.0)

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

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

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

* fix: adjust InitModule to account for empty controller and host keepers (#1120)

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

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

* Merge pull request from GHSA-j658-c98j-fww4

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

* fixes for the documentation about handling ack for SDK <= 0.45 (#1122)

* fixes for documentation

* review comment

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

* Allow testing to update ValidatorSet (#1003)

* testing: adding multiple sender accounts for testing puproses

* fix genesis setup (#936)

* Update testing/chain.go

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

* refactor: code hygiene

* Update testing/chain.go

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

* multi validator commit taken from @saione

* add function to pass custom valset

* create simplest failing test

* progress

* fix changevalset test

* fix errors in tendermint package

* fix client types test

* fix client keeper

* fix cap functions

* fix genesis core tests

* fix ica tests

* fix doc

* CHANGELOG

* replace signer array with signer map

* add documentation

* fix merge

* documentation

* ordered signer array doc

* add new delegation and comment to change valset test

Co-authored-by: Sean King <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* imp: create codeql-analysis action (#1128)

## Description



Noticed that [CodeQL](https://codeql.github.com/) wasn't enabled on the IBC-go repo

---

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

* update changelog (#1131)

* update changelog

* fix typo

* build(deps): bump github.com/stretchr/testify from 1.7.0 to 1.7.1 (#1134)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.7.0...v1.7.1)

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

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

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

* call packet.GetSequence() rather than passing the func as argument (#1130)

* call packet.GetSequence() rather than passing the func as argument

* add changelog entry

* fix: prefix ResponseResultType enum for proto linting (#1143)

* build(deps): bump actions/cache from 2.1.7 to 3 (#1150)

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

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

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

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

* fixes for go-releaser configuration (#1148)

* set the pre-release status if the tag contains alpha, beta or rc

* add separate filter for final releases

* add banner image (#1158)

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

* Add alpha, beta, and rc release definitions (#1151)

## Description

The proposed definitions for each phase of our release cycle. Please feel free to adjust my wording

closes: #881 


---

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

* build(deps): bump google.golang.org/protobuf from 1.27.1 to 1.28.0 (#1164)

Bumps [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) from 1.27.1 to 1.28.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protocolbuffers/protobuf-go/releases">google.golang.org/protobuf's releases</a>.</em></p>
<blockquote>
<h2>v1.28.0</h2>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-overview">Overview</a></li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-notable-changes">Notable changes</a>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-recursion-limit">UnmarshalOption RecursionLimit</a></li>
</ul>
</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-breaking-changes">Upcoming breakage changes</a></li>
</ul>
<h2>Overview </h2>
<p>The release provides a new unmarshal option for limiting the recursion depth when unmarshalling nested messages to prevent stack overflows. (<a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a>).</p>
<h2>Notable changes </h2>
<p><strong>New features:</strong></p>
<ul>
<li><a href="https://go.dev/cl/340489">CL/340489</a>: testing/protocmp: add Message.Unwrap</li>
</ul>
<p><strong>Documentation improvements:</strong></p>
<ul>
<li><a href="https://go.dev/cl/339569">CL/339569</a>: reflect/protoreflect: add more docs on Value aliasing</li>
</ul>
<p><strong>Updated supported versions:</strong></p>
<ul>
<li><a href="https://go.dev/cl/370055">CL/370055</a>: all: update supported versions</li>
</ul>
<h3>UnmarshalOption RecursionLimit </h3>
<ul>
<li><a href="https://golang.org/cl/385854">CL/385854</a>: all: implement depth limit for unmarshalling</li>
</ul>
<p>The new <a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a> limits the maximum recursion depth when unmarshalling messages. The limit is applied for nested messages. When messages are nested deeper than the specified limit the unmarshalling will fail. If unspecified, a default limit of 10,000 is applied.</p>
<p>In addition to the configurable limit for message nesting a non-configurable recursion limit for <a href="https://developers.google.com/protocol-buffers/docs/proto#groups">group</a> nesting of 10,000 was introduced.</p>
<h2>Upcoming breakage changes </h2>
<p>The default recursion limit of 10,000 introduced in the release is subject to change. We want to align this limit with implementations for other languages in the long term. C++ and Java use a limit of 100 which is also the target for the Go implementation.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/32051b4f86e54c2142c7c05362c6e96ae3454a1c"><code>32051b4</code></a> all: release v1.28.0</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3992ea83a23c00882339f33511074d251e19822c"><code>3992ea8</code></a> all: implement depth limit for unmarshaling</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/e5db2960ed1380681b571cdf4648230beefaf58b"><code>e5db296</code></a> all: update supported versions</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3a9e1dc314e2cb57d6cb054df513f17586295fc7"><code>3a9e1dc</code></a> all: gofmt all</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/26e8bcb3c743193558d1a0ff540c9e05f999267d"><code>26e8bcb</code></a> all: remove unnecessary string([]byte) conversion in fmt.Sprintf with %s</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/5aec41b4809b9822a34e17acd06ae9ae9f41c13d"><code>5aec41b</code></a> testing/protocmp: add Message.Unwrap</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/05be61fde35dcaa3502f4430edee444a294d41c3"><code>05be61f</code></a> reflect/protoreflect: add more docs on Value aliasing</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/b03064a95cacfede187231741d9918a75653057d"><code>b03064a</code></a> all: start v1.27.1-devel</li>
<li>See full diff in <a href="https://github.com/protocolbuffers/protobuf-go/compare/v1.27.1...v1.28.0">compare view</a></li>
</ul>
</details>
<br />


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

* fix typos in the controller params (#1172)

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

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

* add versions for new releases (#1175)

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

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

* fix: link checker reporting broken milestone link (#1200)

* update roadmap for q2 2022 and deleted history roadmap (don't think we'll need it)

* requirements document for ICA (#1173)

* add requirements document for interchain accounts

* fix branch

* added number in tittle.

* apply suggestions from review

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

* review comment

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

* imp: improve Logger performance (#1160)

* fix: Logger marshal errors

* changelog

* update

* ICS 29: Fee Middleware (#276)

* scaffolding for 29-fee (#274)

* scaffolding for 29-fee

* fix build

* update keeper test

* remove module test

* feat: adding proto files for fee payment middleware (#272)

* feat: adding proto files for fee payment middleware

* grammar

* fix: remove generated .pb files

* fix: comment

* feat: adding PacketId type

* refactor: fee / genesis

* refactor: escrowed fees map

* Apply suggestions from code review

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* refactor: use packetID + minor changes

* feat: adding query for all incentivized packets + some fixes

* feat: adding pagination to incentivized query

* fix: removing generated ibc directory + adding import/yaml

* fix: naming

* increase max depth for proto file searching and make proto all

* Update proto/ibc/applications/middleware/fee/v1/fee.proto

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

* refactor: remove file imports/add yaml/add argument for requests

* refactor: updating IdentifiedPacketFee

* fix: remove hidden file

* removing middleware dir & adding query

* remove junk file and update query rpcs

* Apply suggestions from code review

* Apply suggestions from code review

* remove query yaml, make proto-all

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

* fix: removing unncessary fields MsgEscrow & adding query params (#300)

* fix: removing unncessary fields MsgEscrow & adding query params

* fix: grammar

* fix: add yaml

* feat: #258 Register Counterparty Address (#376)

* feat: adding MsgServer for RegisterCounterPartyAddress &
EscrowPacketFree

* test: adding test for ValidateBasic

* fix: removing validate basic check

* fix: removing empty file

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/types/msgs.go

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

* Update modules/apps/29-fee/types/keys.go

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

* Update modules/apps/29-fee/keeper/keeper.go

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

* fix: fixing typos, variable names, comments

* fix: updating import comments

* test: adding test for KeyRelayerAddress

* update: comments & key_test

* Update modules/apps/29-fee/keeper/msg_server.go

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

* fix: error message

* docs: updating RegisterCounterpartyAddress fn description

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

* fix: remove comments for imports (#385)

* feat: Add handshake logic to ics29 (#307)

* do handshake logic, create test file

* do cap logic and fix build

* open handshake implementation and tests

* remove prints

* Update modules/apps/29-fee/module.go

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

* debugging progress

* fee enabled flag

* cleanup handshake logic

* fix tests

* much cleaner simapp

* split module.go file

* cleanup and docs

* assert IBC interfaces are fulfilled in middleware

* Update modules/apps/transfer/module.go

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

* Apply suggestions from code review

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

* fix unnecessary crossing hello logic

* fix version negotiation bugs and improve tests

* cleanup tests

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* address rest of colin comments

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

* Fee Middleware: Escrow logic (#465)

* fix: adding second endpoint for async pay fee + renaming types

* feat: adding escrow logic

* feat: updating proto types & escrow logic

* fix: stub fn & proto comment

* feat: adding PayFee & PayFeeTimeout & escrow_test

* test: adding happy path for EscrowPacketFee

* fix: comments, error handling

* fix: comments & grammar

* test: adding unhappy path for escrow

* tests(escrow): adding hasBalance check for module acc

* test(PayFee): adding happy path for PayFee tests

* tests(PayFee, PayFeeTimeout): adding tests

* fix: adding relayers back to IdentifiedPacket

* fix: removing refund acc from key

* fix: storing IdentifiedPacketFee in state instead of Fee

* feat: adding msg_server test for registerCPAddr, wiring for codec + stubs for sdk.Msg interface

* test: adding msg_server test for PayPacketFee

* test: adding PayPacketFeeAsync msg_server test

* chore: updating PayFee -> DistributeFee & minor nits

* nit: removing unnecessary nil check

* refactor: add portId to store key & use packetId as param

* fix: add DeleteFeeInEscrow & remove fee on successful distribution

* tests: adding validation & signer tests for PayFee/Async & updating proto to use Signer sdk standard

* chore: adding NewIdentifiedPacketFee fn

* fix: getter/setter for counterparty address + fix NewIdentifiedPacketFee

* fix: updating EscrowPacketFee with correct usage of coins api

* test: adding balance check for refund acc after escrow

* fix: remove unncessary errors

* test: updating escrow tests + miscellaneous fixes

* nit: updating var names

* docs: godoc

* refactor: IdentifiedPacketFee & Fee no longer pointers

* fixes: small fixes

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/keeper.go

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

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/types/msgs.go

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

* nit: proto doc & error fix

* fix: escrow test

* test: updating distribute fee tests

* test: adding validation check for fee and updating tests

* test: allow counterparty address to be arbitrary string

* fix: message validation should pass if one fee is valid

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/escrow.go

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

* fix: nits

* Update modules/apps/29-fee/keeper/escrow.go

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

* test: adding isZero check for msgs

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

* feat: update protos, grpc queries (#488)

* store refund address in IdentifiedPacketFee (#546)

* 29-Fee: Genesis (#557)

* proto: adding genesis state

* feat: add GetAllIdentifiedPacketFees

* feat: adding genesis.go & updating proto + app.go

* fix: removing PortId from genesis

* feat: adding GetAll for relayer addr/fee enabled chan + update genesis

* test: TestExportGenesis

* feat: update type + hook up to module.go

* fix: remove PortKey

* fix: imports + remove scoped keeper

* nit: using NewPacketId helper and updating helper def to have correct params

* feat: adding genesis validation + tests (#561)

* feat: adding genesis validation + tests

* fix: imports

* Update modules/apps/29-fee/types/genesis.go

* fix: nit

* Update modules/apps/29-fee/types/genesis_test.go

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

* nit: imporve default gen val test

* chore: move packetId + val to channeltypes and use validate fn

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

* feat: add incentivised ack proto (#564)

* proto file

* incentivized ack proto

* Fee Closing Handshake (#551)

* add iterate logic

* add closing logic with tests

* add comments for panic

* change invariant breaking recovery to disabling middleware rather than panicing

* docs, tests, minor refactor

* Fee Middleware: Add ICS4 wrapper (#562)

* chore: add ICS4 wrapper

* fix: remove channelKeeper sender packet

* chore: add WriteAck

* feat: ics 29 packet callbacks (#357)

* update imports to v3

* regenerate proto files

* fix build

* fix: event caching for fee distribution (#661)

* proto file

* initial impl

* apply self review suggestions

Deduplicate fee distribution code.
Rename DistributeFee to DistributePacketFees.
Rename DistributeFeeTimeout to DistributePacketFeesOnTimeout

* fixup tests

rename validCoins.
DistributePacketFeesOnTimeout no longer has a valid error case
Add test case for invalid forward relayer address on DistributePacketFees.

* partially fix tests

timeout fee is still being distributed depsite WriteFn() not being called

* fix tests

* address code nit

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

* ics4 callbacks fee middleware (#580)

* feat: adding WriteAcknowledgement

* updating genesis & relayer prefix

* fix: comment

* fix: comments

* Update modules/apps/29-fee/keeper/relay.go

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

* feat: add DeleteForwardRelayerAddr helper + use Set in ack

* fix: SetForwardAddr

* chore: add panic

* fix: remove fmt

* test: add WriteAcknowledgement test

* Update modules/apps/29-fee/ibc_module.go

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

* fix: remove print

* fix: WriteAck

* fix: use constructor

* Update modules/apps/29-fee/keeper/keeper.go

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

* fix: nits

* fix: remove found var not used

* test: adding check that forward relayer address is successfully deleted if set

* fix: merge issues

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

* chore: making PacketId non nullable (#737)

* nits: proto spacing + naming (#739)

* nits: proto spacing + naming

* nit: update comment

* fix: go.mod

* nit: option above import proto

* fix: spacing

* sean/fix-proto-identified-fee-not-null (#746)

* nits: more ics29 nits (#741)

* nits: remove capital from error + add godoc

* nit: add Wrapf

* nit: use strings.TrimSpace

* nit: add err type for MsgPayPacketFee

* refactor: app version + add comment (#750)

* chore: remove error

* test: add test for whitespaced empty string

* nit: update err syntax (#747)

* nit: update err syntax

* nit: more

* nit: err syntax

* feat: adding Route, Type, GetSignBytes for all messages (#743)

* feat: adding Route, Type, GetSignBytes for all messages

* tests: adding tests for Route/Type/GetSignBytes

* hygiene: add validate fn for Fee (#748)

* hygiene: add validate fn for Fee

* Update modules/apps/29-fee/types/msgs.go

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

* fix: error message

* test: move Validate to fee.go & abstract out test

* chore: remove test cases

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

* fix: app.go (#789)

* refactor: ics29 json encoded version metadata (#883)

* adding metadata type to ics29 protos

* updating ics29 handshake handlers to support json encoded metadata

* updating tests to support json encoded metadata

* Update modules/apps/29-fee/ibc_module.go

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

* Update modules/apps/29-fee/ibc_module.go

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

* renaming metadata version to fee_version

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

* fix: return nil on OnRecvPacket for async pay (#911)

* nit: ics29 comments (#910)

* fix: comments

* Update modules/apps/29-fee/keeper/escrow.go

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

* chore: Add transfer test for ics29 (#901)

* begin writing transfer test for ics29

* finish writing transfer test

* refactor: ics29 OnChanOpenInit callback tests now use mock module (#924)

* refactor: OnChanOpenInit callback tests now use mock module

* Update modules/apps/29-fee/fee_test.go

* feat: allow multiple addrs to incentivize packets (#915)

* [WIP] allow multiple addresses to incentivize a packet

* distribute multiple fees, fix broken tests

* use NewIdentifiedPacketFees in EscrowPacketFee

* cleanup var naming

* removing commented out code and adding test case

* Update modules/apps/29-fee/ibc_module.go

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

* fix: refund RecvFee if ForwardAddr is invalid

* test: update tests to distribute multiple identified fees

* refactor: clean up DistrPacketFees

* refactor: using .Empty() helper func for code hygiene

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

* chore: remove spec directory from ics29 (#934)

* refactor: use mock module for ics29 closing handshakes (#926)

* refactor: use mock module for closing handshakes in ics29

* self-review fix

* refactor: use mock module for ics29 grpc_query_test.go (#933)

* refactor: readjust keeper_test.go to use mock module (#930)

* fix: fields for genesis should be non nullable (#938)

* refactor: use mock module for ics29 escrow_test.go (#932)

* refactor: use mock module for ics29 genesis_test.go (#931)

* ics29:feat: emit event escrow (#914)

* feat: emit EventTypeSendIncentivizedPacket event on EscrowPacket

* fix: string conversion

* refactor: add helper fn for emit event

* chore: godoc

* nit: use .String())

* refactor: OnRecvPacket to use mock module (#927)

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

* refactor: ics29 OnChanOpenTry/Ack use mock module for testing instead of ics20 (#925)

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

* refactor: use mock module for OnAcknowledgePacket callback testing (#929)

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

* refactor: OnTimeoutPacket to use mock module (#928)

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

* chore: add packet id arg to EscrowPacketFee (#951)

* adding packet id arg to EscrowPacketFee

* updating tests

* review adaptations

* chore: remove legacy testing functions (#954)

* fix:ics29: WriteAck update + adding success bool to IncentivizedAck (#952)

* fix: updating WriteAck & adding Success boolean to IncentivizedAcknowledgement

* feat: adding check of is fee enabled

* nit: change successful to underlying_application_success

* test: adding seperate test for fee disabled write async

* Update modules/apps/29-fee/ibc_module_test.go

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

* test: adding check to compare hash of acks

* fix: var name

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

* chore: add cli cmd to incentivize existing packet (async) (#965)

* chore: add cli to incentivize existing packets

* Update modules/apps/29-fee/client/cli/cli.go

* Update modules/apps/29-fee/client/cli/cli.go

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

* chore: update cli example

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

* ics29:fix: counterparty addr must contain channelID (#937)

* fix: counterparty address must chain channelID

* nit: updating var name

* test: adding validation check for channelID

* nit: fn names

* chore: fix err msg (#971)

* ics29:fix: store source address for query later on WriteAck (#912)

* fix: for async WriteAck store source address for query later

* ics29:fix: update genesis type (#913)

* fix: adding ForwardRelayerAddresses to genesis

* fix: trimspace on string check

* nit: err + trimspace error case

* refactor: updating WriteAck + keeper fn name

* Update modules/apps/29-fee/keeper/relay.go

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

* chore: remove legacy testing functions (#954)

* fix:ics29: WriteAck update + adding success bool to IncentivizedAck (#952)

* fix: updating WriteAck & adding Success boolean to IncentivizedAcknowledgement

* feat: adding check of is fee enabled

* nit: change successful to underlying_application_success

* test: adding seperate test for fee disabled write async

* Update modules/apps/29-fee/ibc_module_test.go

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

* test: adding check to compare hash of acks

* fix: var name

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

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

* refactor: make fee storage more efficient (#956)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* fixing typo in protodoc comments

* chore: update ics29 genesis state to support multiple packet fees (#957)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* updating genesis protos to use IdentifiedPacketFees

* updating init/export genesis state functionality and tests

* chore: update MsgPayPacketFeeAsync fields (#979)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* fixing typo in protodoc comments

* updating protos and codegen

* updating MsgPayPacketFeeAsync handler and tests

* chore: add ParseKeyFeesInEscrow helper function (#998)

* chore: update grpc queries to handle multiple fees (#967)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* updating protos and existing queries

* updating grpc queries and refactoring tests

* format error correct in favour of proto string() method

* leveraging ParseKeyFeesInEscrow to obtain  packet id in query

* feat: CLI cmd for MsgRegisterCounterpartyAddress (#987)

* feat: CLI cmd for MsgRegisterCounterpartyAddress

* fix: examples

* Update modules/apps/29-fee/client/cli/tx.go

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

* Update modules/apps/29-fee/client/cli/tx.go

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

* chore: remove print

* nit: update address for counterparty

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

* fix: ics29: switch source with destintion for chan/port IDs (#961)

* fix: switch source with destintion for chan/port IDs

* fix: blunder

* test: adding tests in case of incorrect channel/port id

* test: moving check to WriteAcknowledgement

* add test case for Get/Set counterparty address

* nit: path name

* Update modules/apps/29-fee/keeper/msg_server_test.go

* test: cleanup 29-fee/types tests (#1006)

* feat: grpc query total recv packet fees (#1015)

* adding query for total packet recv fees to proto query server

* adding total packet recv fee query impl and tests

* updating doc comments

* chore: switch code ordering (#1025)

* feat: Add ParseKeyFeeEnabled and rename FeeEnabledKey -> KeyFeeEnabled (#1023)

* chore: add ParseKeyFeesInEscrow helper function

* feat: add ParseKeyFeeEnabled function and rename FeeEnabledKey to KeyFeeEnabled

* feat: ics29 cli for query total recv fees (#1035)

* feat: grpc query total ack fees (#1032)

* adding query for total packet recv fees to proto query server

* adding total packet recv fee query impl and tests

* updating doc comments

* adding protos and codegen

* adding total ack fees query and tests

* fixing protodoc comment

* feat: grpc query total timeout fees (#1033)

* adding query for total packet recv fees to proto query server

* adding total packet recv fee query impl and tests

* updating doc comments

* adding protos and codegen

* adding total ack fees query and tests

* adding protos and codegen

* adding query total timeout fees and tests

* fixing protodoc comment

* fixing protodoc comment

* feat: adding clis for total ack and timeout queries (#1043)

* add ParseKeyForwardRelayerAddress function + test (#1046)

* chore: remove unused ics29 keeper funcs (#1044)

* removing keys, adding additional test, moving event attribute keys

* removing unused code and updating tests

* removing unused IdentifiedPacketFee type

* chore: add gRPC for querying incentivized packets for a specific channel (#983)

* generate proto files

* feat: add gRPC for querying incentivized packets for a specific channel

* test: add gRPC test for incentivized packets for channel query

* fix build

* partially fix tests

* chore: fix tests

* deduplicate code

* chore: code cleanup

* fix build

* remove changes from merge conflict

* nit: rename c to goCtx

* add function EscrowAccountHasBalance (#1042)

* add function EscrowAccountHasBalance

* change API to use sdk.Coins

* feat: ParseKeyCounterpartyRelayer function (#1047)

* chore: adding queries to cmd builder (#1057)

* chore: update ics29 protodocs (#1055)

* updating protodocs comments and regen code/docs

* Update proto/ibc/applications/fee/v1/tx.proto

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

* updating incentivized ack doc

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

* add counter party channel ID to argument list of on channel open ack (#1159)

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

* ADR 004: Fee module locking in the presence of severe bugs (#1060)

* add adr 004

* add to README

* Update docs/architecture/adr-004-ics29-lock-fee-module.md

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

* Update docs/architecture/adr-004-ics29-lock-fee-module.md

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

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

* nit: packetID var name (#1214)

* ics29: update with changes from main (#1221)

* add banner image (#1158)

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

* Add alpha, beta, and rc release definitions (#1151)

## Description

The proposed definitions for each phase of our release cycle. Please feel free to adjust my wording

closes: #881 


---

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

* build(deps): bump google.golang.org/protobuf from 1.27.1 to 1.28.0 (#1164)

Bumps [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) from 1.27.1 to 1.28.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protocolbuffers/protobuf-go/releases">google.golang.org/protobuf's releases</a>.</em></p>
<blockquote>
<h2>v1.28.0</h2>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-overview">Overview</a></li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-notable-changes">Notable changes</a>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-recursion-limit">UnmarshalOption RecursionLimit</a></li>
</ul>
</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-breaking-changes">Upcoming breakage changes</a></li>
</ul>
<h2>Overview </h2>
<p>The release provides a new unmarshal option for limiting the recursion depth when unmarshalling nested messages to prevent stack overflows. (<a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a>).</p>
<h2>Notable changes </h2>
<p><strong>New features:</strong></p>
<ul>
<li><a href="https://go.dev/cl/340489">CL/340489</a>: testing/protocmp: add Message.Unwrap</li>
</ul>
<p><strong>Documentation improvements:</strong></p>
<ul>
<li><a href="https://go.dev/cl/339569">CL/339569</a>: reflect/protoreflect: add more docs on Value aliasing</li>
</ul>
<p><strong>Updated supported versions:</strong></p>
<ul>
<li><a href="https://go.dev/cl/370055">CL/370055</a>: all: update supported versions</li>
</ul>
<h3>UnmarshalOption RecursionLimit </h3>
<ul>
<li><a href="https://golang.org/cl/385854">CL/385854</a>: all: implement depth limit for unmarshalling</li>
</ul>
<p>The new <a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a> limits the maximum recursion depth when unmarshalling messages. The limit is applied for nested messages. When messages are nested deeper than the specified limit the unmarshalling will fail. If unspecified, a default limit of 10,000 is applied.</p>
<p>In addition to the configurable limit for message nesting a non-configurable recursion limit for <a href="https://developers.google.com/protocol-buffers/docs/proto#groups">group</a> nesting of 10,000 was introduced.</p>
<h2>Upcoming breakage changes </h2>
<p>The default recursion limit of 10,000 introduced in the release is subject to change. We want to align this limit with implementations for other languages in the long term. C++ and Java use a limit of 100 which is also the target for the Go implementation.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/32051b4f86e54c2142c7c05362c6e96ae3454a1c"><code>32051b4</code></a> all: release v1.28.0</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3992ea83a23c00882339f33511074d251e19822c"><code>3992ea8</code></a> all: implement depth limit for unmarshaling</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/e5db2960ed1380681b571cdf4648230beefaf58b"><code>e5db296</code></a> all: update supported versions</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3a9e1dc314e2cb57d6cb054df513f17586295fc7"><code>3a9e1dc</code></a> all: gofmt all</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/26e8bcb3c743193558d1a0ff540c9e05f999267d"><code>26e8bcb</code></a> all: remove unnecessary string([]byte) conversion in fmt.Sprintf with %s</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/5aec41b4809b9822a34e17acd06ae9ae9f41c13d"><code>5aec41b</code></a> testing/protocmp: add Message.Unwrap</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/05be61fde35dcaa3502f4430edee444a294d41c3"><code>05be61f</code></a> reflect/protoreflect: add more docs on Value aliasing</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/b03064a95cacfede187231741d9918a75653057d"><code>b03064a</code></a> all: start v1.27.1-devel</li>
<li>See full diff in <a href="https://github.com/protocolbuffers/protobuf-go/compare/v1.27.1...v1.28.0">compare view</a></li>
</ul>
</details>
<br />


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

* fix typos in the controller params (#1172)

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

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

* add versions for new releases (#1175)

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

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

* fix: link checker reporting broken milestone link (#1200)

* update roadmap for q2 2022 and deleted history roadmap (don't think we'll need it)

* requirements document for ICA (#1173)

* add requirements document for interchain accounts

* fix branch

* added number in tittle.

* apply suggestions from review

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

* review comment

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

* imp: improve Logger performance (#1160)

* fix: Logger marshal errors

* changelog

* update

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Aditya <[email protected]>
Co-authored-by: Federico Kunze Küllmer <[email protected]>

Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: Charly <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Luke Rhoads <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Dev Ojha <[email protected]>
Co-authored-by: Jack Zampolin <[email protected]>
Co-authored-by: Federico Kunze Küllmer <[email protected]>
Co-authored-by: Leo Pang <[email protected]>
Co-authored-by: Barrie Byron <[email protected]>
Co-authored-by: Tyler <[email protected]>
Co-authored-by: technicallyty <[email protected]>
Co-authored-by: Barrie Byron <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: Marko Baricevic <[email protected]>
Co-authored-by: Aleksandr Bezobchuk <[email protected]>
Co-authored-by: nir1218 <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Assaf Morami <[email protected]>
Co-authored-by: Dan McCandless <[email protected]>
Co-authored-by: Ramiro Carlucho <[email protected]>
Co-authored-by: frog power 4000 <[email protected]>
Co-authored-by: Sean King <[email protected]>

* build(deps): bump codecov/codecov-action from 2.1.0 to 3 (#1222)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.1.0 to 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.1.0...v3)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <[email protected]>

* ics29: feat: CLI query commands for packets (#1229)

* feat: adding query for getting incentivized packet by packet-id

* feat: add cli for getting all incentivized packets across all channels

* nits: suggestions

* Update modules/apps/29-fee/client/cli/query.go

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

* chore: changelog

* nits: comments

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

* add check for blocked addr for forward relayer distribution (#1231)

* feat: ics29 counterparty address grpc query and CLI  (#1224)

* generating codegen protobufs for query counterparty address

* adding grpc query, tests and cli

* Update modules/apps/29-fee/keeper/grpc_query_test.go

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

* Update modules/apps/29-fee/keeper/grpc_query_test.go

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

* updating godoc

* adding changelog

* updating cli descriptions for ics29

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

* chore: fix go ctx arg naming in ics29 grpc queries (#1226)

* chore: ics29 module housekeeping cleanup (#1227)

* feat: ics29 fee enabled channel queries (#1225)

* adding protobuf codegen

* adding grpc queries and tests

* adding clis for queries

* adding changelog

* resolving nits from pr review

* updating grpc gateway options

* chore: cleanup OnAcknowledgement and OnTimeout code ics29 (#1228)

* add changelog entry for #276 (#1233)

* feat: adding CLI for getting incentivized packets on a specific channel (#1230)

* feat: adding CLI for getting incentivized packets on a specific channel

* chore: changelog

* refactor: usage

* chore: ics29 cleanup, addressing nits (#1236)

* refactor: moving fn definition to bottom of file and switching params (#1232)

## Description

closes: #868 #997 

---

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

* feat: allow ability to lock fee module in presence of severe bug  (#1239)

* apply code changes from pr #1031

* update comments

* chore: update fee module is locked error string

* update godoc to reference ADR 004

* add more references to ADR 004

* build(deps): bump actions/download-artifact from 2 to 3 (#1241)

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/download-artifact/releases">actions/download-artifact's releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node16 (<a href="https://github-redirect.dependabot.com/actions/download-artifact/pull/134">actions/download-artifact#134</a>)</li>
<li>Update package-lock.json file version to 2 (<a href="https://github-redirect.dependabot.com/actions/download-artifact/pull/136">actions/download-artifact#136</a>)</li>
</ul>
<h3>Breaking Changes</h3>
<p>With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.</p>
<h2>v2.1.0 Download Artifact</h2>
<ul>
<li>Improved output &amp; logging</li>
<li>Fixed issue where downloading all artifacts could cause display percentages to be over 100%</li>
<li>Various small bug fixes &amp; improvements</li>
</ul>
<h2>v2.0.10</h2>
<ul>
<li>Retry on HTTP 500 responses from the service</li>
</ul>
<h2>v2.0.9</h2>
<ul>
<li>Fixes to proxy related issues</li>
</ul>
<h2>v2.0.8</h2>
<ul>
<li>Improvements to retryability if an error is encountered during artifact download</li>
</ul>
<h2>v2.0.7 download-artifact</h2>
<ul>
<li>Improved download retry-ability if a partial download is encountered</li>
</ul>
<h2>v2.0.6</h2>
<p>Update actions/core NPM package that is used internally</p>
<h2>v2.0.5</h2>
<ul>
<li>Add Third Party License Information</li>
</ul>
<h2>v2.0.4</h2>
<ul>
<li>Use the latest version of the <code>@actions/artifact</code> NPM package</li>
</ul>
<h2>v2.0.3</h2>
<ul>
<li>Misc improvements</li>
</ul>
<h2>v2.0.2</h2>
<ul>
<li>Support for tilde expansion</li>
</ul>
<h2>v2.0.1</h2>
<ul>
<li>Download path output</li>
<li>Improved logging</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/actions/download-artifact/commit/fb598a63ae348fa914e94cd0ff38f362e927b741"><code>fb598a6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/actions/download-artifact/issues/136">#136</a> from actions/jtamsut/update-lockfile-version</li>
<li><a href="https://github.com/actions/download-artifact/commit/a4a09c5d7eb5932e0e6c4e77a434738189a24f1b"><code>a4a09c5</code></a> regenerate index.js</li>
<li><a href="https://github.com/actions/download-artifact/commit/9acf51df7946118a04918663acc5d955f49de177"><code>9acf51d</code></a> regenerate package lock</li>
<li><a href="https://github.com/actions/download-artifact/commit/882107232564f8bc8c5083706e009246f11aa871"><code>8821072</code></a> upgrade artifact version</li>
<li><a href="https://github.com/actions/download-artifact/commit/b8bbd3b64f298f12cfabf7d85ee4e716714eae3b"><code>b8bbd3b</code></a> regenerate lockfile</li>
<li><a href="https://github.com/actions/download-artifact/commit/6ee3d963e5a7ed7dac02925e126c37e459c36aa6"><code>6ee3d96</code></a> revert artifact version</li>
<li><a href="https://github.com/actions/download-artifact/commit/d4793f4e27ec52069836c96d310f815ffa48176c"><code>d4793f4</code></a> update docs for v3</li>
<li><a href="https://github.com/actions/download-artifact/commit/2d338d2145c33c497f1f4f574ca1eb88e1061a8e"><code>2d338d2</code></a> upgrade package to v3</li>
<li><a href="https://github.com/actions/download-artifact/commit/360d0830b5796c983178d8073e39063e8d32bc46"><code>360d083</code></a> update dependency on artifact lib</li>
<li><a href="https://github.com/actions/download-artifact/commit/d9b73cccacd09ac21cc34b82578e6cbb1b4e2539"><code>d9b73cc</code></a> update lock file</li>
<li>Additional commits viewable in <a href="https://github.com/actions/download-artifact/compare/v2...v3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/download-artifact&package-manager=github_actions&previous-version=2&new-version=3)](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>

* build(deps): bump actions/upload-artifact from 2 to 3 (#1240)

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node16 (<a href="https://github-redirect.dependabot.com/actions/upload-artifact/issues/293">#293</a>)</li>
<li>Update package-lock.json file version to 2 (<a href="https://github-redirect.dependabot.com/actions/upload-artifact/issues/302">#302</a>)</li>
</ul>
<h3>Breaking Changes</h3>
<p>With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.</p>
<h2>v2.3.1</h2>
<p>Fix for empty fails on Windows failing on upload <a href="https://github-redirect.dependabot.com/actions/upload-artifact/issues/281">#281</a></p>
<h2>v2.3.0 Upload Artifact</h2>
<ul>
<li>Optimizations for faster uploads of larger files that are already compressed</li>
…
oshorefueled pushed a commit to ComposableFi/ibc-go that referenced this pull request Aug 9, 2022
* 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

* feat: adding Pack/Unpack acknowledgement helper fns (#895)

* feat: adding Pack/Unpack acknowledgement helper fns

* chore: changelog

* fix: docs

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

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

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

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

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

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

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

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

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

## 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(ica): add trail of bits audit report (#903)

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

* relocate the audit report for ICA

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

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

* testing: adding multiple sender accounts for testing puproses

* fix genesis setup (#936)

* Update testing/chain.go

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

* refactor: code hygiene

* Update testing/chain.go

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

* fix: setting totalySupply to empty

* nit: CamelCase not UPPERCASE

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

* Create test chain with multiple validators (#942)

* testing: adding multiple sender accounts for testing puproses

* fix genesis setup (#936)

* Update testing/chain.go

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

* refactor: code hygiene

* Update testing/chain.go

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

* multi validator commit taken from @saione

* add function to pass custom valset

* add changelog

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

* add changelog entry for SDK bump

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

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

* chore: fix broken link (#972)

* add backport actions for v1.3.x and v2.1.x (#958)

* Revert "feat: adding Pack/Unpack acknowledgement helper fns (#895)" (#973)

This reverts commit 843b459635da8cedd92945141c4efe3a762f305d.

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

* chore: update migration docs (#985)

* chore: update migration docs

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

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

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

* chore: fix mispelled words (#991)

* fix: remove go mod tidy from proto-gen script (#989)

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

* bug: support base denoms with slashes

* add changelog entry

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

* upgrade ics23 to v0.7 (#948)

* upgrade ics23 to v0.7-rc

* add changelog entry

* update ics23 to final 0.7

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

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

* add changelog entry for #941

* fix package import (#1007)

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

## Description



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

* docs: add missing args to NewKeeper in integration docs (#1038)

## Description



This add some missing arguments to `ibckeeper.NewKeeper` and `ibctransferkeeper.NewKeeper` in integration docs

---

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)
- [x] 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

* small fixes for v2 to v3 migration (#1016)

* small fixes for v2 to v3 migration

* review comment

* Update v2-to-v3.md

* add store upgrade documentation

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

* add missing slash

* build(deps): bump actions/checkout from 2.4.0 to 3 (#1045)

Bumps [actions/checkout](https://github.com/actions/checkout) from 2.4.0 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<ul>
<li>Update default runtime to node16</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<h2>v2.3.1</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/284">Fix default branch resolution for .wiki and when using SSH</a></li>
</ul>
<h2>v2.3.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/278">Fallback to the default branch</a></li>
</ul>
<h2>v2.2.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/258">Fetch all history for all tags and branches when fetch-depth=0</a></li>
</ul>
<h2>v2.1.1</h2>
<ul>
<li>Changes to support GHES (<a href="https://github-redirect.dependabot.com/actions/checkout/pull/236">here</a> and <a href="https://github-redirect.dependabot.com/actions/checkout/pull/248">here</a>)</li>
</ul>
<h2>v2.1.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/191">Group output</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/199">Changes to support GHES alpha release</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/184">Persist core.sshCommand for submodules</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/163">Add support ssh</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/179">Convert submodule SSH URL to HTTPS, when not using SSH</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/157">Add submodule support</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/144">Follow proxy settings</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/141">Fix ref for pr closed event when a pr is merged</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/128">Fix issue checking detached when git less than 2.22</a></li>
</ul>
<h2>v2.0.0</h2>
<ul>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/108">Do not pass cred on command line</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/107">Add input persist-credentials</a></li>
<li><a href="https://github-redirect.dependabot.com/actions/checkout/pull/104">Fallback to REST API to download repo</a></li>
</ul>
<h2>v2 (beta)</h2>
<ul>
<li>Improved fetch performance
<ul>
<li>The default behavior now fetches only the SHA being checked-out</li>
</ul>
</li>
<li>Script authenticated git commands
<ul>
<li>Persists <code>with.token</code> in the local git config</li>
<li>Enables your scripts to run authenticated git commands</li>
<li>Post-job cleanup removes the token</li>
<li>Coming soon: Opt out by setting <code>with.persist-credentials</code> to <code>false</code></li>
</ul>
</li>
<li>Creates a local branch
<ul>
<li>No longer detached HEAD when checking out a branch</li>
<li>A local branch is created with the corresponding upstream branch set</li>
</ul>
</li>
<li>Improved layout</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/actions/checkout/commit/a12a3943b4bdde767164f792f33f40b04645d846"><code>a12a394</code></a> update readme for v3 (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/708">#708</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/8f9e05e482293f862823fcca12d9eddfb3723131"><code>8f9e05e</code></a> Update to node 16 (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/689">#689</a>)</li>
<li><a href="https://github.com/actions/checkout/commit/230611dbd0eb52da1e1f4f7bc8bb0c3a339fc8b7"><code>230611d</code></a> Change secret name for PAT to not start with GITHUB_ (<a href="https://github-redirect.dependabot.com/actions/checkout/issues/623">#623</a>)</li>
<li>See full diff in <a href="https://github.com/actions/checkout/compare/v2.4.0...v3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=2.4.0&new-version=3)](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>

* call packet.GetSequence() rather than passing the func as argument (#995)

* Add counterpartyChannelID param to IBCModule.OnChanOpenAck (#1086)

* add counterpartyChannelID param to IBCModule OnChanOpenAck()

* change testing mock

* change ica IBCModules ChannelOpenAck

* change transfer IBCModules ChannelOpenAck

* change core keeper ChannelOpenAck()

* CHANGELOG.md

* update v2-to-v3 migration doc

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

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

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

* fix mirgation docs (#1091)

* fix: handle testing update client errors (#1094)

* replace channel keeper with IBC keeper in AnteDecorator (#950)

* replace channel keeper with IBC keeper in AnteDecorator and pass message to rpc handler

* fix error checking condition

* fix for proper way of getting go context

* refactor tests for ante handler

* review comment

* review comments and some fixes

* review comments

* execute message for update client as well

* add migration

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

* add backport rules for v1.4.x and v2.2.x (#1085)

* ibctesting: custom voting power reduction for testing (#939)

* ibctesting: custom voting power reduction for testing

* changelog

* fix

* make T public

* fix

* revert changes

* fix test

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

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

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.44.0 to 1.45.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.44.0...v1.45.0)

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

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

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

* fix: adjust InitModule to account for empty controller and host keepers (#1120)

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

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

* Merge pull request from GHSA-j658-c98j-fww4

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

* fixes for the documentation about handling ack for SDK <= 0.45 (#1122)

* fixes for documentation

* review comment

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

* Allow testing to update ValidatorSet (#1003)

* testing: adding multiple sender accounts for testing puproses

* fix genesis setup (#936)

* Update testing/chain.go

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

* refactor: code hygiene

* Update testing/chain.go

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

* multi validator commit taken from @saione

* add function to pass custom valset

* create simplest failing test

* progress

* fix changevalset test

* fix errors in tendermint package

* fix client types test

* fix client keeper

* fix cap functions

* fix genesis core tests

* fix ica tests

* fix doc

* CHANGELOG

* replace signer array with signer map

* add documentation

* fix merge

* documentation

* ordered signer array doc

* add new delegation and comment to change valset test

Co-authored-by: Sean King <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* imp: create codeql-analysis action (#1128)

## Description



Noticed that [CodeQL](https://codeql.github.com/) wasn't enabled on the IBC-go repo

---

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

* update changelog (#1131)

* update changelog

* fix typo

* build(deps): bump github.com/stretchr/testify from 1.7.0 to 1.7.1 (#1134)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.7.0...v1.7.1)

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

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

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

* call packet.GetSequence() rather than passing the func as argument (#1130)

* call packet.GetSequence() rather than passing the func as argument

* add changelog entry

* fix: prefix ResponseResultType enum for proto linting (#1143)

* build(deps): bump actions/cache from 2.1.7 to 3 (#1150)

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

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

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

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

* fixes for go-releaser configuration (#1148)

* set the pre-release status if the tag contains alpha, beta or rc

* add separate filter for final releases

* add banner image (#1158)

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

* Add alpha, beta, and rc release definitions (#1151)

## Description

The proposed definitions for each phase of our release cycle. Please feel free to adjust my wording

closes: #881 


---

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

* build(deps): bump google.golang.org/protobuf from 1.27.1 to 1.28.0 (#1164)

Bumps [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) from 1.27.1 to 1.28.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protocolbuffers/protobuf-go/releases">google.golang.org/protobuf's releases</a>.</em></p>
<blockquote>
<h2>v1.28.0</h2>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-overview">Overview</a></li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-notable-changes">Notable changes</a>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-recursion-limit">UnmarshalOption RecursionLimit</a></li>
</ul>
</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-breaking-changes">Upcoming breakage changes</a></li>
</ul>
<h2>Overview </h2>
<p>The release provides a new unmarshal option for limiting the recursion depth when unmarshalling nested messages to prevent stack overflows. (<a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a>).</p>
<h2>Notable changes </h2>
<p><strong>New features:</strong></p>
<ul>
<li><a href="https://go.dev/cl/340489">CL/340489</a>: testing/protocmp: add Message.Unwrap</li>
</ul>
<p><strong>Documentation improvements:</strong></p>
<ul>
<li><a href="https://go.dev/cl/339569">CL/339569</a>: reflect/protoreflect: add more docs on Value aliasing</li>
</ul>
<p><strong>Updated supported versions:</strong></p>
<ul>
<li><a href="https://go.dev/cl/370055">CL/370055</a>: all: update supported versions</li>
</ul>
<h3>UnmarshalOption RecursionLimit </h3>
<ul>
<li><a href="https://golang.org/cl/385854">CL/385854</a>: all: implement depth limit for unmarshalling</li>
</ul>
<p>The new <a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a> limits the maximum recursion depth when unmarshalling messages. The limit is applied for nested messages. When messages are nested deeper than the specified limit the unmarshalling will fail. If unspecified, a default limit of 10,000 is applied.</p>
<p>In addition to the configurable limit for message nesting a non-configurable recursion limit for <a href="https://developers.google.com/protocol-buffers/docs/proto#groups">group</a> nesting of 10,000 was introduced.</p>
<h2>Upcoming breakage changes </h2>
<p>The default recursion limit of 10,000 introduced in the release is subject to change. We want to align this limit with implementations for other languages in the long term. C++ and Java use a limit of 100 which is also the target for the Go implementation.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/32051b4f86e54c2142c7c05362c6e96ae3454a1c"><code>32051b4</code></a> all: release v1.28.0</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3992ea83a23c00882339f33511074d251e19822c"><code>3992ea8</code></a> all: implement depth limit for unmarshaling</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/e5db2960ed1380681b571cdf4648230beefaf58b"><code>e5db296</code></a> all: update supported versions</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3a9e1dc314e2cb57d6cb054df513f17586295fc7"><code>3a9e1dc</code></a> all: gofmt all</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/26e8bcb3c743193558d1a0ff540c9e05f999267d"><code>26e8bcb</code></a> all: remove unnecessary string([]byte) conversion in fmt.Sprintf with %s</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/5aec41b4809b9822a34e17acd06ae9ae9f41c13d"><code>5aec41b</code></a> testing/protocmp: add Message.Unwrap</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/05be61fde35dcaa3502f4430edee444a294d41c3"><code>05be61f</code></a> reflect/protoreflect: add more docs on Value aliasing</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/b03064a95cacfede187231741d9918a75653057d"><code>b03064a</code></a> all: start v1.27.1-devel</li>
<li>See full diff in <a href="https://github.com/protocolbuffers/protobuf-go/compare/v1.27.1...v1.28.0">compare view</a></li>
</ul>
</details>
<br />


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

* fix typos in the controller params (#1172)

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

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

* add versions for new releases (#1175)

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

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

* fix: link checker reporting broken milestone link (#1200)

* update roadmap for q2 2022 and deleted history roadmap (don't think we'll need it)

* requirements document for ICA (#1173)

* add requirements document for interchain accounts

* fix branch

* added number in tittle.

* apply suggestions from review

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

* review comment

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

* imp: improve Logger performance (#1160)

* fix: Logger marshal errors

* changelog

* update

* ICS 29: Fee Middleware (#276)

* scaffolding for 29-fee (#274)

* scaffolding for 29-fee

* fix build

* update keeper test

* remove module test

* feat: adding proto files for fee payment middleware (#272)

* feat: adding proto files for fee payment middleware

* grammar

* fix: remove generated .pb files

* fix: comment

* feat: adding PacketId type

* refactor: fee / genesis

* refactor: escrowed fees map

* Apply suggestions from code review

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* refactor: use packetID + minor changes

* feat: adding query for all incentivized packets + some fixes

* feat: adding pagination to incentivized query

* fix: removing generated ibc directory + adding import/yaml

* fix: naming

* increase max depth for proto file searching and make proto all

* Update proto/ibc/applications/middleware/fee/v1/fee.proto

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

* refactor: remove file imports/add yaml/add argument for requests

* refactor: updating IdentifiedPacketFee

* fix: remove hidden file

* removing middleware dir & adding query

* remove junk file and update query rpcs

* Apply suggestions from code review

* Apply suggestions from code review

* remove query yaml, make proto-all

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

* fix: removing unncessary fields MsgEscrow & adding query params (#300)

* fix: removing unncessary fields MsgEscrow & adding query params

* fix: grammar

* fix: add yaml

* feat: #258 Register Counterparty Address (#376)

* feat: adding MsgServer for RegisterCounterPartyAddress &
EscrowPacketFree

* test: adding test for ValidateBasic

* fix: removing validate basic check

* fix: removing empty file

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/types/msgs.go

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

* Update modules/apps/29-fee/types/keys.go

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

* Update modules/apps/29-fee/keeper/keeper.go

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

* fix: fixing typos, variable names, comments

* fix: updating import comments

* test: adding test for KeyRelayerAddress

* update: comments & key_test

* Update modules/apps/29-fee/keeper/msg_server.go

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

* fix: error message

* docs: updating RegisterCounterpartyAddress fn description

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

* fix: remove comments for imports (#385)

* feat: Add handshake logic to ics29 (#307)

* do handshake logic, create test file

* do cap logic and fix build

* open handshake implementation and tests

* remove prints

* Update modules/apps/29-fee/module.go

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

* debugging progress

* fee enabled flag

* cleanup handshake logic

* fix tests

* much cleaner simapp

* split module.go file

* cleanup and docs

* assert IBC interfaces are fulfilled in middleware

* Update modules/apps/transfer/module.go

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

* Apply suggestions from code review

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

* fix unnecessary crossing hello logic

* fix version negotiation bugs and improve tests

* cleanup tests

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* address rest of colin comments

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

* Fee Middleware: Escrow logic (#465)

* fix: adding second endpoint for async pay fee + renaming types

* feat: adding escrow logic

* feat: updating proto types & escrow logic

* fix: stub fn & proto comment

* feat: adding PayFee & PayFeeTimeout & escrow_test

* test: adding happy path for EscrowPacketFee

* fix: comments, error handling

* fix: comments & grammar

* test: adding unhappy path for escrow

* tests(escrow): adding hasBalance check for module acc

* test(PayFee): adding happy path for PayFee tests

* tests(PayFee, PayFeeTimeout): adding tests

* fix: adding relayers back to IdentifiedPacket

* fix: removing refund acc from key

* fix: storing IdentifiedPacketFee in state instead of Fee

* feat: adding msg_server test for registerCPAddr, wiring for codec + stubs for sdk.Msg interface

* test: adding msg_server test for PayPacketFee

* test: adding PayPacketFeeAsync msg_server test

* chore: updating PayFee -> DistributeFee & minor nits

* nit: removing unnecessary nil check

* refactor: add portId to store key & use packetId as param

* fix: add DeleteFeeInEscrow & remove fee on successful distribution

* tests: adding validation & signer tests for PayFee/Async & updating proto to use Signer sdk standard

* chore: adding NewIdentifiedPacketFee fn

* fix: getter/setter for counterparty address + fix NewIdentifiedPacketFee

* fix: updating EscrowPacketFee with correct usage of coins api

* test: adding balance check for refund acc after escrow

* fix: remove unncessary errors

* test: updating escrow tests + miscellaneous fixes

* nit: updating var names

* docs: godoc

* refactor: IdentifiedPacketFee & Fee no longer pointers

* fixes: small fixes

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/keeper.go

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

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/types/msgs.go

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

* nit: proto doc & error fix

* fix: escrow test

* test: updating distribute fee tests

* test: adding validation check for fee and updating tests

* test: allow counterparty address to be arbitrary string

* fix: message validation should pass if one fee is valid

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/escrow.go

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

* fix: nits

* Update modules/apps/29-fee/keeper/escrow.go

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

* test: adding isZero check for msgs

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

* feat: update protos, grpc queries (#488)

* store refund address in IdentifiedPacketFee (#546)

* 29-Fee: Genesis (#557)

* proto: adding genesis state

* feat: add GetAllIdentifiedPacketFees

* feat: adding genesis.go & updating proto + app.go

* fix: removing PortId from genesis

* feat: adding GetAll for relayer addr/fee enabled chan + update genesis

* test: TestExportGenesis

* feat: update type + hook up to module.go

* fix: remove PortKey

* fix: imports + remove scoped keeper

* nit: using NewPacketId helper and updating helper def to have correct params

* feat: adding genesis validation + tests (#561)

* feat: adding genesis validation + tests

* fix: imports

* Update modules/apps/29-fee/types/genesis.go

* fix: nit

* Update modules/apps/29-fee/types/genesis_test.go

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

* nit: imporve default gen val test

* chore: move packetId + val to channeltypes and use validate fn

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

* feat: add incentivised ack proto (#564)

* proto file

* incentivized ack proto

* Fee Closing Handshake (#551)

* add iterate logic

* add closing logic with tests

* add comments for panic

* change invariant breaking recovery to disabling middleware rather than panicing

* docs, tests, minor refactor

* Fee Middleware: Add ICS4 wrapper (#562)

* chore: add ICS4 wrapper

* fix: remove channelKeeper sender packet

* chore: add WriteAck

* feat: ics 29 packet callbacks (#357)

* update imports to v3

* regenerate proto files

* fix build

* fix: event caching for fee distribution (#661)

* proto file

* initial impl

* apply self review suggestions

Deduplicate fee distribution code.
Rename DistributeFee to DistributePacketFees.
Rename DistributeFeeTimeout to DistributePacketFeesOnTimeout

* fixup tests

rename validCoins.
DistributePacketFeesOnTimeout no longer has a valid error case
Add test case for invalid forward relayer address on DistributePacketFees.

* partially fix tests

timeout fee is still being distributed depsite WriteFn() not being called

* fix tests

* address code nit

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

* ics4 callbacks fee middleware (#580)

* feat: adding WriteAcknowledgement

* updating genesis & relayer prefix

* fix: comment

* fix: comments

* Update modules/apps/29-fee/keeper/relay.go

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

* feat: add DeleteForwardRelayerAddr helper + use Set in ack

* fix: SetForwardAddr

* chore: add panic

* fix: remove fmt

* test: add WriteAcknowledgement test

* Update modules/apps/29-fee/ibc_module.go

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

* fix: remove print

* fix: WriteAck

* fix: use constructor

* Update modules/apps/29-fee/keeper/keeper.go

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

* fix: nits

* fix: remove found var not used

* test: adding check that forward relayer address is successfully deleted if set

* fix: merge issues

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

* chore: making PacketId non nullable (#737)

* nits: proto spacing + naming (#739)

* nits: proto spacing + naming

* nit: update comment

* fix: go.mod

* nit: option above import proto

* fix: spacing

* sean/fix-proto-identified-fee-not-null (#746)

* nits: more ics29 nits (#741)

* nits: remove capital from error + add godoc

* nit: add Wrapf

* nit: use strings.TrimSpace

* nit: add err type for MsgPayPacketFee

* refactor: app version + add comment (#750)

* chore: remove error

* test: add test for whitespaced empty string

* nit: update err syntax (#747)

* nit: update err syntax

* nit: more

* nit: err syntax

* feat: adding Route, Type, GetSignBytes for all messages (#743)

* feat: adding Route, Type, GetSignBytes for all messages

* tests: adding tests for Route/Type/GetSignBytes

* hygiene: add validate fn for Fee (#748)

* hygiene: add validate fn for Fee

* Update modules/apps/29-fee/types/msgs.go

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

* fix: error message

* test: move Validate to fee.go & abstract out test

* chore: remove test cases

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

* fix: app.go (#789)

* refactor: ics29 json encoded version metadata (#883)

* adding metadata type to ics29 protos

* updating ics29 handshake handlers to support json encoded metadata

* updating tests to support json encoded metadata

* Update modules/apps/29-fee/ibc_module.go

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

* Update modules/apps/29-fee/ibc_module.go

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

* renaming metadata version to fee_version

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

* fix: return nil on OnRecvPacket for async pay (#911)

* nit: ics29 comments (#910)

* fix: comments

* Update modules/apps/29-fee/keeper/escrow.go

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

* chore: Add transfer test for ics29 (#901)

* begin writing transfer test for ics29

* finish writing transfer test

* refactor: ics29 OnChanOpenInit callback tests now use mock module (#924)

* refactor: OnChanOpenInit callback tests now use mock module

* Update modules/apps/29-fee/fee_test.go

* feat: allow multiple addrs to incentivize packets (#915)

* [WIP] allow multiple addresses to incentivize a packet

* distribute multiple fees, fix broken tests

* use NewIdentifiedPacketFees in EscrowPacketFee

* cleanup var naming

* removing commented out code and adding test case

* Update modules/apps/29-fee/ibc_module.go

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

* fix: refund RecvFee if ForwardAddr is invalid

* test: update tests to distribute multiple identified fees

* refactor: clean up DistrPacketFees

* refactor: using .Empty() helper func for code hygiene

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

* chore: remove spec directory from ics29 (#934)

* refactor: use mock module for ics29 closing handshakes (#926)

* refactor: use mock module for closing handshakes in ics29

* self-review fix

* refactor: use mock module for ics29 grpc_query_test.go (#933)

* refactor: readjust keeper_test.go to use mock module (#930)

* fix: fields for genesis should be non nullable (#938)

* refactor: use mock module for ics29 escrow_test.go (#932)

* refactor: use mock module for ics29 genesis_test.go (#931)

* ics29:feat: emit event escrow (#914)

* feat: emit EventTypeSendIncentivizedPacket event on EscrowPacket

* fix: string conversion

* refactor: add helper fn for emit event

* chore: godoc

* nit: use .String())

* refactor: OnRecvPacket to use mock module (#927)

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

* refactor: ics29 OnChanOpenTry/Ack use mock module for testing instead of ics20 (#925)

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

* refactor: use mock module for OnAcknowledgePacket callback testing (#929)

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

* refactor: OnTimeoutPacket to use mock module (#928)

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

* chore: add packet id arg to EscrowPacketFee (#951)

* adding packet id arg to EscrowPacketFee

* updating tests

* review adaptations

* chore: remove legacy testing functions (#954)

* fix:ics29: WriteAck update + adding success bool to IncentivizedAck (#952)

* fix: updating WriteAck & adding Success boolean to IncentivizedAcknowledgement

* feat: adding check of is fee enabled

* nit: change successful to underlying_application_success

* test: adding seperate test for fee disabled write async

* Update modules/apps/29-fee/ibc_module_test.go

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

* test: adding check to compare hash of acks

* fix: var name

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

* chore: add cli cmd to incentivize existing packet (async) (#965)

* chore: add cli to incentivize existing packets

* Update modules/apps/29-fee/client/cli/cli.go

* Update modules/apps/29-fee/client/cli/cli.go

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

* chore: update cli example

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

* ics29:fix: counterparty addr must contain channelID (#937)

* fix: counterparty address must chain channelID

* nit: updating var name

* test: adding validation check for channelID

* nit: fn names

* chore: fix err msg (#971)

* ics29:fix: store source address for query later on WriteAck (#912)

* fix: for async WriteAck store source address for query later

* ics29:fix: update genesis type (#913)

* fix: adding ForwardRelayerAddresses to genesis

* fix: trimspace on string check

* nit: err + trimspace error case

* refactor: updating WriteAck + keeper fn name

* Update modules/apps/29-fee/keeper/relay.go

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

* chore: remove legacy testing functions (#954)

* fix:ics29: WriteAck update + adding success bool to IncentivizedAck (#952)

* fix: updating WriteAck & adding Success boolean to IncentivizedAcknowledgement

* feat: adding check of is fee enabled

* nit: change successful to underlying_application_success

* test: adding seperate test for fee disabled write async

* Update modules/apps/29-fee/ibc_module_test.go

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

* test: adding check to compare hash of acks

* fix: var name

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

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

* refactor: make fee storage more efficient (#956)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* fixing typo in protodoc comments

* chore: update ics29 genesis state to support multiple packet fees (#957)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* updating genesis protos to use IdentifiedPacketFees

* updating init/export genesis state functionality and tests

* chore: update MsgPayPacketFeeAsync fields (#979)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* fixing typo in protodoc comments

* updating protos and codegen

* updating MsgPayPacketFeeAsync handler and tests

* chore: add ParseKeyFeesInEscrow helper function (#998)

* chore: update grpc queries to handle multiple fees (#967)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* updating protos and existing queries

* updating grpc queries and refactoring tests

* format error correct in favour of proto string() method

* leveraging ParseKeyFeesInEscrow to obtain  packet id in query

* feat: CLI cmd for MsgRegisterCounterpartyAddress (#987)

* feat: CLI cmd for MsgRegisterCounterpartyAddress

* fix: examples

* Update modules/apps/29-fee/client/cli/tx.go

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

* Update modules/apps/29-fee/client/cli/tx.go

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

* chore: remove print

* nit: update address for counterparty

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

* fix: ics29: switch source with destintion for chan/port IDs (#961)

* fix: switch source with destintion for chan/port IDs

* fix: blunder

* test: adding tests in case of incorrect channel/port id

* test: moving check to WriteAcknowledgement

* add test case for Get/Set counterparty address

* nit: path name

* Update modules/apps/29-fee/keeper/msg_server_test.go

* test: cleanup 29-fee/types tests (#1006)

* feat: grpc query total recv packet fees (#1015)

* adding query for total packet recv fees to proto query server

* adding total packet recv fee query impl and tests

* updating doc comments

* chore: switch code ordering (#1025)

* feat: Add ParseKeyFeeEnabled and rename FeeEnabledKey -> KeyFeeEnabled (#1023)

* chore: add ParseKeyFeesInEscrow helper function

* feat: add ParseKeyFeeEnabled function and rename FeeEnabledKey to KeyFeeEnabled

* feat: ics29 cli for query total recv fees (#1035)

* feat: grpc query total ack fees (#1032)

* adding query for total packet recv fees to proto query server

* adding total packet recv fee query impl and tests

* updating doc comments

* adding protos and codegen

* adding total ack fees query and tests

* fixing protodoc comment

* feat: grpc query total timeout fees (#1033)

* adding query for total packet recv fees to proto query server

* adding total packet recv fee query impl and tests

* updating doc comments

* adding protos and codegen

* adding total ack fees query and tests

* adding protos and codegen

* adding query total timeout fees and tests

* fixing protodoc comment

* fixing protodoc comment

* feat: adding clis for total ack and timeout queries (#1043)

* add ParseKeyForwardRelayerAddress function + test (#1046)

* chore: remove unused ics29 keeper funcs (#1044)

* removing keys, adding additional test, moving event attribute keys

* removing unused code and updating tests

* removing unused IdentifiedPacketFee type

* chore: add gRPC for querying incentivized packets for a specific channel (#983)

* generate proto files

* feat: add gRPC for querying incentivized packets for a specific channel

* test: add gRPC test for incentivized packets for channel query

* fix build

* partially fix tests

* chore: fix tests

* deduplicate code

* chore: code cleanup

* fix build

* remove changes from merge conflict

* nit: rename c to goCtx

* add function EscrowAccountHasBalance (#1042)

* add function EscrowAccountHasBalance

* change API to use sdk.Coins

* feat: ParseKeyCounterpartyRelayer function (#1047)

* chore: adding queries to cmd builder (#1057)

* chore: update ics29 protodocs (#1055)

* updating protodocs comments and regen code/docs

* Update proto/ibc/applications/fee/v1/tx.proto

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

* updating incentivized ack doc

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

* add counter party channel ID to argument list of on channel open ack (#1159)

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

* ADR 004: Fee module locking in the presence of severe bugs (#1060)

* add adr 004

* add to README

* Update docs/architecture/adr-004-ics29-lock-fee-module.md

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

* Update docs/architecture/adr-004-ics29-lock-fee-module.md

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

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

* nit: packetID var name (#1214)

* ics29: update with changes from main (#1221)

* add banner image (#1158)

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

* Add alpha, beta, and rc release definitions (#1151)

## Description

The proposed definitions for each phase of our release cycle. Please feel free to adjust my wording

closes: #881 


---

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

* build(deps): bump google.golang.org/protobuf from 1.27.1 to 1.28.0 (#1164)

Bumps [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) from 1.27.1 to 1.28.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protocolbuffers/protobuf-go/releases">google.golang.org/protobuf's releases</a>.</em></p>
<blockquote>
<h2>v1.28.0</h2>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-overview">Overview</a></li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-notable-changes">Notable changes</a>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-recursion-limit">UnmarshalOption RecursionLimit</a></li>
</ul>
</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-breaking-changes">Upcoming breakage changes</a></li>
</ul>
<h2>Overview </h2>
<p>The release provides a new unmarshal option for limiting the recursion depth when unmarshalling nested messages to prevent stack overflows. (<a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a>).</p>
<h2>Notable changes </h2>
<p><strong>New features:</strong></p>
<ul>
<li><a href="https://go.dev/cl/340489">CL/340489</a>: testing/protocmp: add Message.Unwrap</li>
</ul>
<p><strong>Documentation improvements:</strong></p>
<ul>
<li><a href="https://go.dev/cl/339569">CL/339569</a>: reflect/protoreflect: add more docs on Value aliasing</li>
</ul>
<p><strong>Updated supported versions:</strong></p>
<ul>
<li><a href="https://go.dev/cl/370055">CL/370055</a>: all: update supported versions</li>
</ul>
<h3>UnmarshalOption RecursionLimit </h3>
<ul>
<li><a href="https://golang.org/cl/385854">CL/385854</a>: all: implement depth limit for unmarshalling</li>
</ul>
<p>The new <a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a> limits the maximum recursion depth when unmarshalling messages. The limit is applied for nested messages. When messages are nested deeper than the specified limit the unmarshalling will fail. If unspecified, a default limit of 10,000 is applied.</p>
<p>In addition to the configurable limit for message nesting a non-configurable recursion limit for <a href="https://developers.google.com/protocol-buffers/docs/proto#groups">group</a> nesting of 10,000 was introduced.</p>
<h2>Upcoming breakage changes </h2>
<p>The default recursion limit of 10,000 introduced in the release is subject to change. We want to align this limit with implementations for other languages in the long term. C++ and Java use a limit of 100 which is also the target for the Go implementation.</p>
</blockquote>
</details>
<details>
<summary>…
oshorefueled pushed a commit to ComposableFi/ibc-go that referenced this pull request Aug 9, 2022
* fix mirgation docs (#1091)

* fix: handle testing update client errors (#1094)

* replace channel keeper with IBC keeper in AnteDecorator (#950)

* replace channel keeper with IBC keeper in AnteDecorator and pass message to rpc handler

* fix error checking condition

* fix for proper way of getting go context

* refactor tests for ante handler

* review comment

* review comments and some fixes

* review comments

* execute message for update client as well

* add migration

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

* add backport rules for v1.4.x and v2.2.x (#1085)

* ibctesting: custom voting power reduction for testing (#939)

* ibctesting: custom voting power reduction for testing

* changelog

* fix

* make T public

* fix

* revert changes

* fix test

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

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

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.44.0 to 1.45.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.44.0...v1.45.0)

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

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

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

* fix: adjust InitModule to account for empty controller and host keepers (#1120)

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

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

* Merge pull request from GHSA-j658-c98j-fww4

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

* fixes for the documentation about handling ack for SDK <= 0.45 (#1122)

* fixes for documentation

* review comment

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

* Allow testing to update ValidatorSet (#1003)

* testing: adding multiple sender accounts for testing puproses

* fix genesis setup (#936)

* Update testing/chain.go

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

* refactor: code hygiene

* Update testing/chain.go

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

* multi validator commit taken from @saione

* add function to pass custom valset

* create simplest failing test

* progress

* fix changevalset test

* fix errors in tendermint package

* fix client types test

* fix client keeper

* fix cap functions

* fix genesis core tests

* fix ica tests

* fix doc

* CHANGELOG

* replace signer array with signer map

* add documentation

* fix merge

* documentation

* ordered signer array doc

* add new delegation and comment to change valset test

Co-authored-by: Sean King <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* imp: create codeql-analysis action (#1128)

## Description



Noticed that [CodeQL](https://codeql.github.com/) wasn't enabled on the IBC-go repo

---

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

* update changelog (#1131)

* update changelog

* fix typo

* build(deps): bump github.com/stretchr/testify from 1.7.0 to 1.7.1 (#1134)

Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.7.0...v1.7.1)

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

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

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

* call packet.GetSequence() rather than passing the func as argument (#1130)

* call packet.GetSequence() rather than passing the func as argument

* add changelog entry

* fix: prefix ResponseResultType enum for proto linting (#1143)

* build(deps): bump actions/cache from 2.1.7 to 3 (#1150)

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

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

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

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

* fixes for go-releaser configuration (#1148)

* set the pre-release status if the tag contains alpha, beta or rc

* add separate filter for final releases

* add banner image (#1158)

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

* Add alpha, beta, and rc release definitions (#1151)

## Description

The proposed definitions for each phase of our release cycle. Please feel free to adjust my wording

closes: #881 


---

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

* build(deps): bump google.golang.org/protobuf from 1.27.1 to 1.28.0 (#1164)

Bumps [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) from 1.27.1 to 1.28.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protocolbuffers/protobuf-go/releases">google.golang.org/protobuf's releases</a>.</em></p>
<blockquote>
<h2>v1.28.0</h2>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-overview">Overview</a></li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-notable-changes">Notable changes</a>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-recursion-limit">UnmarshalOption RecursionLimit</a></li>
</ul>
</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-breaking-changes">Upcoming breakage changes</a></li>
</ul>
<h2>Overview </h2>
<p>The release provides a new unmarshal option for limiting the recursion depth when unmarshalling nested messages to prevent stack overflows. (<a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a>).</p>
<h2>Notable changes </h2>
<p><strong>New features:</strong></p>
<ul>
<li><a href="https://go.dev/cl/340489">CL/340489</a>: testing/protocmp: add Message.Unwrap</li>
</ul>
<p><strong>Documentation improvements:</strong></p>
<ul>
<li><a href="https://go.dev/cl/339569">CL/339569</a>: reflect/protoreflect: add more docs on Value aliasing</li>
</ul>
<p><strong>Updated supported versions:</strong></p>
<ul>
<li><a href="https://go.dev/cl/370055">CL/370055</a>: all: update supported versions</li>
</ul>
<h3>UnmarshalOption RecursionLimit </h3>
<ul>
<li><a href="https://golang.org/cl/385854">CL/385854</a>: all: implement depth limit for unmarshalling</li>
</ul>
<p>The new <a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a> limits the maximum recursion depth when unmarshalling messages. The limit is applied for nested messages. When messages are nested deeper than the specified limit the unmarshalling will fail. If unspecified, a default limit of 10,000 is applied.</p>
<p>In addition to the configurable limit for message nesting a non-configurable recursion limit for <a href="https://developers.google.com/protocol-buffers/docs/proto#groups">group</a> nesting of 10,000 was introduced.</p>
<h2>Upcoming breakage changes </h2>
<p>The default recursion limit of 10,000 introduced in the release is subject to change. We want to align this limit with implementations for other languages in the long term. C++ and Java use a limit of 100 which is also the target for the Go implementation.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/32051b4f86e54c2142c7c05362c6e96ae3454a1c"><code>32051b4</code></a> all: release v1.28.0</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3992ea83a23c00882339f33511074d251e19822c"><code>3992ea8</code></a> all: implement depth limit for unmarshaling</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/e5db2960ed1380681b571cdf4648230beefaf58b"><code>e5db296</code></a> all: update supported versions</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3a9e1dc314e2cb57d6cb054df513f17586295fc7"><code>3a9e1dc</code></a> all: gofmt all</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/26e8bcb3c743193558d1a0ff540c9e05f999267d"><code>26e8bcb</code></a> all: remove unnecessary string([]byte) conversion in fmt.Sprintf with %s</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/5aec41b4809b9822a34e17acd06ae9ae9f41c13d"><code>5aec41b</code></a> testing/protocmp: add Message.Unwrap</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/05be61fde35dcaa3502f4430edee444a294d41c3"><code>05be61f</code></a> reflect/protoreflect: add more docs on Value aliasing</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/b03064a95cacfede187231741d9918a75653057d"><code>b03064a</code></a> all: start v1.27.1-devel</li>
<li>See full diff in <a href="https://github.com/protocolbuffers/protobuf-go/compare/v1.27.1...v1.28.0">compare view</a></li>
</ul>
</details>
<br />


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

* fix typos in the controller params (#1172)

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

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

* add versions for new releases (#1175)

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

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

* fix: link checker reporting broken milestone link (#1200)

* update roadmap for q2 2022 and deleted history roadmap (don't think we'll need it)

* requirements document for ICA (#1173)

* add requirements document for interchain accounts

* fix branch

* added number in tittle.

* apply suggestions from review

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

* review comment

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

* imp: improve Logger performance (#1160)

* fix: Logger marshal errors

* changelog

* update

* ICS 29: Fee Middleware (#276)

* scaffolding for 29-fee (#274)

* scaffolding for 29-fee

* fix build

* update keeper test

* remove module test

* feat: adding proto files for fee payment middleware (#272)

* feat: adding proto files for fee payment middleware

* grammar

* fix: remove generated .pb files

* fix: comment

* feat: adding PacketId type

* refactor: fee / genesis

* refactor: escrowed fees map

* Apply suggestions from code review

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* Update proto/ibc/applications/middleware/fee/v1/tx.proto

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

* refactor: use packetID + minor changes

* feat: adding query for all incentivized packets + some fixes

* feat: adding pagination to incentivized query

* fix: removing generated ibc directory + adding import/yaml

* fix: naming

* increase max depth for proto file searching and make proto all

* Update proto/ibc/applications/middleware/fee/v1/fee.proto

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

* refactor: remove file imports/add yaml/add argument for requests

* refactor: updating IdentifiedPacketFee

* fix: remove hidden file

* removing middleware dir & adding query

* remove junk file and update query rpcs

* Apply suggestions from code review

* Apply suggestions from code review

* remove query yaml, make proto-all

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

* fix: removing unncessary fields MsgEscrow & adding query params (#300)

* fix: removing unncessary fields MsgEscrow & adding query params

* fix: grammar

* fix: add yaml

* feat: #258 Register Counterparty Address (#376)

* feat: adding MsgServer for RegisterCounterPartyAddress &
EscrowPacketFree

* test: adding test for ValidateBasic

* fix: removing validate basic check

* fix: removing empty file

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/types/msgs.go

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

* Update modules/apps/29-fee/types/keys.go

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

* Update modules/apps/29-fee/keeper/keeper.go

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

* fix: fixing typos, variable names, comments

* fix: updating import comments

* test: adding test for KeyRelayerAddress

* update: comments & key_test

* Update modules/apps/29-fee/keeper/msg_server.go

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

* fix: error message

* docs: updating RegisterCounterpartyAddress fn description

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

* fix: remove comments for imports (#385)

* feat: Add handshake logic to ics29 (#307)

* do handshake logic, create test file

* do cap logic and fix build

* open handshake implementation and tests

* remove prints

* Update modules/apps/29-fee/module.go

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

* debugging progress

* fee enabled flag

* cleanup handshake logic

* fix tests

* much cleaner simapp

* split module.go file

* cleanup and docs

* assert IBC interfaces are fulfilled in middleware

* Update modules/apps/transfer/module.go

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

* Apply suggestions from code review

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

* fix unnecessary crossing hello logic

* fix version negotiation bugs and improve tests

* cleanup tests

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* address rest of colin comments

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

* Fee Middleware: Escrow logic (#465)

* fix: adding second endpoint for async pay fee + renaming types

* feat: adding escrow logic

* feat: updating proto types & escrow logic

* fix: stub fn & proto comment

* feat: adding PayFee & PayFeeTimeout & escrow_test

* test: adding happy path for EscrowPacketFee

* fix: comments, error handling

* fix: comments & grammar

* test: adding unhappy path for escrow

* tests(escrow): adding hasBalance check for module acc

* test(PayFee): adding happy path for PayFee tests

* tests(PayFee, PayFeeTimeout): adding tests

* fix: adding relayers back to IdentifiedPacket

* fix: removing refund acc from key

* fix: storing IdentifiedPacketFee in state instead of Fee

* feat: adding msg_server test for registerCPAddr, wiring for codec + stubs for sdk.Msg interface

* test: adding msg_server test for PayPacketFee

* test: adding PayPacketFeeAsync msg_server test

* chore: updating PayFee -> DistributeFee & minor nits

* nit: removing unnecessary nil check

* refactor: add portId to store key & use packetId as param

* fix: add DeleteFeeInEscrow & remove fee on successful distribution

* tests: adding validation & signer tests for PayFee/Async & updating proto to use Signer sdk standard

* chore: adding NewIdentifiedPacketFee fn

* fix: getter/setter for counterparty address + fix NewIdentifiedPacketFee

* fix: updating EscrowPacketFee with correct usage of coins api

* test: adding balance check for refund acc after escrow

* fix: remove unncessary errors

* test: updating escrow tests + miscellaneous fixes

* nit: updating var names

* docs: godoc

* refactor: IdentifiedPacketFee & Fee no longer pointers

* fixes: small fixes

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/keeper.go

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

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/keeper/msg_server.go

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

* Update modules/apps/29-fee/types/msgs.go

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

* nit: proto doc & error fix

* fix: escrow test

* test: updating distribute fee tests

* test: adding validation check for fee and updating tests

* test: allow counterparty address to be arbitrary string

* fix: message validation should pass if one fee is valid

* Update modules/apps/29-fee/keeper/escrow.go

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

* Update modules/apps/29-fee/keeper/escrow.go

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

* fix: nits

* Update modules/apps/29-fee/keeper/escrow.go

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

* test: adding isZero check for msgs

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

* feat: update protos, grpc queries (#488)

* store refund address in IdentifiedPacketFee (#546)

* 29-Fee: Genesis (#557)

* proto: adding genesis state

* feat: add GetAllIdentifiedPacketFees

* feat: adding genesis.go & updating proto + app.go

* fix: removing PortId from genesis

* feat: adding GetAll for relayer addr/fee enabled chan + update genesis

* test: TestExportGenesis

* feat: update type + hook up to module.go

* fix: remove PortKey

* fix: imports + remove scoped keeper

* nit: using NewPacketId helper and updating helper def to have correct params

* feat: adding genesis validation + tests (#561)

* feat: adding genesis validation + tests

* fix: imports

* Update modules/apps/29-fee/types/genesis.go

* fix: nit

* Update modules/apps/29-fee/types/genesis_test.go

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

* nit: imporve default gen val test

* chore: move packetId + val to channeltypes and use validate fn

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

* feat: add incentivised ack proto (#564)

* proto file

* incentivized ack proto

* Fee Closing Handshake (#551)

* add iterate logic

* add closing logic with tests

* add comments for panic

* change invariant breaking recovery to disabling middleware rather than panicing

* docs, tests, minor refactor

* Fee Middleware: Add ICS4 wrapper (#562)

* chore: add ICS4 wrapper

* fix: remove channelKeeper sender packet

* chore: add WriteAck

* feat: ics 29 packet callbacks (#357)

* update imports to v3

* regenerate proto files

* fix build

* fix: event caching for fee distribution (#661)

* proto file

* initial impl

* apply self review suggestions

Deduplicate fee distribution code.
Rename DistributeFee to DistributePacketFees.
Rename DistributeFeeTimeout to DistributePacketFeesOnTimeout

* fixup tests

rename validCoins.
DistributePacketFeesOnTimeout no longer has a valid error case
Add test case for invalid forward relayer address on DistributePacketFees.

* partially fix tests

timeout fee is still being distributed depsite WriteFn() not being called

* fix tests

* address code nit

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

* ics4 callbacks fee middleware (#580)

* feat: adding WriteAcknowledgement

* updating genesis & relayer prefix

* fix: comment

* fix: comments

* Update modules/apps/29-fee/keeper/relay.go

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

* feat: add DeleteForwardRelayerAddr helper + use Set in ack

* fix: SetForwardAddr

* chore: add panic

* fix: remove fmt

* test: add WriteAcknowledgement test

* Update modules/apps/29-fee/ibc_module.go

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

* fix: remove print

* fix: WriteAck

* fix: use constructor

* Update modules/apps/29-fee/keeper/keeper.go

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

* fix: nits

* fix: remove found var not used

* test: adding check that forward relayer address is successfully deleted if set

* fix: merge issues

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

* chore: making PacketId non nullable (#737)

* nits: proto spacing + naming (#739)

* nits: proto spacing + naming

* nit: update comment

* fix: go.mod

* nit: option above import proto

* fix: spacing

* sean/fix-proto-identified-fee-not-null (#746)

* nits: more ics29 nits (#741)

* nits: remove capital from error + add godoc

* nit: add Wrapf

* nit: use strings.TrimSpace

* nit: add err type for MsgPayPacketFee

* refactor: app version + add comment (#750)

* chore: remove error

* test: add test for whitespaced empty string

* nit: update err syntax (#747)

* nit: update err syntax

* nit: more

* nit: err syntax

* feat: adding Route, Type, GetSignBytes for all messages (#743)

* feat: adding Route, Type, GetSignBytes for all messages

* tests: adding tests for Route/Type/GetSignBytes

* hygiene: add validate fn for Fee (#748)

* hygiene: add validate fn for Fee

* Update modules/apps/29-fee/types/msgs.go

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

* fix: error message

* test: move Validate to fee.go & abstract out test

* chore: remove test cases

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

* fix: app.go (#789)

* refactor: ics29 json encoded version metadata (#883)

* adding metadata type to ics29 protos

* updating ics29 handshake handlers to support json encoded metadata

* updating tests to support json encoded metadata

* Update modules/apps/29-fee/ibc_module.go

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

* Update modules/apps/29-fee/ibc_module.go

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

* renaming metadata version to fee_version

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

* fix: return nil on OnRecvPacket for async pay (#911)

* nit: ics29 comments (#910)

* fix: comments

* Update modules/apps/29-fee/keeper/escrow.go

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

* chore: Add transfer test for ics29 (#901)

* begin writing transfer test for ics29

* finish writing transfer test

* refactor: ics29 OnChanOpenInit callback tests now use mock module (#924)

* refactor: OnChanOpenInit callback tests now use mock module

* Update modules/apps/29-fee/fee_test.go

* feat: allow multiple addrs to incentivize packets (#915)

* [WIP] allow multiple addresses to incentivize a packet

* distribute multiple fees, fix broken tests

* use NewIdentifiedPacketFees in EscrowPacketFee

* cleanup var naming

* removing commented out code and adding test case

* Update modules/apps/29-fee/ibc_module.go

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

* fix: refund RecvFee if ForwardAddr is invalid

* test: update tests to distribute multiple identified fees

* refactor: clean up DistrPacketFees

* refactor: using .Empty() helper func for code hygiene

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

* chore: remove spec directory from ics29 (#934)

* refactor: use mock module for ics29 closing handshakes (#926)

* refactor: use mock module for closing handshakes in ics29

* self-review fix

* refactor: use mock module for ics29 grpc_query_test.go (#933)

* refactor: readjust keeper_test.go to use mock module (#930)

* fix: fields for genesis should be non nullable (#938)

* refactor: use mock module for ics29 escrow_test.go (#932)

* refactor: use mock module for ics29 genesis_test.go (#931)

* ics29:feat: emit event escrow (#914)

* feat: emit EventTypeSendIncentivizedPacket event on EscrowPacket

* fix: string conversion

* refactor: add helper fn for emit event

* chore: godoc

* nit: use .String())

* refactor: OnRecvPacket to use mock module (#927)

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

* refactor: ics29 OnChanOpenTry/Ack use mock module for testing instead of ics20 (#925)

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

* refactor: use mock module for OnAcknowledgePacket callback testing (#929)

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

* refactor: OnTimeoutPacket to use mock module (#928)

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

* chore: add packet id arg to EscrowPacketFee (#951)

* adding packet id arg to EscrowPacketFee

* updating tests

* review adaptations

* chore: remove legacy testing functions (#954)

* fix:ics29: WriteAck update + adding success bool to IncentivizedAck (#952)

* fix: updating WriteAck & adding Success boolean to IncentivizedAcknowledgement

* feat: adding check of is fee enabled

* nit: change successful to underlying_application_success

* test: adding seperate test for fee disabled write async

* Update modules/apps/29-fee/ibc_module_test.go

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

* test: adding check to compare hash of acks

* fix: var name

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

* chore: add cli cmd to incentivize existing packet (async) (#965)

* chore: add cli to incentivize existing packets

* Update modules/apps/29-fee/client/cli/cli.go

* Update modules/apps/29-fee/client/cli/cli.go

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

* chore: update cli example

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

* ics29:fix: counterparty addr must contain channelID (#937)

* fix: counterparty address must chain channelID

* nit: updating var name

* test: adding validation check for channelID

* nit: fn names

* chore: fix err msg (#971)

* ics29:fix: store source address for query later on WriteAck (#912)

* fix: for async WriteAck store source address for query later

* ics29:fix: update genesis type (#913)

* fix: adding ForwardRelayerAddresses to genesis

* fix: trimspace on string check

* nit: err + trimspace error case

* refactor: updating WriteAck + keeper fn name

* Update modules/apps/29-fee/keeper/relay.go

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

* chore: remove legacy testing functions (#954)

* fix:ics29: WriteAck update + adding success bool to IncentivizedAck (#952)

* fix: updating WriteAck & adding Success boolean to IncentivizedAcknowledgement

* feat: adding check of is fee enabled

* nit: change successful to underlying_application_success

* test: adding seperate test for fee disabled write async

* Update modules/apps/29-fee/ibc_module_test.go

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

* test: adding check to compare hash of acks

* fix: var name

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

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

* refactor: make fee storage more efficient (#956)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* fixing typo in protodoc comments

* chore: update ics29 genesis state to support multiple packet fees (#957)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* updating genesis protos to use IdentifiedPacketFees

* updating init/export genesis state functionality and tests

* chore: update MsgPayPacketFeeAsync fields (#979)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* fixing typo in protodoc comments

* updating protos and codegen

* updating MsgPayPacketFeeAsync handler and tests

* chore: add ParseKeyFeesInEscrow helper function (#998)

* chore: update grpc queries to handle multiple fees (#967)

* adding new proto types and codegen

* refactoring ics29 fees for more efficient storage

* updating tests

* updating protos and existing queries

* updating grpc queries and refactoring tests

* format error correct in favour of proto string() method

* leveraging ParseKeyFeesInEscrow to obtain  packet id in query

* feat: CLI cmd for MsgRegisterCounterpartyAddress (#987)

* feat: CLI cmd for MsgRegisterCounterpartyAddress

* fix: examples

* Update modules/apps/29-fee/client/cli/tx.go

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

* Update modules/apps/29-fee/client/cli/tx.go

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

* chore: remove print

* nit: update address for counterparty

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

* fix: ics29: switch source with destintion for chan/port IDs (#961)

* fix: switch source with destintion for chan/port IDs

* fix: blunder

* test: adding tests in case of incorrect channel/port id

* test: moving check to WriteAcknowledgement

* add test case for Get/Set counterparty address

* nit: path name

* Update modules/apps/29-fee/keeper/msg_server_test.go

* test: cleanup 29-fee/types tests (#1006)

* feat: grpc query total recv packet fees (#1015)

* adding query for total packet recv fees to proto query server

* adding total packet recv fee query impl and tests

* updating doc comments

* chore: switch code ordering (#1025)

* feat: Add ParseKeyFeeEnabled and rename FeeEnabledKey -> KeyFeeEnabled (#1023)

* chore: add ParseKeyFeesInEscrow helper function

* feat: add ParseKeyFeeEnabled function and rename FeeEnabledKey to KeyFeeEnabled

* feat: ics29 cli for query total recv fees (#1035)

* feat: grpc query total ack fees (#1032)

* adding query for total packet recv fees to proto query server

* adding total packet recv fee query impl and tests

* updating doc comments

* adding protos and codegen

* adding total ack fees query and tests

* fixing protodoc comment

* feat: grpc query total timeout fees (#1033)

* adding query for total packet recv fees to proto query server

* adding total packet recv fee query impl and tests

* updating doc comments

* adding protos and codegen

* adding total ack fees query and tests

* adding protos and codegen

* adding query total timeout fees and tests

* fixing protodoc comment

* fixing protodoc comment

* feat: adding clis for total ack and timeout queries (#1043)

* add ParseKeyForwardRelayerAddress function + test (#1046)

* chore: remove unused ics29 keeper funcs (#1044)

* removing keys, adding additional test, moving event attribute keys

* removing unused code and updating tests

* removing unused IdentifiedPacketFee type

* chore: add gRPC for querying incentivized packets for a specific channel (#983)

* generate proto files

* feat: add gRPC for querying incentivized packets for a specific channel

* test: add gRPC test for incentivized packets for channel query

* fix build

* partially fix tests

* chore: fix tests

* deduplicate code

* chore: code cleanup

* fix build

* remove changes from merge conflict

* nit: rename c to goCtx

* add function EscrowAccountHasBalance (#1042)

* add function EscrowAccountHasBalance

* change API to use sdk.Coins

* feat: ParseKeyCounterpartyRelayer function (#1047)

* chore: adding queries to cmd builder (#1057)

* chore: update ics29 protodocs (#1055)

* updating protodocs comments and regen code/docs

* Update proto/ibc/applications/fee/v1/tx.proto

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

* updating incentivized ack doc

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

* add counter party channel ID to argument list of on channel open ack (#1159)

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

* ADR 004: Fee module locking in the presence of severe bugs (#1060)

* add adr 004

* add to README

* Update docs/architecture/adr-004-ics29-lock-fee-module.md

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

* Update docs/architecture/adr-004-ics29-lock-fee-module.md

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

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

* nit: packetID var name (#1214)

* ics29: update with changes from main (#1221)

* add banner image (#1158)

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

* Add alpha, beta, and rc release definitions (#1151)

## Description

The proposed definitions for each phase of our release cycle. Please feel free to adjust my wording

closes: #881 


---

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

* build(deps): bump google.golang.org/protobuf from 1.27.1 to 1.28.0 (#1164)

Bumps [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) from 1.27.1 to 1.28.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/protocolbuffers/protobuf-go/releases">google.golang.org/protobuf's releases</a>.</em></p>
<blockquote>
<h2>v1.28.0</h2>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-overview">Overview</a></li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-notable-changes">Notable changes</a>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-recursion-limit">UnmarshalOption RecursionLimit</a></li>
</ul>
</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/blob/HEAD/#v1.28-breaking-changes">Upcoming breakage changes</a></li>
</ul>
<h2>Overview </h2>
<p>The release provides a new unmarshal option for limiting the recursion depth when unmarshalling nested messages to prevent stack overflows. (<a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a>).</p>
<h2>Notable changes </h2>
<p><strong>New features:</strong></p>
<ul>
<li><a href="https://go.dev/cl/340489">CL/340489</a>: testing/protocmp: add Message.Unwrap</li>
</ul>
<p><strong>Documentation improvements:</strong></p>
<ul>
<li><a href="https://go.dev/cl/339569">CL/339569</a>: reflect/protoreflect: add more docs on Value aliasing</li>
</ul>
<p><strong>Updated supported versions:</strong></p>
<ul>
<li><a href="https://go.dev/cl/370055">CL/370055</a>: all: update supported versions</li>
</ul>
<h3>UnmarshalOption RecursionLimit </h3>
<ul>
<li><a href="https://golang.org/cl/385854">CL/385854</a>: all: implement depth limit for unmarshalling</li>
</ul>
<p>The new <a href="https://pkg.go.dev/google.golang.org/protobuf/proto#UnmarshalOptions.RecursionLimit"><code>UnmarshalOptions.RecursionLimit</code></a> limits the maximum recursion depth when unmarshalling messages. The limit is applied for nested messages. When messages are nested deeper than the specified limit the unmarshalling will fail. If unspecified, a default limit of 10,000 is applied.</p>
<p>In addition to the configurable limit for message nesting a non-configurable recursion limit for <a href="https://developers.google.com/protocol-buffers/docs/proto#groups">group</a> nesting of 10,000 was introduced.</p>
<h2>Upcoming breakage changes </h2>
<p>The default recursion limit of 10,000 introduced in the release is subject to change. We want to align this limit with implementations for other languages in the long term. C++ and Java use a limit of 100 which is also the target for the Go implementation.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/32051b4f86e54c2142c7c05362c6e96ae3454a1c"><code>32051b4</code></a> all: release v1.28.0</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3992ea83a23c00882339f33511074d251e19822c"><code>3992ea8</code></a> all: implement depth limit for unmarshaling</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/e5db2960ed1380681b571cdf4648230beefaf58b"><code>e5db296</code></a> all: update supported versions</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/3a9e1dc314e2cb57d6cb054df513f17586295fc7"><code>3a9e1dc</code></a> all: gofmt all</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/26e8bcb3c743193558d1a0ff540c9e05f999267d"><code>26e8bcb</code></a> all: remove unnecessary string([]byte) conversion in fmt.Sprintf with %s</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/5aec41b4809b9822a34e17acd06ae9ae9f41c13d"><code>5aec41b</code></a> testing/protocmp: add Message.Unwrap</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/05be61fde35dcaa3502f4430edee444a294d41c3"><code>05be61f</code></a> reflect/protoreflect: add more docs on Value aliasing</li>
<li><a href="https://github.com/protocolbuffers/protobuf-go/commit/b03064a95cacfede187231741d9918a75653057d"><code>b03064a</code></a> all: start v1.27.1-devel</li>
<li>See full diff in <a href="https://github.com/protocolbuffers/protobuf-go/compare/v1.27.1...v1.28.0">compare view</a></li>
</ul>
</details>
<br />


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

* fix typos in the controller params (#1172)

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

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

* add versions for new releases (#1175)

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

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

* fix: link checker reporting broken milestone link (#1200)

* update roadmap for q2 2022 and deleted history roadmap (don't think we'll need it)

* requirements document for ICA (#1173)

* add requirements document for interchain accounts

* fix branch

* added number in tittle.

* apply suggestions from review

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

* review comment

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

* imp: improve Logger performance (#1160)

* fix: Logger marshal errors

* changelog

* update

Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Aditya <[email protected]>
Co-authored-by: Federico Kunze Küllmer <[email protected]>

Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Sean King <[email protected]>
Co-authored-by: Charly <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Luke Rhoads <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Dev Ojha <[email protected]>
Co-authored-by: Jack Zampolin <[email protected]>
Co-authored-by: Federico Kunze Küllmer <[email protected]>
Co-authored-by: Leo Pang <[email protected]>
Co-authored-by: Barrie Byron <[email protected]>
Co-authored-by: Tyler <[email protected]>
Co-authored-by: technicallyty <[email protected]>
Co-authored-by: Barrie Byron <[email protected]>
Co-authored-by: Marko <[email protected]>
Co-authored-by: Marko Baricevic <[email protected]>
Co-authored-by: Aleksandr Bezobchuk <[email protected]>
Co-authored-by: nir1218 <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: Assaf Morami <[email protected]>
Co-authored-by: Dan McCandless <[email protected]>
Co-authored-by: Ramiro Carlucho <[email protected]>
Co-authored-by: frog power 4000 <[email protected]>
Co-authored-by: Sean King <[email protected]>

* build(deps): bump codecov/codecov-action from 2.1.0 to 3 (#1222)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.1.0 to 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.1.0...v3)

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

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <[email protected]>

* ics29: feat: CLI query commands for packets (#1229)

* feat: adding query for getting incentivized packet by packet-id

* feat: add cli for getting all incentivized packets across all channels

* nits: suggestions

* Update modules/apps/29-fee/client/cli/query.go

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

* chore: changelog

* nits: comments

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

* add check for blocked addr for forward relayer distribution (#1231)

* feat: ics29 counterparty address grpc query and CLI  (#1224)

* generating codegen protobufs for query counterparty address

* adding grpc query, tests and cli

* Update modules/apps/29-fee/keeper/grpc_query_test.go

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

* Update modules/apps/29-fee/keeper/grpc_query_test.go

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

* updating godoc

* adding changelog

* updating cli descriptions for ics29

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

* chore: fix go ctx arg naming in ics29 grpc queries (#1226)

* chore: ics29 module housekeeping cleanup (#1227)

* feat: ics29 fee enabled channel queries (#1225)

* adding protobuf codegen

* adding grpc queries and tests

* adding clis for queries

* adding changelog

* resolving nits from pr review

* updating grpc gateway options

* chore: cleanup OnAcknowledgement and OnTimeout code ics29 (#1228)

* add changelog entry for #276 (#1233)

* feat: adding CLI for getting incentivized packets on a specific channel (#1230)

* feat: adding CLI for getting incentivized packets on a specific channel

* chore: changelog

* refactor: usage

* chore: ics29 cleanup, addressing nits (#1236)

* refactor: moving fn definition to bottom of file and switching params (#1232)

## Description

closes: #868 #997 

---

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

* feat: allow ability to lock fee module in presence of severe bug  (#1239)

* apply code changes from pr #1031

* update comments

* chore: update fee module is locked error string

* update godoc to reference ADR 004

* add more references to ADR 004

* build(deps): bump actions/download-artifact from 2 to 3 (#1241)

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/download-artifact/releases">actions/download-artifact's releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node16 (<a href="https://github-redirect.dependabot.com/actions/download-artifact/pull/134">actions/download-artifact#134</a>)</li>
<li>Update package-lock.json file version to 2 (<a href="https://github-redirect.dependabot.com/actions/download-artifact/pull/136">actions/download-artifact#136</a>)</li>
</ul>
<h3>Breaking Changes</h3>
<p>With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.</p>
<h2>v2.1.0 Download Artifact</h2>
<ul>
<li>Improved output &amp; logging</li>
<li>Fixed issue where downloading all artifacts could cause display percentages to be over 100%</li>
<li>Various small bug fixes &amp; improvements</li>
</ul>
<h2>v2.0.10</h2>
<ul>
<li>Retry on HTTP 500 responses from the service</li>
</ul>
<h2>v2.0.9</h2>
<ul>
<li>Fixes to proxy related issues</li>
</ul>
<h2>v2.0.8</h2>
<ul>
<li>Improvements to retryability if an error is encountered during artifact download</li>
</ul>
<h2>v2.0.7 download-artifact</h2>
<ul>
<li>Improved download retry-ability if a partial download is encountered</li>
</ul>
<h2>v2.0.6</h2>
<p>Update actions/core NPM package that is used internally</p>
<h2>v2.0.5</h2>
<ul>
<li>Add Third Party License Information</li>
</ul>
<h2>v2.0.4</h2>
<ul>
<li>Use the latest version of the <code>@actions/artifact</code> NPM package</li>
</ul>
<h2>v2.0.3</h2>
<ul>
<li>Misc improvements</li>
</ul>
<h2>v2.0.2</h2>
<ul>
<li>Support for tilde expansion</li>
</ul>
<h2>v2.0.1</h2>
<ul>
<li>Download path output</li>
<li>Improved logging</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/actions/download-artifact/commit/fb598a63ae348fa914e94cd0ff38f362e927b741"><code>fb598a6</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/actions/download-artifact/issues/136">#136</a> from actions/jtamsut/update-lockfile-version</li>
<li><a href="https://github.com/actions/download-artifact/commit/a4a09c5d7eb5932e0e6c4e77a434738189a24f1b"><code>a4a09c5</code></a> regenerate index.js</li>
<li><a href="https://github.com/actions/download-artifact/commit/9acf51df7946118a04918663acc5d955f49de177"><code>9acf51d</code></a> regenerate package lock</li>
<li><a href="https://github.com/actions/download-artifact/commit/882107232564f8bc8c5083706e009246f11aa871"><code>8821072</code></a> upgrade artifact version</li>
<li><a href="https://github.com/actions/download-artifact/commit/b8bbd3b64f298f12cfabf7d85ee4e716714eae3b"><code>b8bbd3b</code></a> regenerate lockfile</li>
<li><a href="https://github.com/actions/download-artifact/commit/6ee3d963e5a7ed7dac02925e126c37e459c36aa6"><code>6ee3d96</code></a> revert artifact version</li>
<li><a href="https://github.com/actions/download-artifact/commit/d4793f4e27ec52069836c96d310f815ffa48176c"><code>d4793f4</code></a> update docs for v3</li>
<li><a href="https://github.com/actions/download-artifact/commit/2d338d2145c33c497f1f4f574ca1eb88e1061a8e"><code>2d338d2</code></a> upgrade package to v3</li>
<li><a href="https://github.com/actions/download-artifact/commit/360d0830b5796c983178d8073e39063e8d32bc46"><code>360d083</code></a> update dependency on artifact lib</li>
<li><a href="https://github.com/actions/download-artifact/commit/d9b73cccacd09ac21cc34b82578e6cbb1b4e2539"><code>d9b73cc</code></a> update lock file</li>
<li>Additional commits viewable in <a href="https://github.com/actions/download-artifact/compare/v2...v3">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/download-artifact&package-manager=github_actions&previous-version=2&new-version=3)](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>

* build(deps): bump actions/upload-artifact from 2 to 3 (#1240)

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/actions/upload-artifact/releases">actions/upload-artifact's releases</a>.</em></p>
<blockquote>
<h2>v3.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update default runtime to node16 (<a href="https://github-redirect.dependabot.com/actions/upload-artifact/issues/293">#293</a>)</li>
<li>Update package-lock.json file version to 2 (<a href="https://github-redirect.dependabot.com/actions/upload-artifact/issues/302">#302</a>)</li>
</ul>
<h3>Breaking Changes</h3>
<p>With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.</p>
<h2>v2.3.1</h2>
<p>Fix for empty fails on Windows failing on upload <a href="https://github-redirect.dependabot.com/actions/upload-artifact/issues/281">#281</a></p>
<h2>v2.3.0 Upload Artifact</h2>
<ul>
<li>Optimizations for faster uploads of larger files that are already compressed</li>
…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants