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

Adding docs for client state interface #2886

Merged

Conversation

chatton
Copy link
Contributor

@chatton chatton commented Dec 5, 2022

Description

closes: #1851

This PR adds information about what each of the client state interface methods should be doing

excluding:

  • updates
  • upgrades
  • proposal updates
  • genesis metadata

Commit Message / Changelog Entry

docs: added documentation for client state methods.

see the guidelines for commit messages. (view raw markdown for examples)


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.
  • Provide a commit message to be used for the changelog entry in the PR description for review.
  • Re-reviewed Files changed in the Github PR explorer.
  • Review Codecov Report in the comment section below once CI passes.

@chatton chatton changed the title dding docs for client state Adding docs for client state interface Dec 5, 2022
Copy link
Contributor

@colin-axner colin-axner left a comment

Choose a reason for hiding this comment

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

Great work! Left various comments on potential documentation additions. I believe it will be hard to understand all the necessary information we could document for developers right away, so I look forward to this becoming more comprehensive over time

docs/ibc/light-clients/client-state.md Outdated Show resolved Hide resolved
docs/ibc/light-clients/client-state.md Outdated Show resolved Hide resolved
docs/ibc/light-clients/client-state.md Outdated Show resolved Hide resolved
docs/ibc/light-clients/client-state.md Outdated Show resolved Hide resolved

`Status` must return the status of the client. Only `Active` clients are allowed to process packets. All
possible Status types can be found [here](https://github.com/cosmos/ibc-go/blob/main/modules/core/exported/client.go).
Copy link
Contributor

Choose a reason for hiding this comment

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

It might be useful to explain what Frozen and Expired mean

Copy link
Member

Choose a reason for hiding this comment

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

A bulleted list could be nice, giving a short description of each of the statuses.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I looked around at our usages of the statues, the only one the connection keeper cares about is Active. Frozen is used in our implementation of CheckSubstituteAndUpdateState, however this is an interface method and so will look different in custom light clients. I didn't see any usage of Expired. My take away is that use of Frozen/Expired are for internal implementation of the client, but it won't have an impact in the same way Active does.

Please let me know if my understanding is incorrect!

Copy link
Contributor

Choose a reason for hiding this comment

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

Frozen, Expired were previously required in the CheckSubstituteAndUpdateState logic that has now been removed. They are useful in determining why a client is not active. A client is Frozen if misbehaviour has successfully been submitted against it. Expired clients are those whose latest consensus state update is too old to process a new update given the client state parameters. In the tendermint case, it is specifically in relation to the trusting period, that is, the next update must be before the lastest consensus state time + the trusting period

I think it is still useful to explain these concepts even if core IBC only cares if the status is Active as it'll be useful for UX purposes

Copy link
Contributor

@colin-axner colin-axner Dec 7, 2022

Choose a reason for hiding this comment

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

Here's some development context on how this function came to be, see issue #98 and this thread

Reading back, maybe we can mention that this is also used for the Status gRPC route?

docs/ibc/light-clients/client-state.md Outdated Show resolved Hide resolved
docs/ibc/light-clients/client-state.md Show resolved Hide resolved
docs/ibc/light-clients/client-state.md Outdated Show resolved Hide resolved
Comment on lines 46 to 48
The caller of this function is expected to construct the full CommitmentPath from a CommitmentPrefix and a standardized
path (as defined in ICS 24).
Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm, this looks like wording from the spec (I guess it is the godoc string). Maybe we could explain what some of the arguments to this function mean or how they are obtained constructed? We can state that the path provided must be casted to a merkle path (maybe link to example code). We can also explain when this is used (to verify channel ends, packet commits, acknowledgements, etc)

Copy link
Member

Choose a reason for hiding this comment

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

Agree, but I think we've added a page for Membership/Non-Membership proofs here: https://github.com/cosmos/ibc-go/blob/main/docs/.vuepress/config.js#L316

Maybe the specific information could go under that such as CommitmentPath and CommitmentPrefix, explaining what they mean wrt ics24..etc. And then we link to it from here and underneath in VerifyNonMembership section also?

We could then be concise here and just briefly mention that these methods are used for verification of existence and absence proofs of counterparty state using the ClientState created on-chain.

This is just a suggestion, interested to hear what others think regarding how this should be laid out, but as @colin-axner mentioned it will likely grow organically as we progress!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ah good point @damiannolan, I think it makes sense to link to the proofs page and give the short version here.

Copy link
Contributor

Choose a reason for hiding this comment

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

sounds good to me!

docs/ibc/light-clients/client-state.md Outdated Show resolved Hide resolved
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.

Awesome start, looks great! ❤️

I left some thoughts also, agree with @colin-axner's comments. I think this can be fleshed out and chopped and changed as necessary as we iterate on it


`Status` must return the status of the client. Only `Active` clients are allowed to process packets. All
possible Status types can be found [here](https://github.com/cosmos/ibc-go/blob/main/modules/core/exported/client.go).
Copy link
Member

Choose a reason for hiding this comment

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

A bulleted list could be nice, giving a short description of each of the statuses.

Comment on lines 46 to 48
The caller of this function is expected to construct the full CommitmentPath from a CommitmentPrefix and a standardized
path (as defined in ICS 24).
Copy link
Member

Choose a reason for hiding this comment

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

Agree, but I think we've added a page for Membership/Non-Membership proofs here: https://github.com/cosmos/ibc-go/blob/main/docs/.vuepress/config.js#L316

Maybe the specific information could go under that such as CommitmentPath and CommitmentPrefix, explaining what they mean wrt ics24..etc. And then we link to it from here and underneath in VerifyNonMembership section also?

We could then be concise here and just briefly mention that these methods are used for verification of existence and absence proofs of counterparty state using the ClientState created on-chain.

This is just a suggestion, interested to hear what others think regarding how this should be laid out, but as @colin-axner mentioned it will likely grow organically as we progress!

Comment on lines 55 to 65

VerifyClientMessage must verify a ClientMessage. A ClientMessage could be a Header, Misbehaviour, or batch update.
It must handle each type of ClientMessage appropriately. Calls to CheckForMisbehaviour, UpdateState, and UpdateStateOnMisbehaviour
will assume that the content of the ClientMessage has been verified and can be trusted. An error should be returned
if the ClientMessage fails to verify.

### CheckForMisbehaviour

Checks for evidence of a misbehaviour in Header or Misbehaviour type. It assumes the ClientMessage
has already been verified.
Copy link
Member

Choose a reason for hiding this comment

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

Should these be kept under the "Handling Updates" page?

I'm wondering if this section should group VerifyClientMessage, CheckForMisbehaviour, UpdateStateOnMisbehaviour and UpdateState together, and mention that they are used for handling updates.
The "Handling Updates" page could then detail the entrypoint for updating a client via the msg server and 02-client and what the expectation of these methods is for the light client implementation.

cc. @colin-axner

Copy link
Contributor

Choose a reason for hiding this comment

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

Yea I agree! The handling updates code also show the code usage which I think would help make each function more clear

Copy link
Contributor

@crodriguezvega crodriguezvega left a comment

Choose a reason for hiding this comment

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

Thank you, @chatton. I left some nits. I think we should wrap in back sticks all code terms.

I am wondering if it would be useful to add the signatures of the different functions here, although the reader could just see the interface in the go file, so maybe it doesn't really add much. But wondering as well if it would be worth for some of the functions to have some pseudocode to guide the reader on what the implementation should do (and then have the link to tendermint's implementation, as you do now).

-->

# Implementing the ClientState interface
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
# Implementing the ClientState interface
# Implementing the `ClientState` interface

# Implementing the ClientState interface

Learn how to implement the [Client State](https://github.com/cosmos/ibc-go/blob/main/modules/core/exported/client.go#L36) interface.
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
Learn how to implement the [Client State](https://github.com/cosmos/ibc-go/blob/main/modules/core/exported/client.go#L36) interface.
Learn how to implement the [`ClientState`](https://github.com/cosmos/ibc-go/blob/main/modules/core/exported/client.go#L36) interface.

Learn how to implement the [Client State](https://github.com/cosmos/ibc-go/blob/main/modules/core/exported/client.go#L36) interface.

### ClientType
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
### ClientType
## `ClientType` method

`ClientType` should return a unique string identifier of the light client.

### GetLatestHeight
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
### GetLatestHeight
## `GetLatestHeight` method

@chatton
Copy link
Contributor Author

chatton commented Dec 6, 2022

@crodriguezvega thanks for taking a look!

But wondering as well if it would be worth for some of the functions to have some pseudocode to guide the reader on what the implementation should do

It would be great to have some code to work with, but I'm not sure what assumptions we can make about the implementation of the implementor. Currently the solomachine and tm light clients are very different, I'm not sure what more we could do besides give a broad outline and then also link to some implementations.

EDIT: regarding including the full method signature, I initially tried this but it becomes quite noisy if it is in a header, and the method signature is fully visible in the linked files so I opted to leave it out in the end. If you think it's worth including I can include it!

@chatton chatton marked this pull request as ready for review December 7, 2022 10:28
docs/ibc/light-clients/client-state.md Outdated Show resolved Hide resolved
docs/ibc/light-clients/client-state.md Outdated Show resolved Hide resolved

`Status` must return the status of the client. Only `Active` clients are allowed to process packets. All
possible Status types can be found [here](https://github.com/cosmos/ibc-go/blob/main/modules/core/exported/client.go).
Copy link
Contributor

Choose a reason for hiding this comment

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

Frozen, Expired were previously required in the CheckSubstituteAndUpdateState logic that has now been removed. They are useful in determining why a client is not active. A client is Frozen if misbehaviour has successfully been submitted against it. Expired clients are those whose latest consensus state update is too old to process a new update given the client state parameters. In the tendermint case, it is specifically in relation to the trusting period, that is, the next update must be before the lastest consensus state time + the trusting period

I think it is still useful to explain these concepts even if core IBC only cares if the status is Active as it'll be useful for UX purposes

docs/ibc/light-clients/client-state.md Outdated Show resolved Hide resolved
docs/ibc/light-clients/client-state.md Outdated Show resolved Hide resolved
docs/ibc/light-clients/client-state.md Outdated Show resolved Hide resolved
Comment on lines 46 to 48
The caller of this function is expected to construct the full CommitmentPath from a CommitmentPrefix and a standardized
path (as defined in ICS 24).
Copy link
Contributor

Choose a reason for hiding this comment

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

sounds good to me!

Copy link
Contributor

@colin-axner colin-axner left a comment

Choose a reason for hiding this comment

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

LGTM :)

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.

LGTM!

# Implementing the `ClientState` interface

Learn how to implement the [`Client State`](https://github.com/cosmos/ibc-go/blob/v6.0.0-rc1/modules/core/exported/client.go#L40) interface.
Copy link
Member

Choose a reason for hiding this comment

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

I know we usually want to link to a specific tag but linking to v6 seems weird to me because its the old interface. I guess we can update all links when there is a v7 tag available.

Suggested change
Learn how to implement the [`Client State`](https://github.com/cosmos/ibc-go/blob/v6.0.0-rc1/modules/core/exported/client.go#L40) interface.
Learn how to implement the [`ClientState`](https://github.com/cosmos/ibc-go/blob/v6.0.0-rc1/modules/core/exported/client.go#L40) interface.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah I think we can update this in the next release.

Comment on lines 28 to 31
* A `Frozen` status indicates that a client is not allowed to be used.
* An `Expired` status indicates that a client is not allowed to be used.
* An `Unknown` status indicates that there was an error in determining the status of a client.
Copy link
Member

Choose a reason for hiding this comment

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

nit: I think we normally use - for bulleted lists in markdown docs?

@chatton chatton enabled auto-merge (squash) December 8, 2022 12:05
@chatton chatton merged commit 9d9ce70 into main Dec 8, 2022
@chatton chatton deleted the cian/issue#1851-light-client-guide-client-state-functions- branch December 8, 2022 12:12
zmanian pushed a commit to iqlusioninc/ibc-go that referenced this pull request Dec 19, 2022
crodriguezvega added a commit that referenced this pull request Dec 19, 2022
* ibc transfer authz work

* add allowed address restriction for ibc transfer authz

* expect error when transferring to not allowed address

* feat: authz grants for ics-20 transfers

Create an authz grant that resricts to transfers to specific addresses and channels.

* convert IsAllPositive to Validate

* add gas cost per interation

* duplicated entry check

* chore: scaffold custom IBC light client development guide (#2860)

* chore: changing ibcprotocol.org to ibcprotocol.dev (#2884)

* chore: update README to include link to IDA (#2887)

* update README to reflect new website

* pr comment

* feat: Add genesis migrations for v6 to v7. The migration migrates the solo machine client state definition, removes all solo machine consensus states and removes the localhost client. (#2824)

* refactor: simplify automatic migration code by using client keeper functions (#2864)

* imp(api)!: remove legacy migrations required for upgrading from Stargate release line to ibc-go >= v1.x.x. (#2897)

* chore: remove unnecessary file (#2898)

* Update release-tracker.md

* docs: v6 ICA migration docs improvements

* e2e: changing default relayer tag to be v2.1.2 instead of main. (#2903)

* refactor: simplify optional tendermint pruning migrations (#2862)

* chore: add tmsdkeys to CODEOWNER for docs (#2904)

* docs: add legacy docs for ICA

* docs: added documentation for client state methods. (#2886)

* docs: improvements to ICA docs

* docs: move solomachine docs into the docs directory. (#2908)

* deps: bump technote-space/get-diff-action from 6.1.1 to 6.1.2 (#2899)

* deps: bump github.com/cosmos/cosmos-proto from 1.0.0-alpha8 to 1.0.0-beta.1 (#2870)

* update README (#2910)

* Update CHANGELOG.md

* chore: update ibctest to latest commit (#2909)

* update chainconfig

* update to commit fixing broadcastTx

* update to use SDK default cointype 118

* update so relayer tag isn't required

* Fixing markdown link (#2924)

* post v6.0.0 release chores (#2919)

* docs: update integration docs to include light client registration. (#2905)

* imp: Add `AssertEvents` which asserts events against expected event map. (#2829)

* e2e: adding e2e upgrade test for ibc-go v7 (#2902)

* add test for automatic migration of solomachine clientstate version

* add clientID generation functions

* update godoc

* update sprintf message

* e2e: update tags in e2e upgrade test

* chore: use diffs to make registration more clear (#2927)

* nit: fix typo in a comment

* refactor: require light clients to set the initial client state and consensus state via the client state `Initialize` method (#2936)

* set the initial client and consensus state via the client state Initialize method. update godocs

* updating godocs

* updating migration doc

* updating light client guide docs for Initialize method

* updating migration doc

* Apply suggestions from code review

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

* Update docs/ibc/light-clients/client-state.md

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

* adding tests to lightclients

* updating 02-client tests

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

* chore: add backports for v4.3.x and v6.1.x

* update compatibility tests with new release branches (#2946)

* update compatibility tests

* compatibility tests for v4.3.x

* adding tags to tests

* Skip e2e if test matrix does not exist (#2949)

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

* fix(statemachine)!: check x/bank send enabled before escrowing fees

* chore(deps): bump goreleaser/goreleaser-action from 3 to 4 (#2932)

Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 3 to 4.
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](goreleaser/goreleaser-action@v3...v4)

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

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

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

* chore(api)!: removing solomachine header sequence (#2941)

* removing solomachine header sequence

* removing commented out code in validate basic

* chore(deps): bump bufbuild/buf-setup-action from 1.9.0 to 1.10.0 (#2933)

* Resolve some code review comments

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: jgo121 <[email protected]>
Co-authored-by: junkai121 <[email protected]>
Co-authored-by: Charly <[email protected]>
Co-authored-by: Cian Hatton <[email protected]>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Anmol <[email protected]>
Co-authored-by: Charly <[email protected]>
Co-authored-by: Auridas F <[email protected]>
Co-authored-by: Damian Nolan <[email protected]>
damiannolan added a commit that referenced this pull request Mar 9, 2023
* add changelog entries for v5.0.0

* chore: makefile cleanup/fixes (#2549)

* cleaning up makefile

* chore: removing goimports (#2548)

* more cleanup

* missing files

* empty new line at the end

* fix dockerfile

* rename import

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

* use controller module address instead of module name for NewMsgChannelOpenInit (#2568)

## Description

In controller keeper's `registerInterchainAccount` we execute a `MsgChannelOpenInit` to set up an ica channel. Currently, we have [`icatypes.ModuleName`](https://github.com/cosmos/ibc-go/blob/95cec44c9fb10a2e84a327cdd98c7d588f091f42/modules/apps/27-interchain-accounts/controller/keeper/account.go#L63) as the msg signer. This is not good because the [`ValidateBasic()`](https://github.com/cosmos/ibc-go/blob/692790402a033c1d9647c1e1eded5351332283bf/modules/core/04-channel/types/msgs.go#L34) of `MsgChannelOpenInit` has check if msg signer is bech32 or not.

ref #2566

closes: #2559

---

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/main/docs/docs/building-modules/10-structure.md).
- [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing)
- [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`)
- [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code).
- [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [ ] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

* test: 03-connection e2e test param change (#2139)

* test: adding initial test boilerplate

* fix: test

* extend test to add token transfer

* change to send from B to A and add test matrix

* add test matrices

* fix imports

* fix some more imports

* review comments

* compare uint64 instead of string

* review comments

* fix test

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

* fix: forbid negative values for trusting period, unbonding period and max clock drift (#2555)

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

* refactor!: allow for serialization of proto message without fulfillment of sdk.Msg interface (#2607)

## Description



ref: #2397 

---

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/main/docs/docs/building-modules/10-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

* alignment

* fix e2e ica tests (#2628)

* rename `ClientParams` gRPC method to `Params` (#2573)

* rename ClientParams to Params

* add changelog

* review comment to update rest api url

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

* remove port prefix requirement (#2590)

* remove port prefix requirement

* chore: remove depcrated test and fix lint

* add changelog entry

* Update CHANGELOG.md

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

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

* Update package-lock.json (#2569)

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

* Update package-lock.json (#2570)

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

* fix: rm bech32 check from owner address on ICA controller msgs RegisterInterchainAccount and SendTx (#2601)

* rm validate basic owner address check

* Fetch makefile dependencies before building docker image (#2615)

## 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/main/docs/docs/building-modules/10-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

* post v2.4.2, v3.3.1, v4.1.1 and v5.0.1 release chores (#2627)

* chore: update changelog and versions for docs site

* add new release lines to stable release policy

* post release chores

* update mergify

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

* fix: skip emission of unpopulated memo field in ics20 (#2651)

## Description

By setting `EmitDefaults` to false, we will not include an empty memo field in the marshaled json bytes

closes: #2645 

---

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/main/docs/docs/building-modules/10-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: ics27 v6 documentation updates (#2561)

* WIP

* updating messages doc

* updating msgs doc

* refactoring and organising ics27 docs

* updating owner field validation docs

* adding legacy api heading to auth modules doc

* Update docs/apps/interchain-accounts/messages.md

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

* Update docs/apps/interchain-accounts/messages.md

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

* applying suggestions from review

* updating future improvements section of active channels

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

* e2e: adding e2e upgrade test for ibc-go/v6 (#2490)

* adding x/group to simapp

* [WIP] initial groups e2e scaffolding

* work in progress

* clean

* adding interchain account address query to ica controller

* adding basic cli query

* satisfy linter, aligning recvr var naming

* initial passing, register account proposal

* successfully passing locally

* updating default genesis state with allow all ica msgs, cleanup

* reinstate num validators and num full nodes

* unpin ibctest

* Update e2e/tests/interchain_accounts/groups_test.go

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

* updating swagger docs

* updating e2e to ibc-go/v6

* WIP e2e upgrades for ibc-go/v6

* test manual e2e icad from branch

* whoops

* replace transfer logic with ics27 logic

* removing pr number version tags

* upgrade ica dep and tidy

* removing upgrade name const

* update deps, remove genesis code, extract consts

* code comments and consts

* readding intertx query client

* fixing godoc

* removing json entry in test matracies

* refactor upgrades tests

* hardcoding image values

* updating workflows and correcting import

* adding sanity checks and in-line comment

* chore: adapt upgrade e2e workflow for custom images (#2541)

* e2e upgrade test workflows in progress

* adding chain binary to workflow

* adding upgrade to compatibility workflows

* Revert "adding upgrade to compatibility workflows"

This reverts commit 77019997ed71c9c73b0077ecee45e5c0739111f6.

* replace v5 tag in upgrade e2e

* updating image tags

* use v5.0.1 release version for upgrades e2e

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

* e2e: add transfer with memo compatibility tests (#2640)

* Build E2E tests in workflow (#2649)

* Add scopedkeeper as an interface to exported package (#2638)

## Description

Move all expected scoped keepers to a unified interface in `core/exported` package.

closes: #2020 

---

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/main/docs/docs/building-modules/10-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: add potential use cases documentation for ica  (#2594)

## Description

will fix ordering after #2561 is merged, so review that first

closes: #2472 

---

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/main/docs/docs/building-modules/10-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: small README nits for readability and usability (#2669)

* update code owners (#2665)

* fix(testing): fix block proposer and allow Default gas to be modified (#2657)

* carry block proposer, and allow Default gas to be modified

* add changelog entry

Co-authored-by: Federico Kunze Küllmer <[email protected]>
Co-authored-by: colin axnér <[email protected]>
Co-authored-by: Carlos Rodriguez <[email protected]>

* add check send enabled (#2679)

* add check send enabled

* changelog

* fix: avoid race conditions in ics27 handshakes (#2682)

* wip adding conditional to msg server and go apis, adding tests

* cleanup

* cleanup middleware enabled code

* adding additional test case for reopening channel via msg server

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

Co-authored-by: Cian Hatton <[email protected]>

* updating error msgs and test case assertion

* updating InitGenesis to set middleware disabled

Co-authored-by: Cian Hatton <[email protected]>

* Removing stale comment (#2685)

* chore: removing stale comment

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

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

* chore: fixing indentation

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

* post release chores (#2695)

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

* removed unused variables (#2692)

## Description



closes: #2486 

---

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/main/docs/docs/building-modules/10-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).
- [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md`
- [x] Re-reviewed `Files changed` in the Github PR explorer
- [ ] Review `Codecov Report` in the comment section below once CI passes

* deps: updating sdk to v0.46.4 (#2647)

## 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/main/docs/docs/building-modules/10-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

* e2e: updating upgrade test to use msg server (#2681)

* chore: update protobuf generation to latest buf changes (#2705)

* updating buf proto generation setup

* revert adding test msg type

* updating proto-swagger-gen configs

* updating to latest proto builder image

* downgrade to 0.46 support

* go mod tidy e2e

* cleanup makefile

* rerun make proto-update-deps

* updating buf yaml

* updating cosmos/gogo-proto pin

* regenerate protos

* go mod tidy e2e

* removing pulsar buf yaml

* Update proto/buf.yaml

* adding proto-registry.yml workflow for buf push to BSR

* Update check x/bank sendEnabled link in changelog (#2714)

Co-authored-by: Cian Hatton <[email protected]>

* e2e: fix memo test version declaration (#2723)

## 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/main/docs/docs/building-modules/10-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: rm event emission after context caching (#2662)

* post v5.1.0 release chores (#2722)

* post v5.1.0 release chores

* split transfer tests to workaround github's 256 job limit

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

* Update transfer-memo.json

* build(deps): bump github.com/spf13/viper from 1.13.0 to 1.14.0 (#2702)

* build(deps): bump github.com/spf13/viper from 1.13.0 to 1.14.0

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.13.0 to 1.14.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](https://github.com/spf13/viper/compare/v1.13.0...v1.14.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]>

* revert bump of tendermint to v0.35

* go mod tidy

Signed-off-by: dependabot[bot] <[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]>

* chore: e2e for ICA reopening (#2720)

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

* build(deps): bump golangci/golangci-lint-action from 3.3.0 to 3.3.1 (#2738)

Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v3.3.0...v3.3.1)

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

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

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

* Compare signature data in misbehaviours only if path differs (#2744)

fix(statemachine)!: (06-solomachine) [#2744] Misbehaviour.ValidateBasic() now only enforces that signature data does not match when the signature paths are different.

* chore: rename all occurances of smtypes and solomachinetypes import aliases to solomachine (#2743)

* add missing set order functions for ica (#2740)

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

* test: added test to verify signbytes marshal correctly for single signature solomachine

* docs: fix migration/docs for ICA controller middleware (#2737)

* update docs/migration with the change to middleware for ICA controller

* improve variable naming

* alignment

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

* chore: updating `VerifyMembership` and `VerifyNonMembership` methods to use `Path` interface (#2736)

* updating VerifyMembership and VerifyNonMembership interfaces to use exported.Path in favour of []byte

* adding mock struct KeyPath to ibcmock testing pkg, adding additional tests to solomachine and tm clients

* e2e: updated compatibility tests to support running against all unreleased versions (#2680)

* chore: integrated git cliff into the code base to automate generation of changelogs

* chore: fixing dead link in PR template (#2777)

* deprecated(api)!: (06-solomachine) [#2761] removed deprecated `ClientId` field from `Misbehaviour` and `allow_update_after_proposal` field from `ClientState`

* feat: adding connection params grpc and cli query (#2745)

imp: (core/03-connection) Adding `ConnectionParams` grpc query and CLI to 03-connection.
fix: (modules/core/keeper) Fix request wiring for `UpgradedConsensusState` in core query server.

* chore: adding sentinel path for solomachine header (#2748)

chore(statemachine)!: Adding sentinel value for header path in 06-solomachine.

* fix: added check for empty path in 06-solomachine (#2741)

* chore: fixing link to interchain accounts blogpost (#2787)

* deps: bump SDK to v0.46.6 (#2784)

* deps: bump SDK to v0.46.5

* bump SDK to v0.46.5 in e2e

* deps: bump to SDK v0.46.6

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

* chore: adding migration doc for v6 to vuepress config (#2788)

* e2e: remove irrelevant compatibility tests (#2780)

* remove irrelevant compatibility tests (i.e. tests between already released tags)

* add separate workflow to run unreleased compatibility tests

* review comments

* skip missing json files

* fix condition for skipping missing json files

* rename workflow

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

* remove link to ICS 009 (#2797)

* chore: adding defensive checks to ics27 capability migrations (#2798)

* adding defensive checks and additional tests to ics27 capability migrations

* assert mock capabilities remain unchanged

* Update modules/apps/27-interchain-accounts/controller/migrations/v6/migrations_test.go

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

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

* chore: move verifyMisbehavour to the top of misbehaviour_handle.go

* chore: move solomachine CheckForMisbehaviour to `misbehaviour_handle.go` (#2802)

* chore: move Tendermint CheckForMisbehaviour to `misbehaviour_handle.go` (#2803)

* chore: remove custom dependabot reviewers (#2804)

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

* fix: allow zero proof height, solo machine discards provided proof height in favor of sequence (#2746)

imp: allow proof height to be zero for all core IBC `sdk.Msg` types that contain proofs.
imp: discard proofHeight for solo machines and use the solo machine sequence instead.

* chore: mergify backport task for v5.2.x (#2806)

* Save gas on IsFeeEnabled (#2786)

* Save gas on IsFeeEnabled

* add entry for #2786

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

* chore: removed usage of deprecated `set-output` field in all Github workflows. (#2790)

* Add more events to on IBC transfer, add tests for ibc transfer event (#2643)

improvements: add amount, denom, and memo to transfer event emission.

* build(deps): bump github.com/cosmos/cosmos-proto from 1.0.0-alpha7 to 1.0.0-alpha8 (#2726)

* build(deps): bump github.com/cosmos/cosmos-proto

Bumps [github.com/cosmos/cosmos-proto](https://github.com/cosmos/cosmos-proto) from 1.0.0-alpha7 to 1.0.0-alpha8.
- [Release notes](https://github.com/cosmos/cosmos-proto/releases)
- [Commits](https://github.com/cosmos/cosmos-proto/compare/v1.0.0-alpha7...v1.0.0-alpha8)

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

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

* chore: downgrade tendermint version

* chore: go mod tidy e2e go module

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

* e2e: added ICS27 e2e test with governance. (#2808)

* feat: add helper function for parsing clientID from client state path (#2820)

feat: add `MustParseClientStatePath` which parses the clientID from a client state key path

* e2e: add compatibility tests for ICA to v6.0.x (#2805)

e2e: add ica compatibility tests for v6.0.x

* test: updated solomachine tests to perform an ICS20 transfer instead of mocking functionality.

* e2e: update icad tags for manual e2e workflow

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

* e2e: enabling compatibility tests to be usable from other repositories' CI. (#2838)

* feat: add optional migration pruning for tendermint consensus states (#2800)

feat: add optional in-place store migration function to prune all expired tendermint consensus states

* feat: add AppModuleBasic for tendermint client (#2825)

feat: add `AppModuleBasic` for the 07-tendermint client and remove tendermint type registration from core IBC. Chains must register the `AppModuleBasic` of light clients.

* feat: add AppModuleBasic for solo machine client (#2826)

feat: add `AppModuleBasic` for the 06-solomachine client and remove solo machine type registration from core IBC. Chains must register the `AppModuleBasic` of light clients.

* feat: add automatic in-place migrations for 02-client-refactor (v7) (#2819)

feat: add automatic in-place store migrations to remove the localhost client and migrate existing solo machine definitions.

* build(deps): bump google.golang.org/grpc from 1.50.1 to 1.51.0 (#2794)

* build(deps): bump google.golang.org/grpc from 1.50.1 to 1.51.0

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.50.1 to 1.51.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.50.1...v1.51.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]>

* fix conflicts

* bump grpc in e2e

Signed-off-by: dependabot[bot] <[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]>

* e2e: add base and incentivized ica e2e tests to v6.0.x (#2832)

* bug: fix clientID validation regex to conform closer to spec (#2510)

Rejects non-ASCII plus whitespaces and slashes to get it much closer to
the specifications per
https://github.com/cosmos/ibc/tree/main/spec/core/ics-024-host-requirements#paths-identifiers-separators

while here added test vectors that were previously failing. However, we
still need much better specifications for how long of values for
{client-type} are accepted.

Fixes #2269

* follow up for #2510

* Revert "follow up for #2510"

This reverts commit bfaf6e0118cca32838cd05eb732f4f4b7b4b634c.

* e2e: Added support for running compatibility tests off the main branch. (#2848)

* Renaming variable SubModuleName to ModuleName (#2851)

* Renaming variable SubmoduleName to ModuleName in 07-tendermint (#2852)

* refactor: rename IterateClients to IterateClientStates, add a prefix (#2856)

feat(api)!: rename `IterateClients` to `IterateClientStates`. The function now takes a prefix argument which may be used for prefix iteration over the client store.
feat: add `PrefixedClientStorePath` and `PrefixedClientStoreKey` functions to 24-host

* chore: add upgrade handler to simapp for v6 -> v7 (#2842)

* chore: follow up for #2510 (#2854)

* follow up for #2510

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

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

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

* e2e: move tag determination logic into the e2e Github workflows. (#2849)

* deps: Bump ICS 23 to v0.9.0

* chore: bump ics23 to v0.9.0

* chore: add changelog entry

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

* docs: updating v7 migration doc with generic state verification methods (#2789)

* updating v6 to v7 migration doc with generic state verification methods

* add note about state verification prior to ibc-go/v7

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

* fix: fix unmarshalling of packet data in send tx CLI

* fix error messages

* Update tx.go

* fix unmarshalling

* chore: add wait time for packet relay to e2e test for ICA channel opening after packet timeout

* chore: scaffold custom IBC light client development guide (#2860)

* chore: changing ibcprotocol.org to ibcprotocol.dev (#2884)

* chore: update README to include link to IDA (#2887)

* update README to reflect new website

* pr comment

* feat: Add genesis migrations for v6 to v7. The migration migrates the solo machine client state definition, removes all solo machine consensus states and removes the localhost client. (#2824)

* refactor: simplify automatic migration code by using client keeper functions (#2864)

* imp(api)!: remove legacy migrations required for upgrading from Stargate release line to ibc-go >= v1.x.x. (#2897)

* chore: remove unnecessary file (#2898)

* Update release-tracker.md

* docs: v6 ICA migration docs improvements

* e2e: changing default relayer tag to be v2.1.2 instead of main. (#2903)

* refactor: simplify optional tendermint pruning migrations (#2862)

* chore: add tmsdkeys to CODEOWNER for docs (#2904)

* docs: add legacy docs for ICA

* docs: added documentation for client state methods. (#2886)

* docs: improvements to ICA docs

* docs: move solomachine docs into the docs directory. (#2908)

* deps: bump technote-space/get-diff-action from 6.1.1 to 6.1.2 (#2899)

* deps: bump github.com/cosmos/cosmos-proto from 1.0.0-alpha8 to 1.0.0-beta.1 (#2870)

* update README (#2910)

* Update CHANGELOG.md

* chore: update ibctest to latest commit (#2909)

* update chainconfig

* update to commit fixing broadcastTx

* update to use SDK default cointype 118

* update so relayer tag isn't required

* Fixing markdown link (#2924)

* post v6.0.0 release chores (#2919)

* docs: update integration docs to include light client registration. (#2905)

* imp: Add `AssertEvents` which asserts events against expected event map. (#2829)

* e2e: adding e2e upgrade test for ibc-go v7 (#2902)

* add test for automatic migration of solomachine clientstate version

* add clientID generation functions

* update godoc

* update sprintf message

* e2e: update tags in e2e upgrade test

* chore: use diffs to make registration more clear (#2927)

* nit: fix typo in a comment

* refactor: require light clients to set the initial client state and consensus state via the client state `Initialize` method (#2936)

* set the initial client and consensus state via the client state Initialize method. update godocs

* updating godocs

* updating migration doc

* updating light client guide docs for Initialize method

* updating migration doc

* Apply suggestions from code review

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

* Update docs/ibc/light-clients/client-state.md

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

* adding tests to lightclients

* updating 02-client tests

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

* chore: add backports for v4.3.x and v6.1.x

* update compatibility tests with new release branches (#2946)

* update compatibility tests

* compatibility tests for v4.3.x

* adding tags to tests

* Skip e2e if test matrix does not exist (#2949)

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

* fix(statemachine)!: check x/bank send enabled before escrowing fees

* chore(deps): bump goreleaser/goreleaser-action from 3 to 4 (#2932)

Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 3 to 4.
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](https://github.com/goreleaser/goreleaser-action/compare/v3...v4)

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

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

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

* chore(api)!: removing solomachine header sequence (#2941)

* removing solomachine header sequence

* removing commented out code in validate basic

* chore(deps): bump bufbuild/buf-setup-action from 1.9.0 to 1.10.0 (#2933)

* chore: adding defensive check to v7 migrations (#2948)

* adding defensive check to v7 migrations

* adding test coverage for absence of tendermint clients

* build(deps): bump cosmossdk.io/math from 1.0.0-beta.3 to 1.0.0-beta.4 (#2835)

* build(deps): bump cosmossdk.io/math from 1.0.0-beta.3 to 1.0.0-beta.4

Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.0.0-beta.3 to 1.0.0-beta.4.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/math/v1.0.0-beta.3...math/v1.0.0-beta.4)

---
updated-dependencies:
- dependency-name: cosmossdk.io/math
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* downgrade SDK and Tendermint versions

* go mod tidy in e2e

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

* docs: update consensus state docs (#2937)

* docs: lightclient dev guide overview section (#2901)

* adding client/consensus state and height docs

* cleanup

* rename lightclient -> light client

* adding links

* adding client message section, updates re. feedback

* fix wording

* adding brief one liner intro, various minor changes

* removing comment

* fixing spelling

* correct wording

* docs: lightclient dev guide setup and client creation (#2922)

* adding setup page for configuring light client modules and creation of ibc clients

* updating page ordering

* pr review suggestions

* use 02-client-refactor-beta tag in favour of commit hash links

* add link to issue for self managed params

* Update docs/ibc/light-clients/client-state.md

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

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

* review updates

* clean up

* docs: update consensus state docs (#2937)

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

* Update release-tracker.md

* update roadmap

* post v5.2.0 and v6.1.0 release chores (#2957)

* update release-tracker.md

* update roadmap.md

* chore: prune expired `07-tendermint` consensus states on duplicate header updates (#2965)

* move pruning to above duplicate update check

* adding test for pruning on duplicate header update

* adding additional check - assert that a consensus state exists at the prune height

* chore: updating adr version numbers and removing unnecessary comment in solomachine (#2969)

* improvement: allow chains that can't introspect their own `ConsensusState` support IBC

* chore: Improved logging in IBC Core (#2976)

* docs: adding solomachine v7 migration docs (#2968)

* adding solomachine migration docs

* updating migration doc

* Apply suggestions from code review

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

* updating code snippet formatting

* tiny nits

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

* docs: adding export metadata docs for light client module genesis (#2974)

## Description

- Light client guide `ExportMetadata`

closes: #1857 


### Commit Message / Changelog Entry

```bash
docs: adding export metadata docs for light client module genesis
```

see the [guidelines](https://github.com/cosmos/ibc-go/blob/main/CONTRIBUTING.md#commit-messages) for commit messages. (view raw markdown for examples)




---

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/main/docs/docs/building-modules/10-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).
- [ ] Provide a [commit message](https://github.com/cosmos/ibc-go/blob/main/CONTRIBUTING.md#commit-messages) to be used for the changelog entry in the PR description for review.
- [ ] Re-reviewed `Files changed` in the Github PR explorer.
- [ ] Review `Codecov Report` in the comment section below once CI passes.

* update roadmap

* docs: existence and non-existence proofs (#2966)

* proofs docs

* fix typo

* docs: explain how to implement the four client state functions which allow for regular updates and misbehaviour handling (#2939)

* update docs

* docs: move ica requirements doc + add requirements doc template (#2917)

* chore: Moved the ibc module name into the exported package (#2982)

* docs: light client dev guide `CheckSubstituteAndUpdateState` (#2981)

* docs: light client dev guide `VerifyUpgradeAndUpdateState`, `VerifyMembership`/`VerifyNonMembership` (#2994)

* deps: bump google.golang.org/grpc from 1.51.0 to 1.52.0 (#2999)

* build(deps): bump bufbuild/buf-setup-action from 1.10.0 to 1.11.0 (#2972)

* deps: update to cosmos-sdk v0.47 (#2672)

* build(deps): bump bufbuild/buf-setup-action from 1.11.0 to 1.12.0 (#3006)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.11.0...v1.12.0)

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

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

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

* build(deps): bump docker/metadata-action from 4.1.1 to 4.3.0 (#3007)

Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 4.1.1 to 4.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/docker/metadata-action/releases">docker/metadata-action's releases</a>.</em></p>
<blockquote>
<h2>v4.3.0</h2>
<ul>
<li>Provide outputs as env vars by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a> (<a href="https://github-redirect.dependabot.com/docker/metadata-action/issues/257">#257</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/docker/metadata-action/compare/v4.2.0...v4.3.0">https://github.com/docker/metadata-action/compare/v4.2.0...v4.3.0</a></p>
<h2>v4.2.0</h2>
<ul>
<li>Add <code>tz</code> attribute to handlebar date function by <a href="https://github.com/chroju"><code>@​chroju</code></a> (<a href="https://github-redirect.dependabot.com/docker/metadata-action/issues/251">#251</a>)</li>
<li>Bump minimatch from 3.0.4 to 3.1.2 (<a href="https://github-redirect.dependabot.com/docker/metadata-action/issues/242">#242</a>)</li>
<li>Bump csv-parse from 5.3.1 to 5.3.3 (<a href="https://github-redirect.dependabot.com/docker/metadata-action/issues/245">#245</a>)</li>
<li>Bump json5 from 2.2.0 to 2.2.3 (<a href="https://github-redirect.dependabot.com/docker/metadata-action/issues/252">#252</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/docker/metadata-action/compare/v4.1.1...v4.2.0">https://github.com/docker/metadata-action/compare/v4.1.1...v4.2.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/docker/metadata-action/commit/507c2f2dc502c992ad446e3d7a5dfbe311567a96"><code>507c2f2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/metadata-action/issues/257">#257</a> from crazy-max/env-output</li>
<li><a href="https://github.com/docker/metadata-action/commit/04861f5102fc7042b8529e3f426856244a8cfba2"><code>04861f5</code></a> update generated content</li>
<li><a href="https://github.com/docker/metadata-action/commit/6729545cde76a1fb0fc1133c68fa5af1181f7e68"><code>6729545</code></a> Provide outputs as env vars</li>
<li><a href="https://github.com/docker/metadata-action/commit/05d22bf31770de02e20c67c70365453e00227f61"><code>05d22bf</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/metadata-action/issues/256">#256</a> from crazy-max/fix-readme</li>
<li><a href="https://github.com/docker/metadata-action/commit/70b403b46b081a6f32f3ebe072afd18ebfa4ce38"><code>70b403b</code></a> Fix README</li>
<li><a href="https://github.com/docker/metadata-action/commit/9e6ae02878038daef2841c9e4bb61e486c726684"><code>9e6ae02</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/metadata-action/issues/252">#252</a> from docker/dependabot/npm_and_yarn/json5-2.2.3</li>
<li><a href="https://github.com/docker/metadata-action/commit/3d239e8b8ac4bbf4cc24920f391d8f08d44b839e"><code>3d239e8</code></a> Bump json5 from 2.2.0 to 2.2.3</li>
<li><a href="https://github.com/docker/metadata-action/commit/7cb52e275081c4e9294d257dd188716a82c82670"><code>7cb52e2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/metadata-action/issues/251">#251</a> from chroju/set_timezone</li>
<li><a href="https://github.com/docker/metadata-action/commit/90a1d5cf2150f6b10fc688351279736c24eedf25"><code>90a1d5c</code></a> Add tz attribute to handlebar date function</li>
<li><a href="https://github.com/docker/metadata-action/commit/c98ac5e987c125fe23d39b3cecb9ac130a108e27"><code>c98ac5e</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/metadata-action/issues/249">#249</a> from crazy-max/fix-readme</li>
<li>Additional commits viewable in <a href="https://github.com/docker/metadata-action/compare/57396166ad8aefe6098280995947635806a0e6ea...507c2f2dc502c992ad446e3d7a5dfbe311567a96">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/metadata-action&package-manager=github_actions&previous-version=4.1.1&new-version=4.3.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>

* lint tests (#2926)

* lint tests

* don't use prealloc for golangci

* fix unnecessary conversions

* var-declaration lints

* fix ineffectual assignments

* fix composite literal lints

* address copylocks lints from govet

* error checks in tests

* handshake_test.go error checks

* packet_test.go error checks

* error checks

* msg_server_test.go

* errcheck in upgrade_test.go

* goconsts & linting complete

* Update CHANGELOG.md

* golangci-lint run ./... --fix

* last lint

* fix lints

* tidy

* ignore legacy ica api

* ignore icacontrollersendtx

* golangci lint fixes

* fix test

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

* build(deps): bump docker/build-push-action from 3.2.0 to 3.3.0 (#3015)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/c56af957549030174b10d6867f20e78cfd7debc5...37abcedcc1da61a57767b7588cb9d03eb57e28b3)

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

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

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

* build(deps): bump google.golang.org/grpc from 1.51.0 to 1.52.0 (#3016)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.51.0 to 1.52.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.51.0...v1.52.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]>

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

* Update the ecosystem links in the readme (#3018)

The icq and rate limiting links were pointing to outdated links (module repo has moved and rate limiting is no longer as a pr but implemented) so this updates them both

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

* chore(statemachine)!: write channel state before invoking app callbacks in ack and confirm channel handshake steps (#2973)

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

* fix: correctly close iterator in `07-tendermint` store  (#3022)

* fix closing iterator in 07-tendermint

* maintain defer pattern but use new variable to avoiid reassignment issues

* fix: change check to disallow optimistic sends (#3009)

* change check to disallow optimistic sends

* update test

* chore: use `sdk.LogDeferred` when closing store iterators

* ics29 v1 requirements doc (#2958)

* ics29 v1 requirements doc

* Update docs/requirements/ics29-v1-requirements.md

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

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

* docs: refactor contributing guidelines (#2706)

* fix testing package in `types` tests for transfer (#3005)

* chore: adding distribute fee events to ics29

* fix typos

* Fix e2e tests for pre sdk v0.47 chains (#3026)

* build(deps): bump github.com/spf13/viper from 1.14.0 to 1.15.0 (#3035)

* build(deps): bump github.com/spf13/viper from 1.14.0 to 1.15.0

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](https://github.com/spf13/viper/compare/v1.14.0...v1.15.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]>

* go mod tidy in e2e

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

* temporarily update dockerfile to add all (#3050)

* deps: update cosmos-sdk buf dependency and rebuild protos (#3024)

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

* chore: use correct BSR proto repo in buf.yaml (#3053)

* chore: bumping go mod to ibc-go/v7 (#3014)

* bumping go mod to ibc-go/v7

* updating e2e go module with v7 deps

* fix: update `Paginate` to use `FilterPaginate` in `ClientStates` and `ConnectionChannels` grpc queries (#3010)

* update paginate to use filter paginate

* build(deps): bump google.golang.org/grpc from 1.52.0 to 1.52.1 (#3059)

* build(deps): bump google.golang.org/grpc from 1.52.0 to 1.52.1

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.52.0 to 1.52.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.52.0...v1.52.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]>

* go mod tidy e2e

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

* docs: add documentation for `TransferAuthorization` (#3044)

* transferauthz docs

* chore: add compatibility tests for v7.0.x and backport task (#3062)

* build(deps): bump golangci/golangci-lint-action from 3.3.1 to 3.4.0 (#3051)

Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3.3.1 to 3.4.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v3.3.1...v3.4.0)

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

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

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

* build(deps): bump google.golang.org/grpc from 1.52.1 to 1.52.3 (#3065)

* build(deps): bump google.golang.org/grpc from 1.52.1 to 1.52.3

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.52.1 to 1.52.3.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.52.1...v1.52.3)

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

* go mod tidy in e2e

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

* fix: allow value with slashes in URL template (#3045)

* go code snippets are properly formatted only with the go keyword

* fix: moved non-verification misbehaviour checks to checkForMisbehaviour  (#3046)

* move misbehaviour check

* add test coverage

* Fix dockerfile on main (#3069)

* Updating build simd image workflow (#3060)

* Ensure we never use the Dockerfile on main when working with other branches (#3071)

* chore: Add `HasConnection` and `HasChannel` methods. (#3082)

* Allow specification of arbitrary values when running e2e tests (#3036)

* followup from review comments for #2709 (#3027)

## Description



This PR addresses these two comments from #2709:

- [This comment about using the suffix `Fn`](https://github.com/cosmos/ibc-go/pull/2709#discussion_r1024070188).
- [This comment about adding `doc.go` for packages](https://github.com/cosmos/ibc-go/pull/2709#discussion_r1080734398).

closes: #XXXX


### Commit Message / Changelog Entry

```bash
type: commit message
```

see the [guidelines](https://github.com/cosmos/ibc-go/blob/main/CONTRIBUTING.md#commit-messages) for commit messages. (view raw markdown for examples)




---

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/main/docs/docs/building-modules/10-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).
- [ ] Provide a [commit message](https://github.com/cosmos/ibc-go/blob/main/CONTRIBUTING.md#commit-messages) to be used for the changelog entry in the PR description for review.
- [ ] Re-reviewed `Files changed` in the Github PR explorer.
- [ ] Review `Codecov Report` in the comment section below once CI passes.

* deps: Update to Cosmos SDK v0.47 rc-2 (#3095)

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

* build(deps): bump docker/build-push-action from 3.3.0 to 4.0.0 (#3090)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3.3.0 to 4.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/docker/build-push-action/releases">docker/build-push-action's releases</a>.</em></p>
<blockquote>
<h2>v4.0.0</h2>
<blockquote>
<p><strong>Warning</strong></p>
<p>Buildx v0.10 enables support for a minimal <a href="https://slsa.dev/provenance/">SLSA Provenance</a> attestation, which requires support for <a href="https://github.com/opencontainers/image-spec">OCI-compliant</a> multi-platform images. This may introduce issues with registry and runtime support (e.g. <a href="https://github-redirect.dependabot.com/docker/buildx/issues/1533">Google Cloud Run and AWS Lambda</a>). You can optionally disable the default provenance attestation functionality using <code>provenance: false</code>.</p>
</blockquote>
<ul>
<li>Revert disable provenance by default if not set by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a href="https://github-redirect.dependabot.com/docker/build-push-action/pull/784">docker/build-push-action#784</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/docker/build-push-action/compare/v3.3.1...v4.0.0">https://github.com/docker/build-push-action/compare/v3.3.1...v4.0.0</a></p>
<h2>v3.3.1</h2>
<ul>
<li>Disable provenance by default if not set by <a href="https://github.com/crazy-max"><code>@​crazy-max</code></a> (<a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/781">#781</a>)</li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/docker/build-push-action/compare/v3.3.0...v3.3.1">https://github.com/docker/build-push-action/compare/v3.3.0...v3.3.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/docker/build-push-action/commit/3b5e8027fcad23fda98b2e3ac259d8d67585f671"><code>3b5e802</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/784">#784</a> from crazy-max/enable-provenance</li>
<li><a href="https://github.com/docker/build-push-action/commit/02d3266a89e5dfed960723e6127886a5adc7eb2f"><code>02d3266</code></a> update generated content</li>
<li><a href="https://github.com/docker/build-push-action/commit/f403dafe18abeb00b9d5976ab285a9f457520f29"><code>f403daf</code></a> revert disable provenance by default if not set</li>
<li><a href="https://github.com/docker/build-push-action/commit/1104d471370f9806843c095c1db02b5a90c5f8b6"><code>1104d47</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/docker/build-push-action/issues/781">#781</a> from crazy-max/disable-provenance</li>
<li><a href="https://github.com/docker/build-push-action/commit/838bf90c88a4d6a02272e7afa2e4e2227b96f2dc"><code>838bf90</code></a> update generated content</li>
<li><a href="https://github.com/docker/build-push-action/commit/337a09d182ee8c86aa958168dc985219e49e4b3b"><code>337a09d</code></a> disable provenance by default if not set</li>
<li>See full diff in <a href="https://github.com/docker/build-push-action/compare/37abcedcc1da61a57767b7588cb9d03eb57e28b3...3b5e8027fcad23fda98b2e3ac259d8d67585f671">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/build-push-action&package-manager=github_actions&previous-version=3.3.0&new-version=4.0.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 e2e memo test for broken versions (#3096)

* feat: Added authz support for ics20 (#3079)

Co-authored-by: Damian Nolan <[email protected]>
Co-authored-by: Cian Hatton <[email protected]>
Co-authored-by: Charleen Fei <[email protected]>
Co-authored-by: Zaki Manian <[email protected]>

* Fix Compatibility Tests using govv1beta1 GenesisStates (#3052)

* chores: post v4.3.0 release chores (#3080)

## Description



closes: #XXXX


### Commit Message / Changelog Entry

```bash
type: commit message
```

see the [guidelines](https://github.com/cosmos/ibc-go/blob/main/CONTRIBUTING.md#commit-messages) for commit messages. (view raw markdown for examples)




---

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/main/docs/docs/building-modules/10-structure.md) and [Go style guide](../docs/dev/go-style-guide.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).
- [ ] Provide a [commit message](https://github.com/cosmos/ibc-go/blob/main/CONTRIBUTING.md#commit-messages) to be used for the changelog entry in the PR description for review.
- [x] Re-reviewed `Files changed` in the Github PR explorer.
- [ ] Review `Codecov Report` in the comment section below once CI passes.

* Add transfer authz tests to workflow (#3102)

* build(deps): bump bufbuild/buf-setup-action from 1.12.0 to 1.13.0 (#3075)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.12.0 to 1.13.0.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.12.0...v1.13.0)

---
updated-dependencies:
- dependency-name: bufbuild/buf-setup-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>
Co-authored-by: Damian Nolan <[email protected]>
…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

light client guide: client state functions
4 participants