-
Notifications
You must be signed in to change notification settings - Fork 586
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
docs: ica tx atomicity docs and code snippet updates #719
Conversation
@@ -109,17 +109,32 @@ module.exports = { | |||
{ | |||
title: "Interchain Accounts", | |||
directory: true, | |||
path: "/app_modules", | |||
path: "/app-modules", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated to dashed casing to align with other directories and files. E.g. ADRs or upgrades/developer-guide.md
..etc
@@ -19,14 +19,14 @@ Developers looking to build upon Interchain Accounts must write custom logic in | |||
|
|||
Regular accounts use a private key to sign transactions on-chain. Interchain Accounts are instead controlled programmatically by separate chains via IBC transactions. Interchain Accounts are implemented as sub-accounts of the interchain accounts module account. | |||
|
|||
# Concepts | |||
## Definitions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aligns with same pattern used in docs/ibc/middleware/develop.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should keep it as Concepts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have no preference
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have a problem naming the heading as "Concepts" but I do think we should be consistent throughout the docs. So that would mean renaming "Definitions" heading used within the middleware docs to "Concepts". These kind of sections should, in my opinion, act as a sort of glossary of words/terminology to give context on the language used for a particular topic. Either heading is fine but we should be consistent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we use Concepts
in other docs and in some of the SDK docs also.
@@ -0,0 +1,50 @@ | |||
<!-- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added separate page for parameters. More easy to navigate and more explicit!
@@ -210,7 +198,8 @@ packetData := icatypes.InterchainAccountPacketData{ | |||
Data: data, | |||
} | |||
|
|||
_, err = keeper.icaControllerKeeper.TrySendTx(ctx, chanCap, p, packetData) | |||
// Send the interchain accounts packet, returning the packet sequence | |||
seq, err = keeper.icaControllerKeeper.TrySendTx(ctx, chanCap, portID, packetData) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I figured it was better to include the sequence return value in the code snippets for developer docs
--> | ||
|
||
# Building an ICA authentication module | ||
# Authentication Modules |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I prefer Building an ICA authentication module
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed this as I thought headings should be fairly concise and to the point, and my main goal here was to remove "ICA" from the heading, as its already a subpage of Interchain Accounts docs and essentially implicit. What about a happy medium of "Building an Authentication Module"?
|
||
As the Interchain Accounts module supports the execution of multiple transactions using the Cosmos SDK `Msg` interface, it provides the same atomicity guarantees as Cosmos SDK-based applications, leveraging the [`CacheMultiStore`](https://docs.cosmos.network/master/core/store.html#cachemultistore) architecture provided by the `Context` type. | ||
|
||
When a host chain receives an Interchain Accounts packet and successfully deserializes its message content, each `Msg` is authenticated and executed using a cached storage object. A new `CacheMultiStore` is obtained via the Cosmos SDK `ctx.CacheContext()` method. State changes are then performed within the context of a branched key-value store and commited when `writeCache()` is invoked. This storage mechanism ensures that state changes are committed if and only if all transactions succeed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When a host chain receives an Interchain Accounts packet and successfully deserializes its message content, each `Msg` is authenticated and executed using a cached storage object. A new `CacheMultiStore` is obtained via the Cosmos SDK `ctx.CacheContext()` method. State changes are then performed within the context of a branched key-value store and commited when `writeCache()` is invoked. This storage mechanism ensures that state changes are committed if and only if all transactions succeed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should go into this level of detail, personally. I think we can probably remove the executeTx
definition below also, or maybe just link to the code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My reasoning for this is that I feel we shouldn't overcomplicate things for developers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should add this into the godoc of executeTx. Agree with keeping these docs simple. I'd just say that the transaction is atomic and the state changes are only written if all the messages succeed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, we can remove this section. We already have something similar as inline comments within executeTx
:
// CacheContext returns a new context with the multi-store branched into a cached storage object
// writeCache is called only if all msgs succeed, performing state transitions atomically
I essentially had just paraphrased the above to flesh out the docs content some more as I wasn't sure if it would be too sparse without.
|
||
The controller module is used for account registration and packet sending. | ||
Authentication modules play the role of the `Base Application` as described in [ICS30 IBC Middleware](https://github.com/cosmos/ibc/tree/master/spec/app/ics-030-middleware), and enable application developers to perform custom logic when working with the Interchain Accounts controller API. {synopsis} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm thinking that maybe we should give a concrete example of what an authentication module would do. Probably governance is the easiest to understand. wdyt? I feel like our explanations of authentication modules
in the docs so far are rather abstract.
I can try and think of something to write.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree, something with governance would be great. I think that could be added in a separate PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing, thank you!
Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: Sean King <seantking@users.noreply.github.com>
Co-authored-by: Sean King <seantking@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ❤️ the diagram you added!
--> | ||
|
||
# Building an ICA authentication module | ||
# Building an Authentication Module |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would not use uppercase letters.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated!
|
||
## Executing a transaction | ||
|
||
As described in [Authentication Modules](./auth-modules.md#trysendtx) transactions are executed using the interchain accounts controller API and require a `Base Application` as outlined in [ICS30 IBC Middleware](https://github.com/cosmos/ibc/tree/master/spec/app/ics-030-middleware) to facilitate authentication. The method of authentication remains unspecified to provide flexibility for the authentication module developer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this correct [Authentication Modules](./auth-modules.md#trysendtx)
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Worked when I was running a local server with docs. Link checker is happy too
* removing unused proto imports in interchain-accounts (#718) * Merge pull request #721 from cosmos/colin/694-fix-err-msg simplify connection handshake error messages * refactor: move ica connection identifiers from port to version metadata bytestring (#700) * define and generate new metadata proto type * refactor types pkg, remove version string parsers, add PortPrefix * refactor ica entrypoint and handshake to handle connection ids in metadata * fixing broken test cases * adding controller port and metadata validation, adding new testcases * updating proto doc and removing commented out code * updating testcase names, adding metadata constructor func, updating PortPrefix and removing Delimiter * adding ErrInvalidControllerPort and ErrInvalidHostPort * Apply suggestions from code review Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es> * updating error msgs to use expected, got format * adding inline metadata documentation as per review, updating bz to versionBytes Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es> * make IsValidAddr private and extend regex to account for 0 length string (#723) * make IsValidAddr private and extend regex to account for 0 length strings * add tests * remove spaces and commas from LongString * Update LICENSE (#728) * refactor: allow ICA authentication module provided timeout timestamp values (#726) * allow ICA authentication module provided timeout timestamp * update ICA docs * fix test case * Apply suggestions from code review Co-authored-by: Sean King <seantking@users.noreply.github.com> Co-authored-by: Sean King <seantking@users.noreply.github.com> * Fix ambiguity in TimeoutTimestamp docs (#715) * Fix ambiguity in TimeoutTimestamp docs * TimeoutTimestamp docs wording * bump docs json lock file to fix security vulnerability (#727) * fix: gogoproto yaml (#732) * refactor: no longer removing active channel mapping on close channel (#730) * refactor: no longer remove active channel mapping on close chan * refactor: adding HasActiveChannel helper fn & refactor active channel test cases * fix: update helper fn * refactor: remove DeleteChannelId * refactor: err on GetActiveChannel & use TestVersion var in use testcase * chore: comments * nit: TestVersion var * nits: fn name + comment * refactor: reusable metadata validation (#729) * define and generate new metadata proto type * refactor types pkg, remove version string parsers, add PortPrefix * refactor ica entrypoint and handshake to handle connection ids in metadata * fixing broken test cases * adding controller port and metadata validation, adding new testcases * updating proto doc and removing commented out code * updating testcase names, adding metadata constructor func, updating PortPrefix and removing Delimiter * adding ErrInvalidControllerPort and ErrInvalidHostPort * refactoring metadata validation to reusable func * returning correct err type * regenerating protos after merge conflicts * adding separate validation funcs for controller and host * correcting error msg in ValidateHostMetadata * updating with review suggestions * adding additional empty address check to ACK step, adding test case * adding strings.Trimspace * adding success with empty address testcase for ValidateHostMetadata * remove amino, enforce serialize and deserialize functions to only accept ProtoCodec (#725) * fix: update IsRevisionFormat and IsClientIDFormat to account for newlines before the dash (#724) * update IsRevisionFormat to disallow newlines before the -<revision-number> * update IsClientIDFormat to account for newlines before the dash * add changelog * Update modules/core/02-client/types/height.go * add test case and update CHANGELOG * add goreleaser github action to attach simd binary to releases and pre-releases (#738) Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * docs: ica tx atomicity docs and code snippet updates (#719) * adding parameters.md to ica docs * updating interchain accounts docs, adding parameters.md and transactions.md * updating formatting * correcting wording * adding diagram to docs/assets/ * fixing ChanOpenTry api in code snippet * fixing broken image link * updating wording * Update docs/app-modules/interchain-accounts/transactions.md Co-authored-by: Sean King <seantking@users.noreply.github.com> * Update docs/app-modules/interchain-accounts/transactions.md Co-authored-by: Sean King <seantking@users.noreply.github.com> * Update docs/app-modules/interchain-accounts/parameters.md Co-authored-by: Sean King <seantking@users.noreply.github.com> * updating as per review discussion * removing capitals in heading as per review Co-authored-by: Sean King <seantking@users.noreply.github.com> * deps: bump vuepress-theme-cosmos (#754) * fix: remove error from ics27 channel ack (#751) * removing error from channel ack in favour of event emission * applying suggestions from PR * Update modules/apps/27-interchain-accounts/host/keeper/events.go Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * Update modules/apps/27-interchain-accounts/types/errors.go Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * Update modules/apps/27-interchain-accounts/host/keeper/events.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * feat: adding helper fn to generate capability name for testing (#776) * feat: adding helper fn to generate cap name for testing * fix: refactoring tests to use new helper in Mock package * fix: comment * fix: remove unused fn * Update testing/mock/ibc_module.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Update testing/mock/ibc_module_test.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * adding additional helpers for ack + timeout * chore: changelog * nit: err syntax Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * test: adding test for accessing interchain account after closing channel (#736) * test: adding test for accessing interchain account after closing channel * fix packet commitment does not exist bug Packet commitment hash was not matching due to non zero timeout height * test: send another packet on the newly created channel * nit: update comments * nits: update test and move to top level * nit: don't discard err Co-authored-by: Colin Axnér <25233464+colin-axner@users.noreply.github.com> * Replace github.com/pkg/errors with stdlib errors (#775) * Replace github.com/pkg/errors with stdlib errors * Update CHANGELOG.md Co-authored-by: Damian Nolan <damiannolan@gmail.com> * update roadmap (#735) Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * fix: resolve proto lint failure - buf.yaml (#781) * feat: query host chain msg events via cli (#782) * WIP implementation * removing grpc query * update long usage * removing buf.yaml updates * use limit of 1 * adding channel id validation to short circuit with invalid ids * docs: add MakeFile command to view docs locally (#788) * fix: support custom chain IDs for testing (#774) * Backport commits from main to v3 release branch (#682) * reorganize channel handshake handler (#647) * reorganize channel handshake handler split out channel state changes into its own function. * readjust 27-interchain-accounts to not rely on state being set before the application callback * add changelog and migration doc entry * Update modules/core/04-channel/keeper/handshake.go * docs: ICA Overview (#626) * docs: ica overview * fix: ordering * add spacing * fix: spacing * fix: remove bulletpoints * fix: wording * update go mod for security vulnerabilities (#655) * update go mod for security vulnerabilities * update package-lock.json * update vue dependency (#662) * bump glob-parent version in json package (#663) * build(deps): bump actions/setup-go from 2.1.4 to 2.1.5 (#656) Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.1.4 to 2.1.5. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v2.1.4...v2.1.5) --- updated-dependencies: - dependency-name: actions/setup-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * docs: begin removal of internal "spec" directories (#634) * begin removal of spec docs within core ibc * remove broken link * Apply suggestions from code review Co-authored-by: Damian Nolan <damiannolan@gmail.com> * remove broken link * remove broken links * Apply suggestions from code review Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es> Co-authored-by: Damian Nolan <damiannolan@gmail.com> Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es> * Modify `OnChanOpenTry` application callback to perform app version negotitation (#646) * remove NegotiateAppVersion and AppVersion gRPC (#643) The NegotiateAppVersion callback has been removed from the IBC Application interface. The gRPC AppVersion has been removed. The app version negoitation will be handled by applications by returning the version in OnChanOpenTry. * Modify `OnChanOpenTry` to return application version (#650) * modify OnChanOpenTry to return negotiated version modify IBCModule interface function OnChanOpenTry to return the negotiated app version. Tests have not been updated * fix ibc_module_test.go tests * fix tests * Apply suggestions from code review * add handshake test case * add CHANGELOG and migration docs * update documentation * fix broken link * fix broken link (#664) * chore: update make build-docs, add docs build checker (#667) * update Makefile, add docs build checker * Update .github/workflows/check-docs.yml Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Marko <marbar3778@yahoo.com> * register ICA query server, fix panics in params query cli (#666) Register the controller and host query servers to a chain. Returns an error upon cli params query failure instead of panicing. * update of roadmap with latest release (#653) * update of roadmap with latest release and changed the way release versions are encoded * fixed typo Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * build(deps): bump actions/checkout from 2.3.1 to 2.4.0 (#672) Bumps [actions/checkout](https://github.com/actions/checkout) from 2.3.1 to 2.4.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2.3.1...v2.4.0) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * allow ics20 to connect to middleware (#675) * allow ics20 to connect to middleware Creates ics4Wrapper which allows middleware applications to only implement SendPacket to connect ics20 as an application in its middleware stack * add changelog and migration doc * fix migration doc spelling * fix: register InterchainAccount as x/auth GenesisAccount (#676) * adding GenesisAccount interface registration for InterchainAccount impl * updating RegisterInterfaces ica godoc * enable mergify for backports (#678) Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> Co-authored-by: Sean King <seantking@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Damian Nolan <damiannolan@gmail.com> Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es> Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * fixes evmos tests * cleanup * changelog and cleanup * pr suggestions. bump chainid Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: Sean King <seantking@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Damian Nolan <damiannolan@gmail.com> Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es> Co-authored-by: Marko <marbar3778@yahoo.com> Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com> * chore: renaming API fns (#786) * build(deps): bump google.golang.org/grpc from 1.43.0 to 1.44.0 (#796) Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.43.0 to 1.44.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/grpc/grpc-go/releases">google.golang.org/grpc's releases</a>.</em></p> <blockquote> <h2>Release 1.44.0</h2> <h1>New Features</h1> <ul> <li>balancer: add RLS load balancing policy (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5046">#5046</a>)</li> <li>xds: add RLS Cluster Specifier Plugin (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5004">#5004</a>)</li> <li>insecure: remove experimental notice (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5069">#5069</a>)</li> </ul> <h1>Bug Fixes</h1> <ul> <li>internal/balancergroup: eliminate race in exitIdle (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5012">#5012</a>)</li> <li>authz: fix regex expression match (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5035">#5035</a>)</li> </ul> <h1>Documentation</h1> <ul> <li>grpc: minor improvement on WithInsecure() document (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5068">#5068</a>) <ul> <li>Special Thanks: <a href="https://github.com/shitian-ni"><code>@shitian-ni</code></a></li> </ul> </li> <li>attributes: document that some value types (e.g. <code>map</code>s) must implement Equal (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5109">#5109</a>)</li> <li>dialoptions.go: Fix WithBlock godoc (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5073">#5073</a>) <ul> <li>Special Thanks: <a href="https://github.com/sgreene570"><code>@sgreene570</code></a></li> </ul> </li> <li>grpclog.DepthLoggerV2: Correct comment: formats like fmt.Println (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5038">#5038</a>) <ul> <li>Special Thanks: <a href="https://github.com/evanj"><code>@evanj</code></a></li> </ul> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/grpc/grpc-go/commit/b4c5e24c7373b22c6c38d68379c39ecdc616a968"><code>b4c5e24</code></a> Change version to 1.44.1-dev (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5121">#5121</a>)</li> <li><a href="https://github.com/grpc/grpc-go/commit/da8e0b8fa35c185b30da2fe706ce9535b918239f"><code>da8e0b8</code></a> Change version to 1.44.0 (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5120">#5120</a>)</li> <li><a href="https://github.com/grpc/grpc-go/commit/77b478d768e7e75234406b53471844a0a8d6faf4"><code>77b478d</code></a> xds/federation: e2e tests (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5103">#5103</a>)</li> <li><a href="https://github.com/grpc/grpc-go/commit/907a202a615d3b2de857e4302cf6032004d65aee"><code>907a202</code></a> attributes: document that some value types (e.g. <code>map</code>s) must implement Equal...</li> <li><a href="https://github.com/grpc/grpc-go/commit/2fb1ac854b2037b408121870f0dcc81474ca483b"><code>2fb1ac8</code></a> test: fix potential goroutine leak in TestUpdateAddresses_RetryFromFirstAddr ...</li> <li><a href="https://github.com/grpc/grpc-go/commit/afded7231d0083fb7e9fcccc768ecbf56c271626"><code>afded72</code></a> xds/federation: update xdsclient to support multi authority (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5042">#5042</a>)</li> <li><a href="https://github.com/grpc/grpc-go/commit/b069440926d58e0a6fa6c59b01638a6948f9e6f3"><code>b069440</code></a> credentials/google: use grpctest.Tester for tests in this package (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5098">#5098</a>)</li> <li><a href="https://github.com/grpc/grpc-go/commit/fbaf7c55821070944bb0ce342ba3c54cc521c6fe"><code>fbaf7c5</code></a> authz: update representation of allow authenticated in SDK (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5052">#5052</a>)</li> <li><a href="https://github.com/grpc/grpc-go/commit/344b93a285883f2da713622d5064ad4b4512e63e"><code>344b93a</code></a> testdata: use SHA256 as signing algorithm in testdata certs (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5074">#5074</a>)</li> <li><a href="https://github.com/grpc/grpc-go/commit/4d58dd98db75e180ebf67cce127db5068ff7ab3e"><code>4d58dd9</code></a> dialoptions.go: Fix WithBlock godoc (<a href="https://github-redirect.dependabot.com/grpc/grpc-go/issues/5073">#5073</a>)</li> <li>Additional commits viewable in <a href="https://github.com/grpc/grpc-go/compare/v1.43.0...v1.44.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=google.golang.org/grpc&package-manager=go_modules&previous-version=1.43.0&new-version=1.44.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> * chore: restructure code logically (#804) * refactor: construct ics27 error acknowledgement with determinstic ABCI code (#794) ## Description Splitting #701 into 3 parts: - error acknowledgement changes - results acknowledgement changes - ADR explaining justification This pr handles the first case ref: #701 --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`) - [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [ ] Re-reviewed `Files changed` in the Github PR explorer - [ ] Review `Codecov Report` in the comment section below once CI passes * docs: active channel description (#787) * docs: adding active channels explanation * change ordering * updating config and adding more docs * Update docs/app-modules/interchain-accounts/active-channels.md Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * Update docs/app-modules/interchain-accounts/active-channels.md Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * Update docs/app-modules/interchain-accounts/active-channels.md Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * Update docs/app-modules/interchain-accounts/active-channels.md Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * add helper function in testing package: RecvPacketWithResult (#810) ## Description Allows the acknowledgement to be parsed from MsgRecvPacket results. Adjusts RelayPacket to use the acknowledgement from the events rather than expecting the acknowledgement to be passed in before hand. Useful for #701 Will make a followup pr breaking RelayPacket API closes: #XXXX --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`) - [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [ ] Re-reviewed `Files changed` in the Github PR explorer - [ ] Review `Codecov Report` in the comment section below once CI passes * chore: use connection ID in interchain account store keys (#791) * updating protos to include connection id * updating interchain account store key to include conn id * updating arg names * updating proto comments * cleanup * rename connID -> connectionID in AuthenticateTx arg * updating to use controller connection id in controller store key * chore: use connection ID in active channel store keys (#807) * adding connection id to active channel genesis protobuf type * adding connection id to active channel store key * updating protodoc * fixing doc typo * updating godocs to include connection ID * readding active channel check in SendTx * chore: remove unnecessary arg from RelayPacket testing function (#813) ## Description closes: #XXXX --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`) - [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [ ] Re-reviewed `Files changed` in the Github PR explorer - [ ] Review `Codecov Report` in the comment section below once CI passes * chore: use host chain connection id in ica address generation (#790) Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * docs: adding ica docs for exclusive submodule app wiring (#809) * Defensive checks for active channel (#785) * feat: Adding check onChanOpenAck to check for active, open channel * Add defensive check of active channel to OnChanOpenTry * fix: use counterparty.PortId in active channel check * update: change base error for active channel check * comment: add comment explaining overwrite of active channel * fix: change err type * fix: updating to use counterparty PortID * fix: tests * Update modules/apps/27-interchain-accounts/host/keeper/handshake.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Add stable release policy (#685) * add stable release policy * add release series table * point-release -> patch-release * Apply suggestions from code review Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es> * change LTS to be 1 year with potential extension * Update RELEASES.md Co-authored-by: Damian Nolan <damiannolan@gmail.com> * Update RELEASES.md Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es> * Update RELEASES.md Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * update end of life table Co-authored-by: Carlos Rodriguez <crodveg@yahoo.es> Co-authored-by: Damian Nolan <damiannolan@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * build(deps): bump github.com/cosmos/cosmos-sdk from 0.44.5 to 0.45.0 (#769) Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.44.5 to 0.45.0. Closes: #734 Closes: #763 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/cosmos/cosmos-sdk/releases">github.com/cosmos/cosmos-sdk's releases</a>.</em></p> <blockquote> <p>Cosmos SDK v0.45.0 is a logical continuation of the v0.44.* series, but brings a couple of state- and API-breaking changes requested by the community.</p> <h3>State-Breaking Changes</h3> <p>There are few important changes in <strong>gas consumption</strong>, which improve the gas economics:</p> <ul> <li>We now charge gas in two new places: on <code>.Seek()</code> even if there are no entries, and for the key length (on top of the value length).</li> <li>When block gas limit is exceeded, we consume the maximum gas possible (to charge for the performed computation). We also fixed the bug when the last transaction in a block exceeds the block gas limit, it returns an error result, but the tx is actually committed successfully.</li> </ul> <p>Finally, a small improvement in gov, we increased the maximum proposal description size from 5k characters to 10k characters.</p> <h3>API-Breaking Changes</h3> <ul> <li>The <code>BankKeeper</code> interface has a new <code>HasSupply</code> method to ensure that input denom actually exists on chain.</li> <li>The <code>CommitMultiStore</code> interface contains a new <code>SetIAVLCacheSize</code> method for a configurable IAVL cache size.</li> <li><code>AuthKeeper</code> interface in <code>x/auth</code> now includes a function <code>HasAccount</code>.</li> <li>Moved <code>TestMnemonic</code> from <code>testutil</code> package to <code>testdata</code>.</li> </ul> <p>Finally, when using the <code>SetOrder*</code> functions in simapp, e.g. <code>SetOrderBeginBlocker</code>, we now require that all modules be present in the function arguments, or else the node panics at startup. We also added a new <code>SetOrderMigration</code> function to set the order of running module migrations.</p> <h3>Improvements</h3> <ul> <li>Speedup improvements (e.g. speedup iterator creation after delete heavy workloads, lower allocations for <code>Coins.String()</code>, reduce RAM/CPU usage inside store/cachekv's <code>Store.Write</code>) are included in this release.</li> <li>Upgrade Rosetta to v0.7.0 .</li> <li>Support in-place migration ordering.</li> <li>Copied and updated <code>server.GenerateCoinKey</code> and <code>server.GenerateServerCoinKey</code> functions to the <code>testutil</code> package. These functions in <code>server</code> package are marked deprecated and will be removed in the next release. In the <code>testutil.GenerateServerCoinKey</code> version we added support for custom mnemonics in in-process testing network.</li> </ul> <p>See our <a href="https://github.com/cosmos/cosmos-sdk/blob/HEAD/CHANGELOG.md">CHANGELOG</a> for the exhaustive list of all changes, or a full <a href="https://github.com/cosmos/cosmos-sdk/compare/v0.44.5...v0.45.0">commit diff</a>.</p> <h2>Cosmos SDK v0.45.0 Release Candidate 1</h2> <h2>Release Notes</h2> <p>Cosmos SDK v0.45.0 is a logical continuation of the v0.44.* series, but brings a couple of state- and API-breaking changes requested by the community.</p> <h3>State-Breaking Changes</h3> <p>There are few important changes in <strong>gas consumption</strong>, which improve the gas economics:</p> <ul> <li>We now charge gas in two new places: on <code>.Seek()</code> even if there are no entries, and for the key length (on top of the value length).</li> <li>When block gas limit is exceeded, we consume the maximum gas possible (to charge for the performed computation). We also fixed the bug when the last transaction in a block exceeds the block gas limit, it returns an error result, but the tx is actually committed successfully.</li> </ul> <p>Finally, a small improvement in gov, we increased the maximum proposal description size from 5k characters to 10k characters.</p> <h3>API-Breaking Changes</h3> <ul> <li>The <code>BankKeeper</code> interface has a new <code>HasSupply</code> method to ensure that input denom actually exists on chain.</li> <li>The <code>CommitMultiStore</code> interface contains a new <code>SetIAVLCacheSize</code> method for a configurable IAVL cache size.</li> <li><code>AuthKeeper</code> interface in <code>x/auth</code> now includes a function <code>HasAccount</code>.</li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/cosmos/cosmos-sdk/blob/v0.45.0/CHANGELOG.md">github.com/cosmos/cosmos-sdk's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.0">v0.45.0</a> - 2022-01-18</h2> <h3>State Machine Breaking</h3> <ul> <li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10833">#10833</a> fix reported tx gas used when block gas limit exceeded.</li> <li>(auth) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10536%5D">#10536</a> Enable <code>SetSequence</code> for <code>ModuleAccount</code>.</li> <li>(store) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10218">#10218</a> Charge gas even when there are no entries while seeking.</li> <li>(store) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10247">#10247</a> Charge gas for the key length in gas meter.</li> <li>(x/gov) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10740">#10740</a> Increase maximum proposal description size from 5k characters to 10k characters.</li> <li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10814">#10814</a> revert tx when block gas limit exceeded.</li> </ul> <h3>API Breaking Changes</h3> <ul> <li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10561">#10561</a> The <code>CommitMultiStore</code> interface contains a new <code>SetIAVLCacheSize</code> method</li> <li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10922">#10922</a>, [/<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10956">#10956</a>](<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10956">cosmos/cosmos-sdk#10956</a>) Deprecate key <code>server.Generate*</code> functions and move them to <code>testutil</code> and support custom mnemonics in in-process testing network. Moved <code>TestMnemonic</code> from <code>testutil</code> package to <code>testdata</code>.</li> </ul> <h3>Features</h3> <ul> <li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10614">#10614</a> Support in-place migration ordering</li> </ul> <h3>Improvements</h3> <ul> <li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10486">#10486</a> store/cachekv's <code>Store.Write</code> conservatively looks up keys, but also uses the <a href="https://bencher.orijtech.com/perfclinic/mapclearing/">map clearing idiom</a> to reduce the RAM usage, CPU time usage, and garbage collection pressure from clearing maps, instead of allocating new maps.</li> <li>(store) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10741">#10741</a> Significantly speedup iterator creation after delete heavy workloads. Significantly improves IBC migration times.</li> <li>(module) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10711">#10711</a> Panic at startup if the app developer forgot to add modules in the <code>SetOrder{BeginBlocker, EndBlocker, InitGenesis, ExportGenesis}</code> functions. This means that all modules, even those who have empty implementations for those methods, need to be added to <code>SetOrder*</code>.</li> <li>(types) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10076">#10076</a> Significantly speedup and lower allocations for <code>Coins.String()</code>.</li> <li>(auth) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10022">#10022</a> <code>AuthKeeper</code> interface in <code>x/auth</code> now includes a function <code>HasAccount</code>.</li> <li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10393">#10393</a> Add <code>HasSupply</code> method to bank keeper to ensure that input denom actually exists on chain.</li> </ul> <h3>Bug Fixes</h3> <ul> <li>(std/codec) [/<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10595">#10595</a>](<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10595">cosmos/cosmos-sdk#10595</a>) Add evidence to std/codec to be able to decode evidence in client interactions.</li> <li>(types) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/9627">#9627</a> Fix nil pointer panic on <code>NewBigIntFromInt</code>.</li> <li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10725">#10725</a> populate <code>ctx.ConsensusParams</code> for begin/end blockers.</li> <li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/9829">#9829</a> Fixed Coin denom sorting not being checked during <code>Balance.Validate</code> check. Refactored the Validation logic to use <code>Coins.Validate</code> for <code>Balance.Coins</code></li> <li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10061">#10061</a> and <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10515">#10515</a> Ensure that <code>LegacyAminoPubKey</code> struct correctly unmarshals from JSON</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/b6c77e6c819f8a51166649eaef125d1bfb276f04"><code>b6c77e6</code></a> chore: release v0.45 changelog (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10964">#10964</a>)</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/8236b26419cda96a5a1491678b227c38e4f533ba"><code>8236b26</code></a> chore: move server.GenerateCoinKey and server.GenerateSaveCoinKey to testutil...</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/90ffbce4107e29969314a36ac98b750f29cdce1e"><code>90ffbce</code></a> feat: support custom mnemonics in in-process testing network (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10922">#10922</a>...</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/c1c1ad7425292924b77dc632370815088b2d3c58"><code>c1c1ad7</code></a> chore: v0.45.0 Release Notes (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10760">#10760</a>)</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/ba1e0990d41da85c196f1a2809ab97db2d2ed1ab"><code>ba1e099</code></a> fix: revert tx when block gas limit exceeded (backport: <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10770">#10770</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10814">#10814</a>)</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/a5c60b708f7975701696a98577a93c9776dbb3f2"><code>a5c60b7</code></a> feat!: x/gov: raise max description length to 10k chars (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10740">#10740</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/1">#1</a>...</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/05656a2f53040f84ccf1d49dcbbc548a1e56472f"><code>05656a2</code></a> fix: use full gas on overflow (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10897">#10897</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10912">#10912</a>)</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/89323385043cd39283a57644e7c59c4ee4b90492"><code>8932338</code></a> feat: support in-place migration ordering (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10614">#10614</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10890">#10890</a>)</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/6d44d7193234113aa550c4f5fbb602f7346fa7b3"><code>6d44d71</code></a> fix!: tx result don't report block gas used as tx gas used (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10833">#10833</a>)</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/71a168d1d4c2b6ccde8c6c7bd7b9e17908b1b5b3"><code>71a168d</code></a> fix: recreate compat field, of null pubkeys in multisig (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10515">#10515</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/1">#1</a>...</li> <li>Additional commits viewable in <a href="https://github.com/cosmos/cosmos-sdk/compare/v0.44.5...v0.45.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/cosmos/cosmos-sdk&package-manager=go_modules&previous-version=0.44.5&new-version=0.45.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> * rename portid and port prefix for interchain accounts submodules (#779) ## Description I decided to remove the `-` from the port ID (`ica-host`) and prefix (`ica-controller`) and just make it one word (`icahost` and `icacontroller`), just in case we decide to do some parsing based on a `-` delimiter in the future. closes: #778 --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`) - [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [ ] Re-reviewed `Files changed` in the Github PR explorer - [ ] Review `Codecov Report` in the comment section below once CI passes * test: adding ica test for multiple controllers, single host (#816) * adding test for multiple controllers, single host * updating inline comments * updating todos with correct ports * reorder to use pathCToB.Endpoint for connection IDs * the ica_auth page was renamed to auth-modules (#792) ## Description This [link](https://ibc.cosmos.network/main/app_modules/interchain-accounts/ica_auth.html) was not working because the page was renamed but not removed from the vuepress config. <img width="877" alt="image" src="https://user-images.githubusercontent.com/6876468/151064563-d4a605db-fd0a-420b-8243-910233f7fea0.png"> closes: #XXXX --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`) - [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [x] Re-reviewed `Files changed` in the Github PR explorer - [ ] Review `Codecov Report` in the comment section below once CI passes * chore: replace error string in transfer acks with const (#818) * fix: adding ack error string const for transfer * updating godoc * adding warning note to godoc in 04-channel * updating to include abci error code, and copy tests from ica * adding changelog entry * refactor: active channel key format (#823) ## Description Updating the store key format for active channels based on @AdityaSripal comment. closes: [Adityas comment](https://github.com/cosmos/ibc-go/pull/814#pullrequestreview-870330601) --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`) - [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [ ] Re-reviewed `Files changed` in the Github PR explorer - [ ] Review `Codecov Report` in the comment section below once CI passes * refactor: RegisterInterchainAccount (#814) ## Description closes: #802 --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`) - [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [ ] Re-reviewed `Files changed` in the Github PR explorer - [ ] Review `Codecov Report` in the comment section below once CI passes * refactor: reformat KeyOwnerAccount (#833) ## Description Reformats KeyOwnerAccount store key closes: [Damians Comment](https://github.com/cosmos/ibc-go/pull/823#pullrequestreview-870409614) --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`) - [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [ ] Re-reviewed `Files changed` in the Github PR explorer - [ ] Review `Codecov Report` in the comment section below once CI passes * chore: adding encoding and txType fields to metadata (#824) * adding encoding and txTypes fields to ica metadata * adapting metadata and validation to support encoding and txTypes fields. updating test cases * renaming field to tx_type * fixing failing tests from merge * refactor: include transaction response in ics27 channel acknowledgement (#811) ## Description ref: #701 --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [x] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`) - [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [x] Re-reviewed `Files changed` in the Github PR explorer - [x] Review `Codecov Report` in the comment section below once CI passes * ADR 003: ICS27 Ack format (#812) ## Description closes: #701 --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`) - [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [ ] Re-reviewed `Files changed` in the Github PR explorer - [ ] Review `Codecov Report` in the comment section below once CI passes * test: ensure ics27 optimistic packet sends are disallowed (#842) * docs: add security model to ics27 docs (#841) ## Description Wording could maybe be improved, but I think the content is good enough closes: #705 --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`) - [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [ ] Re-reviewed `Files changed` in the Github PR explorer - [ ] Review `Codecov Report` in the comment section below once CI passes * test: Register using same owner address on multiple connections (#846) * Move emissions to functions (#783) * WIP move emissions * refactor events emission * update typo and code clean up following review * Update modules/core/03-connection/keeper/events.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Update modules/core/03-connection/keeper/events.go Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * refactore based on code review Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * Added ChannelId to MsgChannelOpenInitResponse (#848) ## Description added ChannelId to MsgChannelOpenInitResponse this is needed for distribution within interchain security Also my go imports didn't like go metrics so I had to add the go-metrics alias Supersedes: https://github.com/cosmos/ibc-go/pull/839 Quote from @AdityaSripal Context for the other folks reviewing: This is a problem in general not just for CCV. But currently, in CCV we want to initiate a transfer channel and know what the channelID is. So if we want to do this as part of third-party module logic, it's currently impossible with the codebase. Since, if you try to use channelKeeper directly you will need portCapability; and a third party module will not have transfer's portCapability. So we have to use the MsgServer, but the response doesn't include the channelID which we need since then we want to send transfer packets over the established channel. So this is going to be an issue for any third-party module that wants to initialize a channel of a different IBC application and then use that channel to send packets over --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [x] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [x] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [x] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`) - [x] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [x] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [x] Re-reviewed `Files changed` in the Github PR explorer - [ ] Review `Codecov Report` in the comment section below once CI passes * build(deps): bump github.com/cosmos/cosmos-sdk from 0.45.0 to 0.45.1 (#851) Bumps [github.com/cosmos/cosmos-sdk](https://github.com/cosmos/cosmos-sdk) from 0.45.0 to 0.45.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/cosmos/cosmos-sdk/releases">github.com/cosmos/cosmos-sdk's releases</a>.</em></p> <blockquote> <h2>v0.45.1</h2> <p>This release introduces bug fixes and improvements on the Cosmos SDK v0.45 series:</p> <h3>Highlights</h3> <ul> <li>Added the missing <code>iavl-cache-size</code> config parameter parsing to set a desired IAVL cache size. The default value is way to small for big chains, and causes OOM failures.</li> <li>Added a check in <code>x/upgrade</code> module's <code>BeginBlock</code> preventing accidental binary downgrades</li> <li>Fix: the <code>/cosmos/tx/v1beta1/txs/{hash}</code> endpoint returns correct return code (404) for a non existing tx.</li> </ul> <p>See the <a href="https://github.com/cosmos/cosmos-sdk/blob/v0.45.1/CHANGELOG.md">Cosmos SDK v0.45.1 Changelog</a> for the exhaustive list of all changes and check other fixes in 0.45.x release series.</p> <p><strong>Full Diff</strong>: <a href="https://github.com/cosmos/cosmos-sdk/compare/v0.45.0...v0.45.1">https://github.com/cosmos/cosmos-sdk/compare/v0.45.0...v0.45.1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/cosmos/cosmos-sdk/blob/v0.45.1/CHANGELOG.md">github.com/cosmos/cosmos-sdk's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.1">v0.45.1</a> - 2022-02-03</h2> <h3>Bug Fixes</h3> <ul> <li>(grpc) <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10992">#10985</a> The <code>/cosmos/tx/v1beta1/txs/{hash}</code> endpoint returns a 404 when a tx does not exist.</li> <li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10990">#10990</a> Fixes missing <code>iavl-cache-size</code> config parsing in <code>GetConfig</code> method.</li> </ul> <h3>Improvements</h3> <ul> <li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10407">#10407</a> Added validation to <code>x/upgrade</code> module's <code>BeginBlock</code> to check accidental binary downgrades</li> <li><a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/pull/10768">#10768</a> Extra logging in in-place store migrations.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/2646b474c7beb0c93d4fafd395ef345f41afc251"><code>2646b47</code></a> chore: 0.45.1 Release Notes (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11109">#11109</a>)</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/f69c82fa7cb2381b0f220be7bcb7f56401e9fd6e"><code>f69c82f</code></a> feat: extra logging in in-place store migrations (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10768">#10768</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11107">#11107</a>)</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/0c9bbbc68fe5eb08aa39c081a9ec0557ea109a43"><code>0c9bbbc</code></a> fix: add iavl-cache-size config parsing to GetConfig (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10990">#10990</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11058">#11058</a>)</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/985d221518690c5ff448fab1c61d5d6e2f43eebd"><code>985d221</code></a> feat!: add protection against accidental downgrades (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10407">#10407</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11026">#11026</a>)</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/dfd47f5b449f558a855da284a9a7eabbfbad435d"><code>dfd47f5</code></a> chore: update 0.45 migration and support notes (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10973">#10973</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10979">#10979</a>)</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/7ecf4d4ed4b63f9512806d6c0a0e896a1afba02c"><code>7ecf4d4</code></a> fix: return 404 on non-existing tx (backport <a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10992">#10992</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11014">#11014</a>)</li> <li><a href="https://github.com/cosmos/cosmos-sdk/commit/ced57ea5de0e28323adb9c8cddba960b3d515100"><code>ced57ea</code></a> docs: guidelines for ValidateBasic (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/10983">#10983</a>) (<a href="https://github-redirect.dependabot.com/cosmos/cosmos-sdk/issues/11001">#11001</a>)</li> <li>See full diff in <a href="https://github.com/cosmos/cosmos-sdk/compare/v0.45.0...v0.45.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/cosmos/cosmos-sdk&package-manager=go_modules&previous-version=0.45.0&new-version=0.45.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> * fix: ica host OnRecvPacket error acknowledgement (#885) * chore: add defensive check to ensure metadata does not change when reopening an active channel (#847) ## Description closes: #795 --- Before we can merge this PR, please make sure that all the following items have been checked off. If any of the checklist items are not applicable, please leave them but write a little note why. - [ ] Targeted PR against correct branch (see [CONTRIBUTING.md](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#pr-targeting)) - [ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work. - [ ] Code follows the [module structure standards](https://github.com/cosmos/cosmos-sdk/blob/master/docs/building-modules/structure.md). - [ ] Wrote unit and integration [tests](https://github.com/cosmos/ibc-go/blob/master/CONTRIBUTING.md#testing) - [ ] Updated relevant documentation (`docs/`) or specification (`x/<module>/spec/`) - [ ] Added relevant `godoc` [comments](https://blog.golang.org/godoc-documenting-go-code). - [ ] Added a relevant changelog entry to the `Unreleased` section in `CHANGELOG.md` - [ ] Re-reviewed `Files changed` in the Github PR explorer - [ ] Review `Codecov Report` in the comment section below once CI passes * refactor: WriteAcknowledgement API (#882) * refactor: WriteAcknowledgement takes exported.Acknowledgement instead of bytes * fix: adding check for empty byte string * chore: update changelog * fixing test case + adding migration docs * testing: Adding MockEmptyAcknowledgement to testing library * docs: fix version * test: add check for ack is nil * bug: use custom ante handler to reject redundant transactions in simapp (#884) * add custom ante handler * add godoc and changelog entry Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * refactor: allow the mock module to be used multiple times as base ibc application in middleware stack (#892) ## Description Currently the `A…
Description
closes: #693
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.
docs/
) or specification (x/<module>/spec/
)godoc
comments.Unreleased
section inCHANGELOG.md
Files changed
in the Github PR explorerCodecov Report
in the comment section below once CI passes