-
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
chore: rm event emission after context caching #2662
Conversation
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.
Great work! Left various suggestions. I believe line 77 in the interchain accounts host relay.go can also be removed since that is a write for a cached context. Line 126 is needed since it emits events on the context for the handling of a msg
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.
LGTM, I just left some suggestions on improving the in-code comments
@@ -74,7 +74,6 @@ func (k Keeper) executeTx(ctx sdk.Context, sourcePort, destPort, destChannel str | |||
} | |||
|
|||
// NOTE: The context returned by CacheContext() creates a new EventManager, so events must be correctly propagated back to the current context | |||
ctx.EventManager().EmitEvents(cacheCtx.EventManager().Events()) |
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.
Note the safety here is that the cached context is being used to cache execution of all msg executions. We use another cache context for each individual message execution (which emits events using result events since message handler will construct a new event manager)
ie
cacheCtx, writeCacheCtx:= ctx.CacheContext()
for msg := rangs msgs {
cacheCtxInner, writeCacheCtxInner:= cacheCtx.CacheContext()
res, err := handler(msg) // does not set emitted events in cacheCtxInner
if err != nil {
// all changes discarded
}
emitEvents(res.Events()) // emit events otherwise not written
writeCacheContextInner()
}
writeCacheCtx() // writes events
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.
++
if ack == nil || ack.Success() { | ||
// write application state changes for asynchronous and successful acknowledgements | ||
writeFn() | ||
} else { | ||
// NOTE: The context returned by CacheContext() refers to a new EventManager, so it needs to explicitly set events to the original context. | ||
// Events should still be emitted from failed acks and asynchronous acks |
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.
// Events should still be emitted from failed acks and asynchronous acks | |
// events are emitted for asynchronous and failed acknowledgements |
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.
Wahoo! Nice work!
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.
Thanks @charleenfei 🚀 LGTM!
As a side note, in general I'm a little bit sceptical of the new cache ctx functionality. I think its a little bit misleading wrt msg execution. It seemed to cause issues and misunderstandings in the sdk. As long as everyone can agree to never discard the sdk.Result
value on msg execution then I'm happy enough with it, just to me it seems a little bit error prone.
@@ -74,7 +74,6 @@ func (k Keeper) executeTx(ctx sdk.Context, sourcePort, destPort, destChannel str | |||
} | |||
|
|||
// NOTE: The context returned by CacheContext() creates a new EventManager, so events must be correctly propagated back to the current context | |||
ctx.EventManager().EmitEvents(cacheCtx.EventManager().Events()) |
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.
++
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.
LGTM! The two e2e failures look setup related, not due to this PR
can you point to an example of this? (non-discarding the sdk.Result) |
(cherry picked from commit c912fd9)
(cherry picked from commit c912fd9)
Sure. Check out these PRs on the sdk to fix the events in x/gov and x/group:
In both cases the |
amazing thanks @damiannolan |
* 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 <crodveg@gmail.com> Co-authored-by: Cian Hatton <cian@interchain.io> * 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 <carlos@interchain.io> Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * fix: forbid negative values for trusting period, unbonding period and max clock drift (#2555) Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * 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 <crodveg@gmail.com> * 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 <damiannolan@gmail.com> Co-authored-by: Damian Nolan <damiannolan@gmail.com> * Update package-lock.json (#2569) Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * Update package-lock.json (#2570) Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * 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 <crodveg@gmail.com> * 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 <charly@interchain.berlin> * Update docs/apps/interchain-accounts/messages.md Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * applying suggestions from review * updating future improvements section of active channels Co-authored-by: Charly <charly@interchain.berlin> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * 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 <carlos@interchain.io> * 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 <carlos@interchain.io> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * 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 <31522760+fedekunze@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * 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 <cian@interchain.io> * updating error msgs and test case assertion * updating InitGenesis to set middleware disabled Co-authored-by: Cian Hatton <cian@interchain.io> * Removing stale comment (#2685) * chore: removing stale comment * Update modules/apps/27-interchain-accounts/controller/keeper/msg_server.go Co-authored-by: Damian Nolan <damiannolan@gmail.com> * chore: fixing indentation Co-authored-by: Damian Nolan <damiannolan@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * post release chores (#2695) Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * 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 <cian@interchain.io> * 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 <crodveg@gmail.com> * 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] <support@github.com> * revert bump of tendermint to v0.35 * go mod tidy Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * chore: e2e for ICA reopening (#2720) Co-authored-by: crodriguezvega <carlos@interchain.io> * 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] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> 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 <crodveg@gmail.com> * 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 <crodveg@gmail.com> * 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 <crodveg@gmail.com> * 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 <crodveg@gmail.com> * 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 <carlos@interchain.io> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * 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 <carlos@interchain.io> * 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 <carlos@interchain.io> * 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] <support@github.com> * chore: downgrade tendermint version * chore: go mod tidy e2e go module 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> Co-authored-by: Damian Nolan <damiannolan@gmail.com> * 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 <crodveg@gmail.com> * 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] <support@github.com> * fix conflicts * bump grpc in e2e Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * 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 <25233464+colin-axner@users.noreply.github.com> Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com> * 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 <carlos@interchain.io> * 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 <carlos@interchain.io> * 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 <charly@interchain.io> * Update docs/ibc/light-clients/client-state.md Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * adding tests to lightclients * updating 02-client tests Co-authored-by: Charly <charly@interchain.io> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * 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 <carlos@interchain.io> Co-authored-by: Cian Hatton <cian@interchain.io> * 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] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * 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] <support@github.com> * downgrade SDK and Tendermint versions * go mod tidy in e2e Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: crodriguezvega <carlos@interchain.io> * 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 <charly@interchain.io> Co-authored-by: Charly <charly@interchain.io> * review updates * clean up * docs: update consensus state docs (#2937) Co-authored-by: Charly <charly@interchain.io> * 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 <carlos@interchain.io> * updating code snippet formatting * tiny nits Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * 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] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> 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 <carlos@interchain.io> Co-authored-by: Carlos Rodriguez <crodveg@gmail.com> * 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] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> 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] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * 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 <carlos@interchain.io> * chore(statemachine)!: write channel state before invoking app callbacks in ack and confirm channel handshake steps (#2973) Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * 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 <damiannolan@gmail.com> Co-authored-by: Damian Nolan <damiannolan@gmail.com> * 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] <support@github.com> * go mod tidy in e2e Signed-off-by: dependabot[bot] <support@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: crodriguezvega <carlos@interchain.io> * temporarily update dockerfile to add all (#3050) * deps: update cosmos-sdk buf dependency and rebuild protos (#3024) Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * 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] <support@github.com> * go mod tidy e2e Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Damian Nolan <damiannolan@gmail.com> * 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] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> 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] <support@github.com> * go mod tidy in e2e Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: crodriguezvega <carlos@interchain.io> * 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 <markobaricevic3778@gmail.com> Co-authored-by: Cian Hatton <cianhatton@gmail.com> * 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 <damiannolan@gmail.com> Co-authored-by: Cian Hatton <cianhatton@gmail.com> Co-authored-by: Charleen Fei <charly@interchain.io> Co-authored-by: Zaki Manian <zaki@manian.org> * 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] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Damian Nolan <damiannolan@gmail.com> …
Description
NOTE: e2e tests in this pr have a dependency on this bump to SDK 0.464
closes: #2646
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