Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FlushStatus Checks to RecvPacket #3914

Conversation

chatton
Copy link
Contributor

@chatton chatton commented Jun 21, 2023

Description

closes: #3876


Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

  • Targeted PR against correct branch (see CONTRIBUTING.md).
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
  • Code follows the module structure standards and Go style guide.
  • Wrote unit and integration tests.
  • Updated relevant documentation (docs/) or specification (x/<module>/spec/).
  • Added relevant godoc comments.
  • Provide a commit message to be used for the changelog entry in the PR description for review.
  • Re-reviewed Files changed in the Github PR explorer.
  • Review Codecov Report in the comment section below once CI passes.

Copy link
Contributor

@crodriguezvega crodriguezvega left a comment

Choose a reason for hiding this comment

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

Thanks, @chatton! I left a couple of comments.

@@ -136,7 +136,8 @@ func (k Keeper) RecvPacket(
return errorsmod.Wrap(types.ErrChannelNotFound, packet.GetDestChannel())
}

if channel.State != types.OPEN {
counterpartyLastPacketSent, _ := k.GetCounterpartyLastPacketSequence(ctx, packet.GetDestPort(), packet.GetDestChannel())
if channel.State != types.OPEN && (channel.FlushStatus != types.FLUSHING || counterpartyLastPacketSent > packet.GetSequence()) {
Copy link
Contributor

Choose a reason for hiding this comment

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

I find it easier to reason about like this:

Suggested change
if channel.State != types.OPEN && (channel.FlushStatus != types.FLUSHING || counterpartyLastPacketSent > packet.GetSequence()) {
if !(channel.State == types.OPEN || (channel.FlushStatus == types.FLUSHING && packet.GetSequence() <= counterpartyLastPacketSent)) {

Copy link
Contributor

Choose a reason for hiding this comment

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

we typically go with the approach of negating the spec conditions right? I do agree with you though that this makes it easier to reason (and, as a result, implement)

Copy link
Contributor

@charleenfei charleenfei Jun 30, 2023

Choose a reason for hiding this comment

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

agree with @crodriguezvega it's easier to reason about this way, made a small adjustment to the code

Copy link
Contributor

Choose a reason for hiding this comment

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

should we actually add a condition in the code that if the channel is CLOSED then we can't recv packets? kinda weird if we can receive packets then right?

Copy link
Contributor

@DimitrisJim DimitrisJim Jun 30, 2023

Choose a reason for hiding this comment

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

we shouldn't be able to. If state is CLOSED, flush status should be NOTINFLUSH and the condition should resolve to true (but see this comment #3914 (comment), I don't think its currently defined when a close can occur)

Copy link
Contributor

Choose a reason for hiding this comment

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

oh! didnt see that comment, thanks! yea. that makes sense.

@@ -318,6 +318,58 @@ func (suite *KeeperTestSuite) TestRecvPacket() {
// attempts to receive packet 2 without receiving packet 1
channelCap = suite.chainB.GetChannelCapability(path.EndpointB.ChannelConfig.PortID, path.EndpointB.ChannelID)
}, true},
{
msg: "success with closed channel: FLUSHING status",
Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm, maybe the condition in RecvPacket needs to be tweaked a bit more? Because I would find it strange that the channel is closed but you can still receive the packet... Is it possible to even be in such state (channel closed and in flushing status)? I would expect the channel state in the test to be more like INITUPGRADE or TRYUPGRADE, right?

Copy link
Contributor

Choose a reason for hiding this comment

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

I think it currently is possible to be in such a state if a message to close the channel is submitted during the upgrade handshake? Even if I'm missing something and that isn't possible we should definitely amend the channel closing handlers to set the flushing status to NOTINFLUSH.

@@ -136,7 +136,8 @@ func (k Keeper) RecvPacket(
return errorsmod.Wrap(types.ErrChannelNotFound, packet.GetDestChannel())
}

if channel.State != types.OPEN {
counterpartyLastPacketSent, _ := k.GetCounterpartyLastPacketSequence(ctx, packet.GetDestPort(), packet.GetDestChannel())
if channel.State != types.OPEN && (channel.FlushStatus != types.FLUSHING || counterpartyLastPacketSent > packet.GetSequence()) {
return errorsmod.Wrapf(
types.ErrInvalidChannelState,
"channel state is not OPEN (got %s)", channel.State.String(),
Copy link
Contributor

Choose a reason for hiding this comment

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

The error message should be updated as well, right?

Copy link
Contributor

Choose a reason for hiding this comment

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

let me know what you think of the updated message

@DimitrisJim
Copy link
Contributor

pushing here too with Cian's blessing

@DimitrisJim DimitrisJim added the channel-upgradability Channel upgradability feature label Jun 23, 2023
Comment on lines 330 to 353
// Move channel to correct state.
path.EndpointA.ChannelConfig.ProposedUpgrade.Fields.Version = ibcmock.UpgradeVersion
path.EndpointB.ChannelConfig.ProposedUpgrade.Fields.Version = ibcmock.UpgradeVersion

err = path.EndpointB.ChanUpgradeInit()
suite.Require().NoError(err)

err = path.EndpointA.ChanUpgradeTry()
suite.Require().NoError(err)

err = path.EndpointB.ChanUpgradeAck()
suite.Require().NoError(err)
Copy link
Contributor

Choose a reason for hiding this comment

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

by default ends up in [ACKUPGRADE, FLUSHING]. The fact that we have sent a packet before the upgrade should mean even after we make the changes in #3928, this will still be in FLUSHING. Correct me if I'm wrong (and we can set the flush status manually here).

true,
},
{
"failure with closed channel counterparty sequence > packet sequence",
Copy link
Contributor

Choose a reason for hiding this comment

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

only setting channel to closed, flush status stays NOTINFLUSH so we are only checking the counterparty sequence > packet sequence part of the if.

Copy link
Contributor

Choose a reason for hiding this comment

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

also, if the counterparty sequence > packet sequence shouldn't the tx actually work? in this case it's only failing bc the flushstatus is NOTINFLUSH

@DimitrisJim DimitrisJim force-pushed the cian/issue#3876-add-flush-status-check-in-recvpacket- branch from a2ce0f2 to b590bed Compare June 23, 2023 14:01
Base automatically changed from cian/issue#3875-add-flush-status-check-in-sendpacket- to 04-channel-upgrades June 28, 2023 20:35
@DimitrisJim DimitrisJim force-pushed the cian/issue#3876-add-flush-status-check-in-recvpacket- branch from b590bed to 9396ea4 Compare June 29, 2023 19:34
@DimitrisJim
Copy link
Contributor

rebased since history got messy after the base branch was automatically changed and tweaked a final thing. believe this should be r4r

return errorsmod.Wrapf(
types.ErrInvalidChannelState,
"channel state is not OPEN (got %s)", channel.State.String(),
"packets cannot be received on channel with state (%s) and flush status (%s)", channel.State, channel.FlushStatus,
Copy link
Contributor

Choose a reason for hiding this comment

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

The error message will not provide enough information if the channel is not open and flushing, but the packet sequence is > counterpartyLastPacketSent. I guess it would be very informative if we have different error messages depending on the condition that was not satisfied?

…of github.com:cosmos/ibc-go into cian/issue#3876-add-flush-status-check-in-recvpacket-
@charleenfei charleenfei marked this pull request as ready for review June 30, 2023 11:46
@chatton
Copy link
Contributor Author

chatton commented Jul 3, 2023

ACK the latest changes made by @charleenfei, the new condition looks good. I think it is still quite complex, but the added context to the error message should provide enough clarity as to the purpose of the checks!

@DimitrisJim
Copy link
Contributor

Also lgtm but since I was also slightly involved with this I'd rather leave someone else to also give it a view.

@@ -33,7 +33,14 @@ func (k Keeper) SendPacket(
return 0, errorsmod.Wrap(types.ErrChannelNotFound, sourceChannel)
}

if channel.State != types.OPEN {
if channel.FlushStatus != types.NOTINFLUSH {
Copy link
Member

@damiannolan damiannolan Jul 4, 2023

Choose a reason for hiding this comment

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

The following is duplicated below on L50?

if channel.FlushStatus != types.NOTINFLUSH {
	return 0, errorsmod.Wrapf(types.ErrInvalidFlushStatus, "expected flush status to be %s during packet send, got %s", types.NOTINFLUSH, channel.FlushStatus)
}

This check is also included in the expression on L43?

We can do both checks and use || but the error info would need to include both channel state and flush status. Or we can do both checks one after another which I'd be happy enough with too.

fwiw I think its an invalid/unreachable state to have state == OPEN and flushStatus != NOTINFLUSH

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good catch, this check is duplicated, I think this is due to branching off the SendPacket branch before this was fixed. I think we can remove all changes to SendPacket in this PR.

Comment on lines 136 to 152
if channel.State != types.OPEN {
counterpartyLastPacketSent, _ := k.GetCounterpartyLastPacketSequence(ctx, packet.GetDestPort(), packet.GetDestChannel())

if channel.State != types.OPEN && !(channel.FlushStatus == types.FLUSHING && packet.GetSequence() <= counterpartyLastPacketSent) {
return errorsmod.Wrapf(
types.ErrInvalidChannelState,
"channel state is not OPEN (got %s)", channel.State.String(),
"packets cannot be received: either channel with non OPEN state (%s) & not in upgrade, or channel is in upgrade but flush status (%s) is not FLUSHING & packet sequence %d must be less than or equal to counterparty last packet sent sequence %d",
channel.State,
channel.FlushStatus,
packet.GetSequence(),
counterpartyLastPacketSent,
Copy link
Member

@damiannolan damiannolan Jul 4, 2023

Choose a reason for hiding this comment

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

I definitely found this section pretty hard to parse and reason about. Looks like there was already some discussion in another thread about it.

I find it a bit complex to mix a channel state assertion with the && expression which opens the door for unexpected channel states to slip through. So here, we are only going to fail the recv packet tx if the channel state is not OPEN AND the channel state is not flushing and the sequencing is all good.

So if we are in UPGRADETRY or UPGRADEACK, or any other state for that matter then the first part of the expression will evaluate as false.

What do you think about explicitly checking the expected channel states? I would be more confident in the code and see less room for unexpected states to slip through the cracks with something like:

if !collections.Contains(channel.State, []types.State{types.OPEN, types.TRYUPGRADE, types.ACKUPGRADE}) {
	return errorsmod.Wrapf(types.ErrInvalidChannelState, "channel state is not OPEN (got %s)", channel.State.String())
}

if counterpartyLastSequenceSend, found := k.GetCounterpartyLastPacketSequence(ctx, packet.GetDestPort(), packet.GetDestChannel()); found {
	if channel.FlushStatus != types.FLUSHING && packet.GetSequence() > counterpartyLastSequenceSend {
		return errorsmod.Wrap(types.ErrInvalidChannelState, "something meaningful")
	}
}

I think we can also make use of the found bool with last sequence send instead of discarding it

Copy link
Member

@damiannolan damiannolan Jul 4, 2023

Choose a reason for hiding this comment

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

Slightly related #4001 - I noticed counterpartyLastSequenceSend was never being set in store within the upgrade handshake

Copy link
Contributor Author

@chatton chatton Jul 4, 2023

Choose a reason for hiding this comment

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

I'm a big fan of this change actually, it makes things far more readable.

Copy link
Contributor

Choose a reason for hiding this comment

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

note the last conditional should be ||, righto?

Copy link
Contributor

@DimitrisJim DimitrisJim Jul 4, 2023

Choose a reason for hiding this comment

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

I think it might also make sense to add a comment that the second check for the last seq sent is only meaningful for UPGRADETRY/ACK?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Currently the tests pass with both || and && so I think we don't have enough test coverage 😅

Copy link
Contributor Author

Choose a reason for hiding this comment

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

But yes I believe || is correct here! If either of those conditions are false we should error.

Copy link
Contributor

Choose a reason for hiding this comment

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

also, for anyone else reviewing, the original condition was completely flipped with Damians suggestion, hence why we can break the giant if in two smaller ones. && cannot be broken directly like this but since it was flipped to an || it can, this kept me up a bit.

"channel state is not OPEN (got %s)", channel.State.String(),
)
if !collections.Contains(channel.State, []types.State{types.OPEN, types.TRYUPGRADE, types.ACKUPGRADE}) {
return errorsmod.Wrapf(types.ErrInvalidChannelState, "channel state was not one of [%s, %s, %s] (got %s)", types.OPEN.String(), types.TRYUPGRADE.String(), types.ACKUPGRADE.String(), channel.State.String())
Copy link
Contributor

Choose a reason for hiding this comment

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

Note that directly calling String here isn't necessary (also see #3946). I'll leave it to your discretion to choose, we can change all these in a later PR.

Copy link
Member

@damiannolan damiannolan left a comment

Choose a reason for hiding this comment

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

Nice! I just left some suggestions on error msgs :)

"channel state is not OPEN (got %s)", channel.State.String(),
)
if !collections.Contains(channel.State, []types.State{types.OPEN, types.TRYUPGRADE, types.ACKUPGRADE}) {
return errorsmod.Wrapf(types.ErrInvalidChannelState, "channel state was not one of [%s, %s, %s] (got %s)", types.OPEN.String(), types.TRYUPGRADE.String(), types.ACKUPGRADE.String(), channel.State.String())
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
return errorsmod.Wrapf(types.ErrInvalidChannelState, "channel state was not one of [%s, %s, %s] (got %s)", types.OPEN.String(), types.TRYUPGRADE.String(), types.ACKUPGRADE.String(), channel.State.String())
return errorsmod.Wrapf(types.ErrInvalidChannelState, "expected channel state to be one of [%s, %s, %s], but got %s", types.OPEN.String(), types.TRYUPGRADE.String(), types.ACKUPGRADE.String(), channel.State.String())

// and that the counterparty last sequence send is less than or equal to the packet sequence.
if counterpartyLastSequenceSend, found := k.GetCounterpartyLastPacketSequence(ctx, packet.GetDestPort(), packet.GetDestChannel()); found {
if channel.FlushStatus != types.FLUSHING || packet.GetSequence() > counterpartyLastSequenceSend {
return errorsmod.Wrapf(types.ErrInvalidChannelState, "expected channel flush status to not be (%s) and for the packet sequence (%d) to be less than or equal to the counterparty last sequence send (%d)", types.FLUSHING.String(), packet.GetSequence(), counterpartyLastSequenceSend)
Copy link
Member

Choose a reason for hiding this comment

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

I wonder could we improve this error and msg a bit. I'm not sure if this is much better but it would be good to indicate that we expect the channel to be flushing when the counterparty last seq send is set.

"expected channel flush status to be FLUSHING when counterparty last sequence send (100) is set, failed to recv packet at sequence (99)"

we could also change to ErrInvalidFlushStatus maybe? what do you think?

Suggested change
return errorsmod.Wrapf(types.ErrInvalidChannelState, "expected channel flush status to not be (%s) and for the packet sequence (%d) to be less than or equal to the counterparty last sequence send (%d)", types.FLUSHING.String(), packet.GetSequence(), counterpartyLastSequenceSend)
return errorsmod.Wrapf(types.ErrInvalidFlushStatus, "expected channel flush status to be (%s) when counterparty last sequence send (%d) is set, failed to recv packet (%d)", types.FLUSHING, counterpartyLastSequenceSend, packet.GetSequence())

Copy link
Contributor

Choose a reason for hiding this comment

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

won't this fail if the channel is just in a normal OPEN state and NOTINFLUSH? am i misreading something

Copy link
Contributor

Choose a reason for hiding this comment

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

ah, it's only run if the counterpartyLastSeq send is found, which would only happen if we are in the upgrade process I guess.

Copy link
Contributor

@charleenfei charleenfei left a comment

Choose a reason for hiding this comment

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

nice one bringing it over the line <3

@chatton chatton merged commit 92f9e56 into 04-channel-upgrades Jul 5, 2023
@chatton chatton deleted the cian/issue#3876-add-flush-status-check-in-recvpacket- branch July 5, 2023 14:31
crodriguezvega pushed a commit that referenced this pull request Jan 4, 2024
* updat MsgUpgradeTimeout resp, add getter directives (#3858)

* ChanUpgradeOpen callback should not return an error. (#3899)

* chore: pr review followups (#3901)

* Remove error return from OnChanUpgradeRestore. (#3902)

* chore: refactor `chanUpgradeAck` tests to use expected errors (#3843)

* updating tests to use expError in favour of expPass bool

* move write fn under chanUpgradeAck

* make expPass construction two lines instead of one

---------

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

* adding result to MsgChannelUpgradeAckResponse (#3845)

Co-authored-by: Charly <charly@interchain.io>

* update upgrade seq comparison in `ChanUpgradeTimeout` (#3905)

* update upgrade seq comparison

* pr suggestions

* Implement MsgChannelUpgradeCancel message server handler (#3848)

* `ChanUpgradeTimeout` `msg_server` function (#3855)

* writeupgradetimeout method, pull in util methods

* rm Equal directive (#3908)

* feat: adding msg server implementation for `ChannelUpgradeAck` (#3849)

* adding boilerplate skeleton for chanUpgradeAck handler

* updating msg servers args

* adding test scaffolding and syncing latest changes of feat branch

* configure both proposed upgrades to use mock.UpgradeVersion

* updating chanUpgradeAck test cases

* updating var naming for consistency, adding additional testcases

* rm msg server implementation

* adding invalid flush status err and rm lint ignore comment

* adding test helpers to endpoint for get/set channel upgrade

* lint it

* adding initial msg server impl skeleton

* pull in code for WriteUpgradeAckChannel

* adding result to MsgChannelUpgradeAckResponse

* add initial test cases

* adding additional testcases

* apply testcase naming review suggestions

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

* apply error return wrapping suggestions from review

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

* fix error to use Wrapf and correct channel id arg, adding success log

* correct testing imports and satisy linter

* apply self suggestions for testcase context with in-line comments

* updating test func to use path.EndpointA and chainA sender acc

---------

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

* chore: make error wrapping and logging consistent for upgrade try msg server (#3913)

* make error wrapping and logging consistent for upgrade try msg server

* standardise logging

* chore: use new version return in transfer app for testing relayers (#3927)

* Remove generation of getters for upgrade types. (#3951)

* Add a check for connection state in UpgradeAck. (#3954)

* update WriteUpgradeTry to change flush status to `FLUSHCOMPLETE` if there are no packet commitments left (#3964)

* Add flush status check in SendPacket  (#3912)

* Add ChanUpgradeOpen core handler. (#3844)

* Add ChanUpgradeOpen core handler.

* Tests tests tests.

* Update upgrade open handler based on feedback.

* Reformat testing approach.

* Move counterpartyhops assignment inline.

* Check err of SetChannelState.

* Address feedback.

* Remove uneeded modification of version.

* Add flushing check to WriteUpgradeAckChannel (#3976)

* chore: adding check for in flight packets in WriteUpgradeAckChannel

* added test for TestWriteUpgradeAckChannel

* linter

* add client update to UpgradeAckChannel test

* mv test

* merge

* fix post-merge

* fix merge issues

* review comment

---------

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

* remove depguard from golangci-lint (#4000)

* Set channel state to NOTINFLUSH when Closing (#3995)

* Set Counterparty Last Sequence Send (#4005)

* Add FlushStatus Checks to RecvPacket (#3914)

* Add implementation for message server handling of ChanUpgradeOpen. (#3895)

* Add implementation for message server handling of ChanUpgradeOpen.

* Add tests for msg_server.

* Address review feedback.

* Remove setting of flush status.

* Apply suggestions from code review

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

* Address rest of review comments.

---------

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

* helper function for validating a counterparty upgrade against the selfupgrade (#4016)

* Make AbortUpgrade panic on failure (#4011)

* chore: update abort upgrade function to panic on error

* apply review suggestions

---------

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

* Amend AcknowledgePacket to handle flushing (#3922)

* Amend Ack packet to keep acknowledging if we're in the process of flushing pre-upgrade packets.

* Use handshake to reach correct state before mutating any fields.

* Add test to verify post-ack channel state after last in-flight packet.

* Remove unecessary modifications of version for non initializing channel end.

* Test both cases: final in-flight packet and non-final one.

* Apply suggestions from code review

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

* Remove manual setting of flush status.

* Update test name, pass mock version to both channels.

---------

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

* Amend timeout to handle in-flight packets. (#3923)

* Amend timeout to handle in-flight packets.

* Update timeout handler per spec.

* Update tests to test for toggling of flush status.

* Fix small typos in docstring.

---------

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

* change comment

* chore: adding callback for OnChanUpgradeRestore in abort scenarios (#4051)

* Pass in counterparty portID, channelID when verifying channel in ChanUpgradeOpen. (#4052)

* Pass in counterparty portid, channelid.

* use direct check on err.

* Force distinct channel identifiers when testing UpgradeOpen.

* Remove manual setting of flush status in ChanUpgradeOpen. (#4064)

* Use counterparty portid, channelid when verifying channel upgrade error. (#4063)

* feat: adding `OnChanUpgradeInit` handler implementation to `29-fee` (#4019)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

---------

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

* feat: adding `OnChanUpgradeTry` handler implementation for `29-fee` (#4023)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

---------

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

* feat: adding `OnChanUpgradeAck` handler implementation to `29-fee` (#4028)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding onChanUpgradeAck implementation to 29-fee, adding tests

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

* updating to use types.MetadataFromVersion in OnChanUpgradeAck

* updating tests to add additional checks

---------

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

* Use counterparty connection hops when verifying channel state (#4074)

* use counterparty conn hops.

* Clean up tests.

* Amend inline comment slightly.

* Address nits

---------

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

* chore: adding comment to 29-fee OnChanUpgradeOpen callback (#4123)

* Add tests for WriteUpgradeOpenChannel. (#4077)

* Add tests for WriteUpgradeCancel. (#4076)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck. (#4075)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck.

* Add comment noting that counterparty flush status has been verified before usage.

* Fix failing tests.

* imp: use HasInflightPackets to check if channel has finished flushing. (#4134)

* feat: adding `OnChanUpgradeInit` implementation to transfer (#4126)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* updating to use NewTranferPath in test func

* address pr comment - reformat error msg

* Remove superfluous ignore directive. (#4158)

* feat: adding OnChanUpgradeTry implementation to transfer (#4137)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* adding onChanUpgradeTry impl for transfer app, adding tests

* updating to use NewTranferPath in test func

* restructure error formatting

* Call app callback after writting state in Cancel and Timeout. (#4166)

* helper function to clear state stored during an upgrade (#4147)

* add `IsUpgradError` func for readability (#4144)

* add IsUpgradeError function

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

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* gofumpt

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

Co-authored-by: Charly <charly@interchain.io>

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* add check that channel exists in upgrade gRPCs (#4156)

* add check that channel exists

* use has function instead

* consistent connection lookup calls in 04-channel (#4146)

* nit: error formatting improvements for channel upgrades (#4097)

* string formatting improvements

* fix typo

* review comment

* review comment

* review comment

* review comment

* added test for event emission (#4020)

* feat: implement `OnChanUpgradeAck` for transfer (#4215)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly (#4221)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly

* lint me

* rm duplicate test from merge

* test: adding test for events in channel upgrade try (#4226)

* Add store functions for counterparty upgrade. (#4293)

* Add store functions for counterparty upgrade.

* Apply suggestions from code review

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

---------

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

* Add FLUSHING/FLUSHCOMPLETE to Channel state. (#4300)

* feat: adding `ChannelUpgradeConfirm` rpc and msgs (#4302)

* adding protobuf msgs and rpc service definition

* adding empty boilerplate method stub

* register msg codec and add sdk.Msg impl + tests

* chore: move verification before startFlushUpgradeHandshake (#4285)

* rebase `04-channel-upgrades` branch (#4160)

* update with latest changes from main

* fix conflicts in e2e

* make invalid version constant

* fix linter by using constant instead of literal

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Revert "rebase `04-channel-upgrades` branch (#4160)"

This reverts commit d5e63d40695adc6c1aad16160ea3bf655251825c.

* rm unnecessary test matrix file

* make lint-fix

* satisfy revive linter

* updating feature banch ci workflow for golangci-lint

* bumping golangci-lint action to v3.6.0

* define go version as string in workflow

* Delete counterparty upgrade in deleteUpgradeInfo. Move function to keeper. (#4294)

* Remove check for counterparty timeout in ChanUpgradeTry. (#4301)

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

* Store counterparty upgrade after ack finishes. (#4299)

* call verification of counterparty channel, upgrade in upgradetry. (#4310)

* Add verification calls in ChanUpgradeAck. (#4312)

* Add ChanUpgradeConfirm to endpoint. (#4314)

* Remove verification calls in StartFlushUpgradeHandshake (#4317)

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

* test: add events test for ChannelUpgradeTimeout (#4284)

* test: add event emission test for ChanUpgradeCancel (#4281)

* Check counterparty timeout hasn't elapsed in ChanUpgradeAck. (#4305)

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

* refactor: modify `ChannelUpgradeInit` to only store upgrade fields (#4344)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* Add test for event emission ChanUpgradeAck (#4228)

* test: add event test for chan upgrade ack

* gofumpt file

---------

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

* Adding test for events for ChanUpgradeOpen (#4230)

* test: adding test for events for chan upgrade open

* Update upgrade_test.go

---------

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

* Move check to fail on incompatible upgrade after proof verification. (#4320)

* Move check to fail on incompatible upgrade after proof verification.

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

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

* lint fix

---------

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

* Add functions checkForUpgradeCompatibility and syncUpgradeSequence (#4352)

* refactor: modify upgrade init to not change channel state (#4357)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* address nits from pr review

* refactor: cleanup upgrade init app callback args (#4359)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* refactor: rm unnecessary args in application upgrade init callback

* Add WriteUpgradeConfirm function. (#4303)

* Add WriteUpgradeConfirm function.

* Add some sweet godoc for this bad boy.

* Apply suggestions from code review

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

---------

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

* Modify startFlushUpgradeHandshake to be used as a write function (#4360)

* Remove restore logic in upgrade TRY handler (#4362)

* refactor: remove `FlushStatus` from ack handler and msg (#4364)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Amend checkForUpgradeCompatibility to check that versions match (#4366)

* refactor: modify ack handler expected channel state (#4371)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Channel Upgrade Ack (#4372)

* feat: adding `chanUpgradeConfirm` implementation to `04-channel` (#4373)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* feat: adding msg server implementation for `ChanUpgradeConfirm` (#4376)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Remove check on flush status for send packet. (#4384)

* Remove check on flush status for send packet.

* Rename test, remove duplicate test.

* Channel Upgrade Open (#4379)

* Implement Channel Upgrade Cancel (#4404)

* Refactor `TestWriteUpgradeCancelChannel` (#4424)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

* refactor: updated ChanUpgradeOpen keeper function to match spec

* chore: fixing tests for ChannelUpgradeOpen

* chore: added test case for invalid counterparty channel state

* chore: adding new implementation for ChannelUpgradeClose

* chore: fix TestWriteUpgradeCancelChannel

* chore: addressing feedback

* chore: simplified test cases

* chore: fix linter

* chore: remove duplicate connection test

* Apply suggestions from code review

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

* refactor TestWriteUpgradeCancelChannel to use table tests

* delete unused variable

* lint

* update check panic

* update from code review

* Apply suggestions from code review

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Refactor `TestWriteUpgradeOpenChannel` (#4431)

* refactor TestWriteUpgradeOpenChannel to use table tests

* Apply suggestions from code review

* lint

* revert AttributeKeyUpgradeChannelFlushStatus

---------

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

* refactor: acknowledgePacket handling flushing / flush complete state  (#4412)

* refactor: handle flush complete channel state transition in acknowledgePacket

* wip: adding testcases for acknowledgePacket with flushing state

* lint: make lint-fix

* test: adding assertFn temporarily to tests to provide after test state checks

* set counterparty upgrade on write try fn

* Add UpgradeTimeout as a params field in the channel submodule (#4411)

* Refactor TestWriteUpgradeTry to remove flush status checks (#4430)

* refactor: use `expResult` in acknowledgePacket tests (#4439)

* refactor: adapt acknowledgePacket tests to use expResult func

* cleanup: removing redundant stale tests

* fix: assert ErrInvalidProof for verification failure. modify suite.Run tc naming

* Implement ChanUpgradeTimeout with spec changes (#4438)

* Amend recvPacket as per spec. (#4386)

* Amend recvPacket as per spec.

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

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

* Drop usage of CounterpartyLastSequenceSend.

* Cover all cases.

* Use SetChannelCounterpartyUpgrade.

* Add expected errors, remove duplicate test.

* Remove setting of counterparty last sequence send in other test case.

* Shorthand initialization of dummy upgrade.

* Apply suggestions from code review

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

---------

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Update error receipt event emission to use correct event type (#4451)

* Account for moving channel state to flush complete in timeout processing (#4425)

* Remove init, try, ack upgrade states (#4455)

* refactor: remove `FlushStatus` from channel end (#4457)

* refactor: remove flush status from channel end

* remove flush status enum

* address pr review comments and remove additional refs in comments

* Refactor channel upgradability msgs to reflect updated spec (#4456)

* Amend timeoutPacket to allow timeouts on any channel state. (#4367)

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

* Refactor recvPacket tests to use expError. (#4471)

* Refactor recvPacket tests to use expError.

* Use testify's ErrorIs.

* refactor: remove counterparty last sequence send state entry (#4473)

* Don't write channel to state when not modified. (#4495)

* refactor: rename channel upgradability flush states (#4488)

* Don't emit event information for unchanged upgrade. (#4492)

* Add tests for WriteUpgradeConfirm. (#4490)

* Allow receiving of packets if the counterparty latest sequence send has not been set (#4480)

* allow receiving of packets if the counterparty latest sequence send has not been set.

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

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

* Address feedback, lint fix.

* STATUS_FLUSHING -> FLUSHING

---------

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

* chore: re-enable disabled test case in `chanUpgradeTry` (#4501)

* Resolve commented out testcases for Channel Upgrades (#4474)

* refactor: adding additional upgrade fields args to onChanUpgradeOpen (#4478)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm (#4491)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm

* fix: adapt failing test and format

* fix: resolve compiler breakage of enum naming

* Use only timestamp only for upgrade timeouts. (#4482)

* Timing out packets on ordered channels when in flushing state aborts upgrade and closes channel (#4475)

* Change UpgradeTimeout to from absolute to relative (#4511)

* refactor: fee middleware onChanUpgradeInit callback (#4514)

* refactor: fee middleware onChanUpgradeTry callback (#4515)

Co-authored-by: Cian Hatton <cian@interchain.io>

* refactor: implementation for onChanUpgradeAck ics29 (#4523)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl (#4524)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* adding comment to discarded return arg

* test: adding integration test for fee transfer channel upgrade (#4533)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* test: adding integration test for fee transfer channel upgrade

* fix: check that `MsgChannelUpgradeInit` is signed by authority (#4773)

* Chore: consistent argument order (#4545)

* order arguments

* Revert "order arguments"

This reverts commit 2de37271e6f19b77e01cef65a1120a663486c040.

* reorder arguments of channel upgrade verify functions

* missing changes

---------

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

* Add ParseProposalIDFromEvents helper function (#4942)

* add ParseProposalIDFromEvents

* update with damian suggest

* imp: remove `LatestSequenceSend` (#5108)

* del: latestsequencesend field

* fix: comment

* gofumpt

* del: tests

* del leftover tests part

* adressing comments

* addressing comment

---------

Co-authored-by: sangier <stefano@Stefanos-MacBook-Pro.local>
Co-authored-by: sangier <stefano@interchain.io>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* chore: rebase 04-channel-upgrades feature branch (#5085)

* move legacy keytable init to migration handler code (#4730)

* deps: bump SDK v0.50-rc.1 (#4763)

* test: run tests of all go.mods (#4468)

* test: run tests of all go.mods

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

* Remove +build directive which is deprecated, remove tparse hadnling in Makefile.

* Add sdk script, remove LINT_DIFF.

* Fix linting issues that popped up.

* Add script to run tests for all modules.

* chore: add executible permissions to script, rename to avoid shadowing dir builtin

* chore: use python3 instead of python

* chore: add venv to gitignore

* Disallow env vars not being set, clean up minor issues.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* docs: some more v8 migration docs (#4728)

* docs: some more migration docs

* alignment

* alignment 2

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* update about proposals

* update docs after putting back legacy proposals

* add links for gov v1 messages

* update link of importable workflow

* add information about facilities to test upgrade

* add notes about cosmos sdk v0.50 upgrading guide

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* add extra info about authority and merkle path functions that have been removed

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* deps: bump mod/capability to v1.0.0-rc6 (#4768)

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* Fix e2e-upgrade.yaml complaint. (#4772)

* deps(docs): bump docusaurus from v2.4.1 to v2.4.3

* Fix e2e linting issues. (#4767)

* test extra conditions for `ApplyPrefix` (#4764)

* test extra conditions

* review comment

* Add codec registrations tests for apps (#4780)

* Add test for type registration for transfer.

* Add test for type registration for fee.

* Add test for type registration for ica.

* Lint this bad boy

* Apply suggestions from code review

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

---------

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

* Save gas on capability IsInitialized (#4770)

* chore: fix broken links/rename folders (#4781)

* chore: fix broken links/rename folders

* typo

* fix link

* Use slices.ContainsFunc instead of separate contains func. (#4786)

* docs: fix links (#4787)

* chore: update changelog (#4774)

* chore: update changelog

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

---------

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* docs: implemented Mary's suggestions (#4775)

* docs: implemented Mary's suggestions

* imp(docs): updated the large IBC logo

---------

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

* Update repo cover image (#4794)

* docs: added tutorial for Cosmoverse 2023 (#4793)

* feat(docs): added custom components

* feat(docs): added and tested custom components

* docs: fee app.go integration tutorial added

* imp(docs): added custom git diff magic comments

* deps: switched to '@saucelabs/theme-github-codeblock'

* imp(docs): improved fee wiring up and added keplr to env setup

* imp(docs): added react scaffold docs

* imp(docs): added fee mw react component

* imp(docs): finished all files of the demo

* imp(docs): updated links and styling

* docs: ran linter

* imp(docs): implemented review items

* fix: typos (#4796)

* fix typo

* fix typo

* fix typos

* fix typos

* fix typos

* fix typo

* imp!: use expected interface for legacy params subspace (#4811)

* imp: use expected interface for legacy params subspace

* chore: define GetParamSet on expected interface and rm explicit type conversions

* chore: fix fork e2es (#4813)

* chore: mergify task and e2e tests for `release/v8.0.x` (#4765)

* chore: mergify task and e2e tests for release/v8.0.x

* preventing single chain tests to run on more than one chain

* extra polishing of yaml files

* add release/v8.0.x to drop down menus

* use hermes relayer instead of rly

* docs: add changelog entry for #4835

* doc: adding migration doc info for nil legacy subspace (#4816)

* Change host relay tests to check error returned (#4161)

* Add failure case for msg failing on ValidateBasic.

* Move testing for host relay to check for error returns.

* Use similar error checking as other tests.

* Use NoError, wrap err in error message.

* fix: relay test expected result

---------

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

* build(deps): Bump golang.org/x/mod from 0.12.0 to 0.13.0 in /e2e (#4839)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.12.0 to 0.13.0.
- [Commits](https://github.com/golang/mod/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0 (#4846)

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](https://github.com/spf13/viper/compare/v1.16.0...v1.17.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 e2e, callbacks, capability.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump bufbuild/buf-setup-action from 1.26.1 to 1.27.0 (#4847)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.26.1 to 1.27.0.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.26.1...v1.27.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: Carlos Rodriguez <carlos@interchain.io>

* e2e : migrate interchaintest.GetBalance to CosmosChain's GetBalance (#4683)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#4855)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* imp: add go mod tidy all script (#4845)

* feat: add go mod tidy all script

* feedback

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chores: add v4.5.0 tag and remove v5.2.x (end of life) (#4840)

* chore: fixing compatibility tests (#4876)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0 (#4889)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.11.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* The typical dance, again.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2 (#4890)

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2

Bumps [cosmossdk.io/api](https://github.com/cosmos/cosmos-sdk) from 0.7.1 to 0.7.2.
- [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/v0.7.1...api/v0.7.2)

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

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

* The typical dance.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* imp: add init-simapp script (#4844)

* feat: add init-simapp script

* Apply suggestions from code review

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

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chore: fixes for legacy amino encoding for ledger signing (#4812)

* chore(wip): fixes for legacy amino encoding for ledger signing

* chore: cleanup, format and add additional fee annotations

* fix: register legacy amino codec in 29-fee

* build(deps): Bump bufbuild/buf-setup-action from 1.27.0 to 1.27.1 (#4906)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.0 to 1.27.1.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.0...v1.27.1)

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

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

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0 (#4904)

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* remove test that does not apply to v6.1.x and v6.2.x release lines

* small improvements to v8 migration docs

* Automate Discord Notification for New Releases (#4918)

* Create discord_notify.yml

Add GitHub Action for Discord release notifications

* Rename discord_notify.yml to discord-notify.yml

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* docs: add google analytics 4 support (#4933)

* deps(docs): ran 'npm i --save @docusaurus/plugin-google-gtag'

* feat(docs): added google analytics 4 to docs

* Add note for adding a build tag in new e2e files. (#4937)

* docs: add microsoft clarity support (#4935)

* deps(docs): ran 'npm i --save @gracefullight/docusaurus-plugin-microsoft-clarity'

* feat(docs): added microsoft clarity support

* chores for new patch releases for v4, v5, v6, v7 (#4922)

* release chores

* remove tag from tests

* remove tag from tests

* build(deps): Bump actions/setup-node from 3 to 4 (#4941)

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

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

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

* fix(msg): register proto interface (#4944)

* build(deps): Bump tj-actions/changed-files from 39 to 40 (#4962)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39 to 40.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v39...v40)

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

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

* chore: remove redundant code (#4952)

* deps(e2e): update hermes tag (#4968)

* Register message service descriptor (#4969)

* docs: fee middleware tutorial improvements (#4979)

* docs: removed duplicate code snippet

* docs: consistent use of yaml vs yml

* docs: using 'auto_register_counterparty_payee'

* docs: added Fee Middleware docs to prereqs

* docs: fixed broken link

* docs: improved fee tutorial

* imp: review item

* (mod/capability) Use AppModule directly in favour of AppModuleBasic in mod/capability (#4982)

* removing appmodulebasic and all nil/unneeded functions

* lint

* test file changes

* lint

---------

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

* deps: bump Cosmos SDK to tip of `release/v0.50.x` (#4976)

* deps: bump to Cosmos SDK @ 0469fc17e1587850e7de390af282df5215287a21

* lint

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

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

* Add a test for 07-tendermint's GetTimestampAtHeight (#4972)

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

* build(deps): Bump bufbuild/buf-setup-action from 1.27.1 to 1.27.2 (#4988)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.1 to 1.27.2.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.1...v1.27.2)

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

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

* refactor(simapp): re-wire autocli with latest client/v2 changes (#4843)

* refactor: wire autocli

* go mod tidy all + fix textual

* removing initmodule from ica (#4977)

* remoing appmodulebasic interface from capability and initmodule function which mimicks initgenesis

* undoing capability change

* imp(statemachine)!: add length validation of string fields in messages

Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* chore: EoL for v4 and v5 (#4995)

* simplifying code in packet_test (#4980)

* reducing boilerplate code

* lint

* gofumpt

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0 (#5009)

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0

Bumps [cosmossdk.io/store](https://github.com/cosmos/cosmos-sdk) from 1.0.0-rc.0 to 1.0.0.
- [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-rc.0...log/v1.0.0)

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

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

* chore: 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: chatton <github.qpeyb@simplelogin.fr>

* fix: docs typos (#5014)

* Fix typos 01-overview.md

* Fix Typos 00-intro.md

Fixed typos & tweaked intro language

* style: raname sidebar Tutorials to Developer Portal

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>

* docs: fix typos (#5019)

* fix expect pointer error when unmarshalling misbehaviour file (#5020)

* fix expect pointer error when unmarshalling misbehaviour file

* Update CHANGELOG.md

---------

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

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0 (#5017)

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.12.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* bump callbacks

* e2e: 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>

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#5024)

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.7.0...v1.8.0)

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

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

* chore: make tidy-all

---------

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>

* build(deps): Bump golang.org/x/mod from 0.13.0 to 0.14.0 in /e2e (#5025)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.13.0 to 0.14.0.
- [Commits](https://github.com/golang/mod/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0 (#5034)

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0

Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.1.3-rc.1 to 1.2.0.
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/math/v1.1.3-rc.1...log/v1.2.0)

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

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

* chore: tidy all

---------

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>

* chore: fix error formatting of client status check in client recovery (#5039)

* deps: bump SDK v0.50.1 (#5038)

* deps: bump SDK v0.50.1

* update changelog

* deps: downgrade cosmossdk.io/core to v0.11.0

* fix interchain accounts tests

* implement app module basic correctly for capability module

* bump SDK to v0.50.1 in capability module

* downgrade cosmossdk.io/api to v0.7.2

* downgrade cosmossdk.io/api to v7.2.0 for callbacks

* Bump dependencies (#5064)

* deps: update mod/capability to v1.0.0 (#5046)

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

* imp: updated urls (#5031)

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

* docs: new social card for docs (#5080)

* docs: added new social card

* docs: updated social card

* chore: add mergify backport for 08-wasm (#5077)

* docs: add docs folder for v8.0.x (#5078)

* docs: add docs folder for v8.0.x

* fix links

* docs: fixed with absolute url links

* docs: fix more links

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Charly <charly@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Susannah Evans <65018876+womensrights@users.noreply.github.com>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: nguyen <144610611+trinitys7@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Adi <103246632+adiraviraj@users.noreply.github.com>
Co-authored-by: emidev98 <49301655+emidev98@users.noreply.github.com>
Co-authored-by: Muku <44918265+muku314115@users.noreply.github.com>
Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: zadkiel88 <106065297+zadkiel88@users.noreply.github.com>
Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: shuoer86 <129674997+shuoer86@users.noreply.github.com>
Co-authored-by: mmsqe <mavis@crypto.com>

* chore: propagate IBC authority to 04-channel keeper to be used within upgrade cancellation (#5093)

* chore: add authority to function params, test flow for checking msg sender against authority

* linter

* refactor: use isAuthority bool in favour of passing signer and authority to 04-channel

---------

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

* Amend validation of upgrade fields to use variable holding supported orderings. (#5152)

* refactor: adapt testing endpoint query for channel upgrade proofs (#5165)

* test: adding test for crossing hello trys with historical proofs (#5143)

* test: adding test for crossing hello trys with historical proofs

* chore: make format

* chore: address TODO in test case with switch of proof query endpoint

* chore: replace dummy error with correct error type (#5177)

* Remove incorrect godoc (#5203)

* chore: correct returned error (#5205)

* chore: adding comment to add clarity to returned upgrade (#5214)

* Verify channel upgrade can be completed after cancellation is successful (#5163)

* Remove last packet sent from new upgrade constructor. (#5210)

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

* Reorder call to application callback so it happens after we write state. (#5230)

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

* chore: allow authorized senders to submit empty error receipt proof (#5232)

* remove incorect code (#5235)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* chore: panic instead of return err (#5246)

* chore: add comment about version assignment (#5239)

* Add  to docstring with explanation about channel state (#5236)

* Chore: replace `fmt.Sprintf` with `fmt.Errorf` in `upgrades.go` (#5291)

* replace Sprintf with Errorf in WriteUpgradeAckChannel

* replace Sprintf with Errorf in upgrade.go

* fix: add event and event emission for `FLUSHCOMPLETE` (#5245)

* add event emit

* minor

* add testing for moving to flushing complete event

* minor

* Remove setting counterparty upgrade info in upgrade try (#5238)

* chore: updated tests to reflect the timeout and ack changes

* chore: adding status check on channel when channel is flushing

* review comment

---------

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

* fix: allow error receipt to be nil in case of the msg sender is the authority (#5262)

* fix + tests

* shuffle about logic ordering

* Move events to message server layer instead of core level (#5264)

* wip: moving events up to the message server layer

* wip: move events out to message server layer

* chore: commenting out event tests

* Fix merge issue.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* imp: use MetadataFromVersion function in 27-interchain-accounts (#5300)

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

* remove channel id (#5307)

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

* remove comment that unused (#5308)

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

* Implement OnChanUpgradeInit on Controller Chain for interchain-accounts (#5141)

* chore: adding controller implementation for OnChanUpgradeInit

* chore: happy path test passing

* chore: adding fail case

* chore: adding additional test cases

* chore: fix linting

* chore: improving errors

* chore: refactor to use test keeper function directly

* chore: add check for enabled controller module

* chore: call into middleware if provided

* chore: addressing PR feedback

* revert change in godoc of GetConnectionID

* fix: typo in MetadataFromVersion func

* chore: rm duplicate func

---------

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

* Add a helper function to create a mock contract. (#5162)

* docs: improved channel closure docs (#5170)

* docs: improved channel closure docs

* docs: ran linter

* chore: use `GetPrefixedDenom` to create IBC token denom (#5175)

* build(deps): Bump DavidAnson/markdownlint-cli2-action from 13 to 14 (#5176)

Bumps [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action) from 13 to 14.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/455b6612a7b7a80f28be9e019b70abdd11696e4e"><code>455b661</code></a> Update to version 14.0.0.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/fa0be7308fe9ed25a7d2ebaa0017dcf119c174d3"><code>fa0be73</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/1e5b6609c975f6023b335289c93acab187740b7d"><code>1e5b660</code></a> Remove &quot;command&quot; input deprecated in v11.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/b1a3c7b34980691d7de04930b0a0e82f96e98327"><code>b1a3c7b</code></a> Add CONTRIBUTING.md.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/feb7cc4324d395ee7746fd85e9115cb5dbca8a98"><code>feb7cc4</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/eeda66770c0f944c0c52595a2fdd5e130c0c3030"><code>eeda667</code></a> Bump markdownlint-cli2 from 0.10.0 to 0.11.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/4670abafb2e29f6ba1d52f1ee4dc5e35fa981963"><code>4670aba</code></a> Stop excluding generated file dist/index.js from diff check in npm test scrip...</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/404090a89e8ef8be91a2d458e120ab8636277d3c"><code>404090a</code></a> Bump eslint from 8.53.0 to 8.54.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/c69f13c27f4b0db012599e48dcdd3e6a216a9789"><code>c69f13c</code></a> Remove deprecated ESLint rules after version update.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/55caa5fd0a1c57994a687d53806b4cd35f5a2538"><code>55caa5f</code></a> Bump eslint from 8.52.0 to 8.53.0</li>
<li>Additional commits viewable in <a href="https://github.com/davidanson/markdownlint-cli2-action/compare/v13...v14">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=DavidAnson/markdownlint-cli2-action&package-manager=github_actions&previous-version=13&new-version=14)](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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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>

* docs: readme improvements (#5171)

* readme improvements

* add link

* chore(08-wasm): `Pin` code during app initialisation (#5161)

* init InitializePinnedCodes

* testing

* call Pin during app inisitalization

* linting

* update docs

* spacing

* update docs

* add extra line

* chore: update tmproto, tmos aliases to cmtproto, cmtos

* chore: use suite.Require().NoError(), rename gotErr to err

* testing: nits

* Use table driven tests for TestInitializedPinnedCodes

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* e2e: timeout transfer with grandpa light client (#5018)

* Change to StoreCodeUnchecked in Genesis and snapshotter (#5167)

* change to store code unchecked

* separate storeWasmCode and import…
mergify bot pushed a commit that referenced this pull request Jan 4, 2024
* updat MsgUpgradeTimeout resp, add getter directives (#3858)

* ChanUpgradeOpen callback should not return an error. (#3899)

* chore: pr review followups (#3901)

* Remove error return from OnChanUpgradeRestore. (#3902)

* chore: refactor `chanUpgradeAck` tests to use expected errors (#3843)

* updating tests to use expError in favour of expPass bool

* move write fn under chanUpgradeAck

* make expPass construction two lines instead of one

---------

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

* adding result to MsgChannelUpgradeAckResponse (#3845)

Co-authored-by: Charly <charly@interchain.io>

* update upgrade seq comparison in `ChanUpgradeTimeout` (#3905)

* update upgrade seq comparison

* pr suggestions

* Implement MsgChannelUpgradeCancel message server handler (#3848)

* `ChanUpgradeTimeout` `msg_server` function (#3855)

* writeupgradetimeout method, pull in util methods

* rm Equal directive (#3908)

* feat: adding msg server implementation for `ChannelUpgradeAck` (#3849)

* adding boilerplate skeleton for chanUpgradeAck handler

* updating msg servers args

* adding test scaffolding and syncing latest changes of feat branch

* configure both proposed upgrades to use mock.UpgradeVersion

* updating chanUpgradeAck test cases

* updating var naming for consistency, adding additional testcases

* rm msg server implementation

* adding invalid flush status err and rm lint ignore comment

* adding test helpers to endpoint for get/set channel upgrade

* lint it

* adding initial msg server impl skeleton

* pull in code for WriteUpgradeAckChannel

* adding result to MsgChannelUpgradeAckResponse

* add initial test cases

* adding additional testcases

* apply testcase naming review suggestions

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

* apply error return wrapping suggestions from review

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

* fix error to use Wrapf and correct channel id arg, adding success log

* correct testing imports and satisy linter

* apply self suggestions for testcase context with in-line comments

* updating test func to use path.EndpointA and chainA sender acc

---------

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

* chore: make error wrapping and logging consistent for upgrade try msg server (#3913)

* make error wrapping and logging consistent for upgrade try msg server

* standardise logging

* chore: use new version return in transfer app for testing relayers (#3927)

* Remove generation of getters for upgrade types. (#3951)

* Add a check for connection state in UpgradeAck. (#3954)

* update WriteUpgradeTry to change flush status to `FLUSHCOMPLETE` if there are no packet commitments left (#3964)

* Add flush status check in SendPacket  (#3912)

* Add ChanUpgradeOpen core handler. (#3844)

* Add ChanUpgradeOpen core handler.

* Tests tests tests.

* Update upgrade open handler based on feedback.

* Reformat testing approach.

* Move counterpartyhops assignment inline.

* Check err of SetChannelState.

* Address feedback.

* Remove uneeded modification of version.

* Add flushing check to WriteUpgradeAckChannel (#3976)

* chore: adding check for in flight packets in WriteUpgradeAckChannel

* added test for TestWriteUpgradeAckChannel

* linter

* add client update to UpgradeAckChannel test

* mv test

* merge

* fix post-merge

* fix merge issues

* review comment

---------

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

* remove depguard from golangci-lint (#4000)

* Set channel state to NOTINFLUSH when Closing (#3995)

* Set Counterparty Last Sequence Send (#4005)

* Add FlushStatus Checks to RecvPacket (#3914)

* Add implementation for message server handling of ChanUpgradeOpen. (#3895)

* Add implementation for message server handling of ChanUpgradeOpen.

* Add tests for msg_server.

* Address review feedback.

* Remove setting of flush status.

* Apply suggestions from code review

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

* Address rest of review comments.

---------

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

* helper function for validating a counterparty upgrade against the selfupgrade (#4016)

* Make AbortUpgrade panic on failure (#4011)

* chore: update abort upgrade function to panic on error

* apply review suggestions

---------

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

* Amend AcknowledgePacket to handle flushing (#3922)

* Amend Ack packet to keep acknowledging if we're in the process of flushing pre-upgrade packets.

* Use handshake to reach correct state before mutating any fields.

* Add test to verify post-ack channel state after last in-flight packet.

* Remove unecessary modifications of version for non initializing channel end.

* Test both cases: final in-flight packet and non-final one.

* Apply suggestions from code review

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

* Remove manual setting of flush status.

* Update test name, pass mock version to both channels.

---------

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

* Amend timeout to handle in-flight packets. (#3923)

* Amend timeout to handle in-flight packets.

* Update timeout handler per spec.

* Update tests to test for toggling of flush status.

* Fix small typos in docstring.

---------

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

* change comment

* chore: adding callback for OnChanUpgradeRestore in abort scenarios (#4051)

* Pass in counterparty portID, channelID when verifying channel in ChanUpgradeOpen. (#4052)

* Pass in counterparty portid, channelid.

* use direct check on err.

* Force distinct channel identifiers when testing UpgradeOpen.

* Remove manual setting of flush status in ChanUpgradeOpen. (#4064)

* Use counterparty portid, channelid when verifying channel upgrade error. (#4063)

* feat: adding `OnChanUpgradeInit` handler implementation to `29-fee` (#4019)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

---------

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

* feat: adding `OnChanUpgradeTry` handler implementation for `29-fee` (#4023)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

---------

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

* feat: adding `OnChanUpgradeAck` handler implementation to `29-fee` (#4028)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding onChanUpgradeAck implementation to 29-fee, adding tests

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

* updating to use types.MetadataFromVersion in OnChanUpgradeAck

* updating tests to add additional checks

---------

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

* Use counterparty connection hops when verifying channel state (#4074)

* use counterparty conn hops.

* Clean up tests.

* Amend inline comment slightly.

* Address nits

---------

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

* chore: adding comment to 29-fee OnChanUpgradeOpen callback (#4123)

* Add tests for WriteUpgradeOpenChannel. (#4077)

* Add tests for WriteUpgradeCancel. (#4076)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck. (#4075)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck.

* Add comment noting that counterparty flush status has been verified before usage.

* Fix failing tests.

* imp: use HasInflightPackets to check if channel has finished flushing. (#4134)

* feat: adding `OnChanUpgradeInit` implementation to transfer (#4126)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* updating to use NewTranferPath in test func

* address pr comment - reformat error msg

* Remove superfluous ignore directive. (#4158)

* feat: adding OnChanUpgradeTry implementation to transfer (#4137)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* adding onChanUpgradeTry impl for transfer app, adding tests

* updating to use NewTranferPath in test func

* restructure error formatting

* Call app callback after writting state in Cancel and Timeout. (#4166)

* helper function to clear state stored during an upgrade (#4147)

* add `IsUpgradError` func for readability (#4144)

* add IsUpgradeError function

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

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* gofumpt

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

Co-authored-by: Charly <charly@interchain.io>

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* add check that channel exists in upgrade gRPCs (#4156)

* add check that channel exists

* use has function instead

* consistent connection lookup calls in 04-channel (#4146)

* nit: error formatting improvements for channel upgrades (#4097)

* string formatting improvements

* fix typo

* review comment

* review comment

* review comment

* review comment

* added test for event emission (#4020)

* feat: implement `OnChanUpgradeAck` for transfer (#4215)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly (#4221)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly

* lint me

* rm duplicate test from merge

* test: adding test for events in channel upgrade try (#4226)

* Add store functions for counterparty upgrade. (#4293)

* Add store functions for counterparty upgrade.

* Apply suggestions from code review

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

---------

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

* Add FLUSHING/FLUSHCOMPLETE to Channel state. (#4300)

* feat: adding `ChannelUpgradeConfirm` rpc and msgs (#4302)

* adding protobuf msgs and rpc service definition

* adding empty boilerplate method stub

* register msg codec and add sdk.Msg impl + tests

* chore: move verification before startFlushUpgradeHandshake (#4285)

* rebase `04-channel-upgrades` branch (#4160)

* update with latest changes from main

* fix conflicts in e2e

* make invalid version constant

* fix linter by using constant instead of literal

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Revert "rebase `04-channel-upgrades` branch (#4160)"

This reverts commit d5e63d40695adc6c1aad16160ea3bf655251825c.

* rm unnecessary test matrix file

* make lint-fix

* satisfy revive linter

* updating feature banch ci workflow for golangci-lint

* bumping golangci-lint action to v3.6.0

* define go version as string in workflow

* Delete counterparty upgrade in deleteUpgradeInfo. Move function to keeper. (#4294)

* Remove check for counterparty timeout in ChanUpgradeTry. (#4301)

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

* Store counterparty upgrade after ack finishes. (#4299)

* call verification of counterparty channel, upgrade in upgradetry. (#4310)

* Add verification calls in ChanUpgradeAck. (#4312)

* Add ChanUpgradeConfirm to endpoint. (#4314)

* Remove verification calls in StartFlushUpgradeHandshake (#4317)

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

* test: add events test for ChannelUpgradeTimeout (#4284)

* test: add event emission test for ChanUpgradeCancel (#4281)

* Check counterparty timeout hasn't elapsed in ChanUpgradeAck. (#4305)

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

* refactor: modify `ChannelUpgradeInit` to only store upgrade fields (#4344)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* Add test for event emission ChanUpgradeAck (#4228)

* test: add event test for chan upgrade ack

* gofumpt file

---------

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

* Adding test for events for ChanUpgradeOpen (#4230)

* test: adding test for events for chan upgrade open

* Update upgrade_test.go

---------

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

* Move check to fail on incompatible upgrade after proof verification. (#4320)

* Move check to fail on incompatible upgrade after proof verification.

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

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

* lint fix

---------

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

* Add functions checkForUpgradeCompatibility and syncUpgradeSequence (#4352)

* refactor: modify upgrade init to not change channel state (#4357)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* address nits from pr review

* refactor: cleanup upgrade init app callback args (#4359)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* refactor: rm unnecessary args in application upgrade init callback

* Add WriteUpgradeConfirm function. (#4303)

* Add WriteUpgradeConfirm function.

* Add some sweet godoc for this bad boy.

* Apply suggestions from code review

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

---------

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

* Modify startFlushUpgradeHandshake to be used as a write function (#4360)

* Remove restore logic in upgrade TRY handler (#4362)

* refactor: remove `FlushStatus` from ack handler and msg (#4364)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Amend checkForUpgradeCompatibility to check that versions match (#4366)

* refactor: modify ack handler expected channel state (#4371)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Channel Upgrade Ack (#4372)

* feat: adding `chanUpgradeConfirm` implementation to `04-channel` (#4373)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* feat: adding msg server implementation for `ChanUpgradeConfirm` (#4376)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Remove check on flush status for send packet. (#4384)

* Remove check on flush status for send packet.

* Rename test, remove duplicate test.

* Channel Upgrade Open (#4379)

* Implement Channel Upgrade Cancel (#4404)

* Refactor `TestWriteUpgradeCancelChannel` (#4424)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

* refactor: updated ChanUpgradeOpen keeper function to match spec

* chore: fixing tests for ChannelUpgradeOpen

* chore: added test case for invalid counterparty channel state

* chore: adding new implementation for ChannelUpgradeClose

* chore: fix TestWriteUpgradeCancelChannel

* chore: addressing feedback

* chore: simplified test cases

* chore: fix linter

* chore: remove duplicate connection test

* Apply suggestions from code review

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

* refactor TestWriteUpgradeCancelChannel to use table tests

* delete unused variable

* lint

* update check panic

* update from code review

* Apply suggestions from code review

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Refactor `TestWriteUpgradeOpenChannel` (#4431)

* refactor TestWriteUpgradeOpenChannel to use table tests

* Apply suggestions from code review

* lint

* revert AttributeKeyUpgradeChannelFlushStatus

---------

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

* refactor: acknowledgePacket handling flushing / flush complete state  (#4412)

* refactor: handle flush complete channel state transition in acknowledgePacket

* wip: adding testcases for acknowledgePacket with flushing state

* lint: make lint-fix

* test: adding assertFn temporarily to tests to provide after test state checks

* set counterparty upgrade on write try fn

* Add UpgradeTimeout as a params field in the channel submodule (#4411)

* Refactor TestWriteUpgradeTry to remove flush status checks (#4430)

* refactor: use `expResult` in acknowledgePacket tests (#4439)

* refactor: adapt acknowledgePacket tests to use expResult func

* cleanup: removing redundant stale tests

* fix: assert ErrInvalidProof for verification failure. modify suite.Run tc naming

* Implement ChanUpgradeTimeout with spec changes (#4438)

* Amend recvPacket as per spec. (#4386)

* Amend recvPacket as per spec.

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

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

* Drop usage of CounterpartyLastSequenceSend.

* Cover all cases.

* Use SetChannelCounterpartyUpgrade.

* Add expected errors, remove duplicate test.

* Remove setting of counterparty last sequence send in other test case.

* Shorthand initialization of dummy upgrade.

* Apply suggestions from code review

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

---------

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Update error receipt event emission to use correct event type (#4451)

* Account for moving channel state to flush complete in timeout processing (#4425)

* Remove init, try, ack upgrade states (#4455)

* refactor: remove `FlushStatus` from channel end (#4457)

* refactor: remove flush status from channel end

* remove flush status enum

* address pr review comments and remove additional refs in comments

* Refactor channel upgradability msgs to reflect updated spec (#4456)

* Amend timeoutPacket to allow timeouts on any channel state. (#4367)

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

* Refactor recvPacket tests to use expError. (#4471)

* Refactor recvPacket tests to use expError.

* Use testify's ErrorIs.

* refactor: remove counterparty last sequence send state entry (#4473)

* Don't write channel to state when not modified. (#4495)

* refactor: rename channel upgradability flush states (#4488)

* Don't emit event information for unchanged upgrade. (#4492)

* Add tests for WriteUpgradeConfirm. (#4490)

* Allow receiving of packets if the counterparty latest sequence send has not been set (#4480)

* allow receiving of packets if the counterparty latest sequence send has not been set.

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

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

* Address feedback, lint fix.

* STATUS_FLUSHING -> FLUSHING

---------

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

* chore: re-enable disabled test case in `chanUpgradeTry` (#4501)

* Resolve commented out testcases for Channel Upgrades (#4474)

* refactor: adding additional upgrade fields args to onChanUpgradeOpen (#4478)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm (#4491)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm

* fix: adapt failing test and format

* fix: resolve compiler breakage of enum naming

* Use only timestamp only for upgrade timeouts. (#4482)

* Timing out packets on ordered channels when in flushing state aborts upgrade and closes channel (#4475)

* Change UpgradeTimeout to from absolute to relative (#4511)

* refactor: fee middleware onChanUpgradeInit callback (#4514)

* refactor: fee middleware onChanUpgradeTry callback (#4515)

Co-authored-by: Cian Hatton <cian@interchain.io>

* refactor: implementation for onChanUpgradeAck ics29 (#4523)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl (#4524)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* adding comment to discarded return arg

* test: adding integration test for fee transfer channel upgrade (#4533)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* test: adding integration test for fee transfer channel upgrade

* fix: check that `MsgChannelUpgradeInit` is signed by authority (#4773)

* Chore: consistent argument order (#4545)

* order arguments

* Revert "order arguments"

This reverts commit 2de37271e6f19b77e01cef65a1120a663486c040.

* reorder arguments of channel upgrade verify functions

* missing changes

---------

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

* Add ParseProposalIDFromEvents helper function (#4942)

* add ParseProposalIDFromEvents

* update with damian suggest

* imp: remove `LatestSequenceSend` (#5108)

* del: latestsequencesend field

* fix: comment

* gofumpt

* del: tests

* del leftover tests part

* adressing comments

* addressing comment

---------

Co-authored-by: sangier <stefano@Stefanos-MacBook-Pro.local>
Co-authored-by: sangier <stefano@interchain.io>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* chore: rebase 04-channel-upgrades feature branch (#5085)

* move legacy keytable init to migration handler code (#4730)

* deps: bump SDK v0.50-rc.1 (#4763)

* test: run tests of all go.mods (#4468)

* test: run tests of all go.mods

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

* Remove +build directive which is deprecated, remove tparse hadnling in Makefile.

* Add sdk script, remove LINT_DIFF.

* Fix linting issues that popped up.

* Add script to run tests for all modules.

* chore: add executible permissions to script, rename to avoid shadowing dir builtin

* chore: use python3 instead of python

* chore: add venv to gitignore

* Disallow env vars not being set, clean up minor issues.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* docs: some more v8 migration docs (#4728)

* docs: some more migration docs

* alignment

* alignment 2

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* update about proposals

* update docs after putting back legacy proposals

* add links for gov v1 messages

* update link of importable workflow

* add information about facilities to test upgrade

* add notes about cosmos sdk v0.50 upgrading guide

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* add extra info about authority and merkle path functions that have been removed

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* deps: bump mod/capability to v1.0.0-rc6 (#4768)

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* Fix e2e-upgrade.yaml complaint. (#4772)

* deps(docs): bump docusaurus from v2.4.1 to v2.4.3

* Fix e2e linting issues. (#4767)

* test extra conditions for `ApplyPrefix` (#4764)

* test extra conditions

* review comment

* Add codec registrations tests for apps (#4780)

* Add test for type registration for transfer.

* Add test for type registration for fee.

* Add test for type registration for ica.

* Lint this bad boy

* Apply suggestions from code review

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

---------

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

* Save gas on capability IsInitialized (#4770)

* chore: fix broken links/rename folders (#4781)

* chore: fix broken links/rename folders

* typo

* fix link

* Use slices.ContainsFunc instead of separate contains func. (#4786)

* docs: fix links (#4787)

* chore: update changelog (#4774)

* chore: update changelog

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

---------

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* docs: implemented Mary's suggestions (#4775)

* docs: implemented Mary's suggestions

* imp(docs): updated the large IBC logo

---------

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

* Update repo cover image (#4794)

* docs: added tutorial for Cosmoverse 2023 (#4793)

* feat(docs): added custom components

* feat(docs): added and tested custom components

* docs: fee app.go integration tutorial added

* imp(docs): added custom git diff magic comments

* deps: switched to '@saucelabs/theme-github-codeblock'

* imp(docs): improved fee wiring up and added keplr to env setup

* imp(docs): added react scaffold docs

* imp(docs): added fee mw react component

* imp(docs): finished all files of the demo

* imp(docs): updated links and styling

* docs: ran linter

* imp(docs): implemented review items

* fix: typos (#4796)

* fix typo

* fix typo

* fix typos

* fix typos

* fix typos

* fix typo

* imp!: use expected interface for legacy params subspace (#4811)

* imp: use expected interface for legacy params subspace

* chore: define GetParamSet on expected interface and rm explicit type conversions

* chore: fix fork e2es (#4813)

* chore: mergify task and e2e tests for `release/v8.0.x` (#4765)

* chore: mergify task and e2e tests for release/v8.0.x

* preventing single chain tests to run on more than one chain

* extra polishing of yaml files

* add release/v8.0.x to drop down menus

* use hermes relayer instead of rly

* docs: add changelog entry for #4835

* doc: adding migration doc info for nil legacy subspace (#4816)

* Change host relay tests to check error returned (#4161)

* Add failure case for msg failing on ValidateBasic.

* Move testing for host relay to check for error returns.

* Use similar error checking as other tests.

* Use NoError, wrap err in error message.

* fix: relay test expected result

---------

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

* build(deps): Bump golang.org/x/mod from 0.12.0 to 0.13.0 in /e2e (#4839)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.12.0 to 0.13.0.
- [Commits](https://github.com/golang/mod/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0 (#4846)

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](https://github.com/spf13/viper/compare/v1.16.0...v1.17.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 e2e, callbacks, capability.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump bufbuild/buf-setup-action from 1.26.1 to 1.27.0 (#4847)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.26.1 to 1.27.0.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.26.1...v1.27.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: Carlos Rodriguez <carlos@interchain.io>

* e2e : migrate interchaintest.GetBalance to CosmosChain's GetBalance (#4683)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#4855)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* imp: add go mod tidy all script (#4845)

* feat: add go mod tidy all script

* feedback

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chores: add v4.5.0 tag and remove v5.2.x (end of life) (#4840)

* chore: fixing compatibility tests (#4876)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0 (#4889)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.11.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* The typical dance, again.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2 (#4890)

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2

Bumps [cosmossdk.io/api](https://github.com/cosmos/cosmos-sdk) from 0.7.1 to 0.7.2.
- [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/v0.7.1...api/v0.7.2)

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

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

* The typical dance.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* imp: add init-simapp script (#4844)

* feat: add init-simapp script

* Apply suggestions from code review

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

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chore: fixes for legacy amino encoding for ledger signing (#4812)

* chore(wip): fixes for legacy amino encoding for ledger signing

* chore: cleanup, format and add additional fee annotations

* fix: register legacy amino codec in 29-fee

* build(deps): Bump bufbuild/buf-setup-action from 1.27.0 to 1.27.1 (#4906)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.0 to 1.27.1.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.0...v1.27.1)

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

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

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0 (#4904)

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* remove test that does not apply to v6.1.x and v6.2.x release lines

* small improvements to v8 migration docs

* Automate Discord Notification for New Releases (#4918)

* Create discord_notify.yml

Add GitHub Action for Discord release notifications

* Rename discord_notify.yml to discord-notify.yml

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* docs: add google analytics 4 support (#4933)

* deps(docs): ran 'npm i --save @docusaurus/plugin-google-gtag'

* feat(docs): added google analytics 4 to docs

* Add note for adding a build tag in new e2e files. (#4937)

* docs: add microsoft clarity support (#4935)

* deps(docs): ran 'npm i --save @gracefullight/docusaurus-plugin-microsoft-clarity'

* feat(docs): added microsoft clarity support

* chores for new patch releases for v4, v5, v6, v7 (#4922)

* release chores

* remove tag from tests

* remove tag from tests

* build(deps): Bump actions/setup-node from 3 to 4 (#4941)

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

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

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

* fix(msg): register proto interface (#4944)

* build(deps): Bump tj-actions/changed-files from 39 to 40 (#4962)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39 to 40.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v39...v40)

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

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

* chore: remove redundant code (#4952)

* deps(e2e): update hermes tag (#4968)

* Register message service descriptor (#4969)

* docs: fee middleware tutorial improvements (#4979)

* docs: removed duplicate code snippet

* docs: consistent use of yaml vs yml

* docs: using 'auto_register_counterparty_payee'

* docs: added Fee Middleware docs to prereqs

* docs: fixed broken link

* docs: improved fee tutorial

* imp: review item

* (mod/capability) Use AppModule directly in favour of AppModuleBasic in mod/capability (#4982)

* removing appmodulebasic and all nil/unneeded functions

* lint

* test file changes

* lint

---------

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

* deps: bump Cosmos SDK to tip of `release/v0.50.x` (#4976)

* deps: bump to Cosmos SDK @ 0469fc17e1587850e7de390af282df5215287a21

* lint

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

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

* Add a test for 07-tendermint's GetTimestampAtHeight (#4972)

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

* build(deps): Bump bufbuild/buf-setup-action from 1.27.1 to 1.27.2 (#4988)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.1 to 1.27.2.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.1...v1.27.2)

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

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

* refactor(simapp): re-wire autocli with latest client/v2 changes (#4843)

* refactor: wire autocli

* go mod tidy all + fix textual

* removing initmodule from ica (#4977)

* remoing appmodulebasic interface from capability and initmodule function which mimicks initgenesis

* undoing capability change

* imp(statemachine)!: add length validation of string fields in messages

Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* chore: EoL for v4 and v5 (#4995)

* simplifying code in packet_test (#4980)

* reducing boilerplate code

* lint

* gofumpt

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0 (#5009)

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0

Bumps [cosmossdk.io/store](https://github.com/cosmos/cosmos-sdk) from 1.0.0-rc.0 to 1.0.0.
- [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-rc.0...log/v1.0.0)

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

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

* chore: 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: chatton <github.qpeyb@simplelogin.fr>

* fix: docs typos (#5014)

* Fix typos 01-overview.md

* Fix Typos 00-intro.md

Fixed typos & tweaked intro language

* style: raname sidebar Tutorials to Developer Portal

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>

* docs: fix typos (#5019)

* fix expect pointer error when unmarshalling misbehaviour file (#5020)

* fix expect pointer error when unmarshalling misbehaviour file

* Update CHANGELOG.md

---------

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

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0 (#5017)

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.12.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* bump callbacks

* e2e: 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>

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#5024)

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.7.0...v1.8.0)

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

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

* chore: make tidy-all

---------

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>

* build(deps): Bump golang.org/x/mod from 0.13.0 to 0.14.0 in /e2e (#5025)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.13.0 to 0.14.0.
- [Commits](https://github.com/golang/mod/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0 (#5034)

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0

Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.1.3-rc.1 to 1.2.0.
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/math/v1.1.3-rc.1...log/v1.2.0)

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

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

* chore: tidy all

---------

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>

* chore: fix error formatting of client status check in client recovery (#5039)

* deps: bump SDK v0.50.1 (#5038)

* deps: bump SDK v0.50.1

* update changelog

* deps: downgrade cosmossdk.io/core to v0.11.0

* fix interchain accounts tests

* implement app module basic correctly for capability module

* bump SDK to v0.50.1 in capability module

* downgrade cosmossdk.io/api to v0.7.2

* downgrade cosmossdk.io/api to v7.2.0 for callbacks

* Bump dependencies (#5064)

* deps: update mod/capability to v1.0.0 (#5046)

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

* imp: updated urls (#5031)

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

* docs: new social card for docs (#5080)

* docs: added new social card

* docs: updated social card

* chore: add mergify backport for 08-wasm (#5077)

* docs: add docs folder for v8.0.x (#5078)

* docs: add docs folder for v8.0.x

* fix links

* docs: fixed with absolute url links

* docs: fix more links

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Charly <charly@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Susannah Evans <65018876+womensrights@users.noreply.github.com>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: nguyen <144610611+trinitys7@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Adi <103246632+adiraviraj@users.noreply.github.com>
Co-authored-by: emidev98 <49301655+emidev98@users.noreply.github.com>
Co-authored-by: Muku <44918265+muku314115@users.noreply.github.com>
Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: zadkiel88 <106065297+zadkiel88@users.noreply.github.com>
Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: shuoer86 <129674997+shuoer86@users.noreply.github.com>
Co-authored-by: mmsqe <mavis@crypto.com>

* chore: propagate IBC authority to 04-channel keeper to be used within upgrade cancellation (#5093)

* chore: add authority to function params, test flow for checking msg sender against authority

* linter

* refactor: use isAuthority bool in favour of passing signer and authority to 04-channel

---------

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

* Amend validation of upgrade fields to use variable holding supported orderings. (#5152)

* refactor: adapt testing endpoint query for channel upgrade proofs (#5165)

* test: adding test for crossing hello trys with historical proofs (#5143)

* test: adding test for crossing hello trys with historical proofs

* chore: make format

* chore: address TODO in test case with switch of proof query endpoint

* chore: replace dummy error with correct error type (#5177)

* Remove incorrect godoc (#5203)

* chore: correct returned error (#5205)

* chore: adding comment to add clarity to returned upgrade (#5214)

* Verify channel upgrade can be completed after cancellation is successful (#5163)

* Remove last packet sent from new upgrade constructor. (#5210)

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

* Reorder call to application callback so it happens after we write state. (#5230)

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

* chore: allow authorized senders to submit empty error receipt proof (#5232)

* remove incorect code (#5235)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* chore: panic instead of return err (#5246)

* chore: add comment about version assignment (#5239)

* Add  to docstring with explanation about channel state (#5236)

* Chore: replace `fmt.Sprintf` with `fmt.Errorf` in `upgrades.go` (#5291)

* replace Sprintf with Errorf in WriteUpgradeAckChannel

* replace Sprintf with Errorf in upgrade.go

* fix: add event and event emission for `FLUSHCOMPLETE` (#5245)

* add event emit

* minor

* add testing for moving to flushing complete event

* minor

* Remove setting counterparty upgrade info in upgrade try (#5238)

* chore: updated tests to reflect the timeout and ack changes

* chore: adding status check on channel when channel is flushing

* review comment

---------

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

* fix: allow error receipt to be nil in case of the msg sender is the authority (#5262)

* fix + tests

* shuffle about logic ordering

* Move events to message server layer instead of core level (#5264)

* wip: moving events up to the message server layer

* wip: move events out to message server layer

* chore: commenting out event tests

* Fix merge issue.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* imp: use MetadataFromVersion function in 27-interchain-accounts (#5300)

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

* remove channel id (#5307)

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

* remove comment that unused (#5308)

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

* Implement OnChanUpgradeInit on Controller Chain for interchain-accounts (#5141)

* chore: adding controller implementation for OnChanUpgradeInit

* chore: happy path test passing

* chore: adding fail case

* chore: adding additional test cases

* chore: fix linting

* chore: improving errors

* chore: refactor to use test keeper function directly

* chore: add check for enabled controller module

* chore: call into middleware if provided

* chore: addressing PR feedback

* revert change in godoc of GetConnectionID

* fix: typo in MetadataFromVersion func

* chore: rm duplicate func

---------

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

* Add a helper function to create a mock contract. (#5162)

* docs: improved channel closure docs (#5170)

* docs: improved channel closure docs

* docs: ran linter

* chore: use `GetPrefixedDenom` to create IBC token denom (#5175)

* build(deps): Bump DavidAnson/markdownlint-cli2-action from 13 to 14 (#5176)

Bumps [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action) from 13 to 14.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/455b6612a7b7a80f28be9e019b70abdd11696e4e"><code>455b661</code></a> Update to version 14.0.0.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/fa0be7308fe9ed25a7d2ebaa0017dcf119c174d3"><code>fa0be73</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/1e5b6609c975f6023b335289c93acab187740b7d"><code>1e5b660</code></a> Remove &quot;command&quot; input deprecated in v11.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/b1a3c7b34980691d7de04930b0a0e82f96e98327"><code>b1a3c7b</code></a> Add CONTRIBUTING.md.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/feb7cc4324d395ee7746fd85e9115cb5dbca8a98"><code>feb7cc4</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/eeda66770c0f944c0c52595a2fdd5e130c0c3030"><code>eeda667</code></a> Bump markdownlint-cli2 from 0.10.0 to 0.11.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/4670abafb2e29f6ba1d52f1ee4dc5e35fa981963"><code>4670aba</code></a> Stop excluding generated file dist/index.js from diff check in npm test scrip...</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/404090a89e8ef8be91a2d458e120ab8636277d3c"><code>404090a</code></a> Bump eslint from 8.53.0 to 8.54.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/c69f13c27f4b0db012599e48dcdd3e6a216a9789"><code>c69f13c</code></a> Remove deprecated ESLint rules after version update.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/55caa5fd0a1c57994a687d53806b4cd35f5a2538"><code>55caa5f</code></a> Bump eslint from 8.52.0 to 8.53.0</li>
<li>Additional commits viewable in <a href="https://github.com/davidanson/markdownlint-cli2-action/compare/v13...v14">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=DavidAnson/markdownlint-cli2-action&package-manager=github_actions&previous-version=13&new-version=14)](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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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>

* docs: readme improvements (#5171)

* readme improvements

* add link

* chore(08-wasm): `Pin` code during app initialisation (#5161)

* init InitializePinnedCodes

* testing

* call Pin during app inisitalization

* linting

* update docs

* spacing

* update docs

* add extra line

* chore: update tmproto, tmos aliases to cmtproto, cmtos

* chore: use suite.Require().NoError(), rename gotErr to err

* testing: nits

* Use table driven tests for TestInitializedPinnedCodes

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* e2e: timeout transfer with grandpa light client (#5018)

* Change to StoreCodeUnchecked in Genesis and snapshotter (#5167)

* change to store code unchecked

* separate storeWasmCode and importWasmCode

* add parameter to storeWasmCode to pass the store function

* store code for msg server

* fix: typos in godocs

* Update modules/light-clients/08-wasm/internal/ibcwasm/expected_interfaces.go

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

* linting business

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* build(deps): Bump JamesIves/github-pages-deploy-action from 4.4.3 to 4.5.0 (#5188)

Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.4.3 to 4.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/jamesives/github-pages-deploy-action/releases">JamesIves/github-pages-deploy-action's releases</a>.</em></p>
<blockquote>
<h2>v4.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>The action is now built and run on Node 20.</li>
<li>Bump <code>@​types/node</code> from 20.4.1 to 20.4.2 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1399">JamesIves/github-pages-deploy-action#1399</a></li>
<li>Bump eslint-plugin-jest from 27.2.2 to 27.2.3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1400">JamesIves/github-pages-deploy-action#1400</a></li>
<li>Bump word-wrap from 1.2.3 to 1.2.4 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1401">JamesIves/github-pages-deploy-action#1401</a></li>
<li>Bump eslint-config-prettier from 8.8.0 to 8.9.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1405">JamesIves/github-pages-deploy-action#1405</a></li>
<li>Bump <code>@​types/node</code> from 20.4.2 to 20.4.9 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1413">JamesIves/github-pages-deploy-action#1413</a></li>…
crodriguezvega pushed a commit that referenced this pull request Jan 4, 2024
* Add a check for connection state in UpgradeAck. (#3954)

* update WriteUpgradeTry to change flush status to `FLUSHCOMPLETE` if there are no packet commitments left (#3964)

* Add flush status check in SendPacket  (#3912)

* Add ChanUpgradeOpen core handler. (#3844)

* Add ChanUpgradeOpen core handler.

* Tests tests tests.

* Update upgrade open handler based on feedback.

* Reformat testing approach.

* Move counterpartyhops assignment inline.

* Check err of SetChannelState.

* Address feedback.

* Remove uneeded modification of version.

* Add flushing check to WriteUpgradeAckChannel (#3976)

* chore: adding check for in flight packets in WriteUpgradeAckChannel

* added test for TestWriteUpgradeAckChannel

* linter

* add client update to UpgradeAckChannel test

* mv test

* merge

* fix post-merge

* fix merge issues

* review comment

---------

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

* remove depguard from golangci-lint (#4000)

* Set channel state to NOTINFLUSH when Closing (#3995)

* Set Counterparty Last Sequence Send (#4005)

* Add FlushStatus Checks to RecvPacket (#3914)

* Add implementation for message server handling of ChanUpgradeOpen. (#3895)

* Add implementation for message server handling of ChanUpgradeOpen.

* Add tests for msg_server.

* Address review feedback.

* Remove setting of flush status.

* Apply suggestions from code review

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

* Address rest of review comments.

---------

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

* helper function for validating a counterparty upgrade against the selfupgrade (#4016)

* Make AbortUpgrade panic on failure (#4011)

* chore: update abort upgrade function to panic on error

* apply review suggestions

---------

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

* Amend AcknowledgePacket to handle flushing (#3922)

* Amend Ack packet to keep acknowledging if we're in the process of flushing pre-upgrade packets.

* Use handshake to reach correct state before mutating any fields.

* Add test to verify post-ack channel state after last in-flight packet.

* Remove unecessary modifications of version for non initializing channel end.

* Test both cases: final in-flight packet and non-final one.

* Apply suggestions from code review

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

* Remove manual setting of flush status.

* Update test name, pass mock version to both channels.

---------

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

* Amend timeout to handle in-flight packets. (#3923)

* Amend timeout to handle in-flight packets.

* Update timeout handler per spec.

* Update tests to test for toggling of flush status.

* Fix small typos in docstring.

---------

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

* change comment

* chore: adding callback for OnChanUpgradeRestore in abort scenarios (#4051)

* Pass in counterparty portID, channelID when verifying channel in ChanUpgradeOpen. (#4052)

* Pass in counterparty portid, channelid.

* use direct check on err.

* Force distinct channel identifiers when testing UpgradeOpen.

* Remove manual setting of flush status in ChanUpgradeOpen. (#4064)

* Use counterparty portid, channelid when verifying channel upgrade error. (#4063)

* feat: adding `OnChanUpgradeInit` handler implementation to `29-fee` (#4019)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

---------

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

* feat: adding `OnChanUpgradeTry` handler implementation for `29-fee` (#4023)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

---------

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

* feat: adding `OnChanUpgradeAck` handler implementation to `29-fee` (#4028)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding onChanUpgradeAck implementation to 29-fee, adding tests

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

* updating to use types.MetadataFromVersion in OnChanUpgradeAck

* updating tests to add additional checks

---------

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

* Use counterparty connection hops when verifying channel state (#4074)

* use counterparty conn hops.

* Clean up tests.

* Amend inline comment slightly.

* Address nits

---------

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

* chore: adding comment to 29-fee OnChanUpgradeOpen callback (#4123)

* Add tests for WriteUpgradeOpenChannel. (#4077)

* Add tests for WriteUpgradeCancel. (#4076)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck. (#4075)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck.

* Add comment noting that counterparty flush status has been verified before usage.

* Fix failing tests.

* imp: use HasInflightPackets to check if channel has finished flushing. (#4134)

* feat: adding `OnChanUpgradeInit` implementation to transfer (#4126)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* updating to use NewTranferPath in test func

* address pr comment - reformat error msg

* Remove superfluous ignore directive. (#4158)

* feat: adding OnChanUpgradeTry implementation to transfer (#4137)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* adding onChanUpgradeTry impl for transfer app, adding tests

* updating to use NewTranferPath in test func

* restructure error formatting

* Call app callback after writting state in Cancel and Timeout. (#4166)

* helper function to clear state stored during an upgrade (#4147)

* add `IsUpgradError` func for readability (#4144)

* add IsUpgradeError function

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

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* gofumpt

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

Co-authored-by: Charly <charly@interchain.io>

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* add check that channel exists in upgrade gRPCs (#4156)

* add check that channel exists

* use has function instead

* consistent connection lookup calls in 04-channel (#4146)

* nit: error formatting improvements for channel upgrades (#4097)

* string formatting improvements

* fix typo

* review comment

* review comment

* review comment

* review comment

* added test for event emission (#4020)

* feat: implement `OnChanUpgradeAck` for transfer (#4215)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly (#4221)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly

* lint me

* rm duplicate test from merge

* test: adding test for events in channel upgrade try (#4226)

* Add store functions for counterparty upgrade. (#4293)

* Add store functions for counterparty upgrade.

* Apply suggestions from code review

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

---------

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

* Add FLUSHING/FLUSHCOMPLETE to Channel state. (#4300)

* feat: adding `ChannelUpgradeConfirm` rpc and msgs (#4302)

* adding protobuf msgs and rpc service definition

* adding empty boilerplate method stub

* register msg codec and add sdk.Msg impl + tests

* chore: move verification before startFlushUpgradeHandshake (#4285)

* rebase `04-channel-upgrades` branch (#4160)

* update with latest changes from main

* fix conflicts in e2e

* make invalid version constant

* fix linter by using constant instead of literal

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Revert "rebase `04-channel-upgrades` branch (#4160)"

This reverts commit d5e63d40695adc6c1aad16160ea3bf655251825c.

* rm unnecessary test matrix file

* make lint-fix

* satisfy revive linter

* updating feature banch ci workflow for golangci-lint

* bumping golangci-lint action to v3.6.0

* define go version as string in workflow

* Delete counterparty upgrade in deleteUpgradeInfo. Move function to keeper. (#4294)

* Remove check for counterparty timeout in ChanUpgradeTry. (#4301)

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

* Store counterparty upgrade after ack finishes. (#4299)

* call verification of counterparty channel, upgrade in upgradetry. (#4310)

* Add verification calls in ChanUpgradeAck. (#4312)

* Add ChanUpgradeConfirm to endpoint. (#4314)

* Remove verification calls in StartFlushUpgradeHandshake (#4317)

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

* test: add events test for ChannelUpgradeTimeout (#4284)

* test: add event emission test for ChanUpgradeCancel (#4281)

* Check counterparty timeout hasn't elapsed in ChanUpgradeAck. (#4305)

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

* refactor: modify `ChannelUpgradeInit` to only store upgrade fields (#4344)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* Add test for event emission ChanUpgradeAck (#4228)

* test: add event test for chan upgrade ack

* gofumpt file

---------

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

* Adding test for events for ChanUpgradeOpen (#4230)

* test: adding test for events for chan upgrade open

* Update upgrade_test.go

---------

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

* Move check to fail on incompatible upgrade after proof verification. (#4320)

* Move check to fail on incompatible upgrade after proof verification.

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

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

* lint fix

---------

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

* Add functions checkForUpgradeCompatibility and syncUpgradeSequence (#4352)

* refactor: modify upgrade init to not change channel state (#4357)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* address nits from pr review

* refactor: cleanup upgrade init app callback args (#4359)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* refactor: rm unnecessary args in application upgrade init callback

* Add WriteUpgradeConfirm function. (#4303)

* Add WriteUpgradeConfirm function.

* Add some sweet godoc for this bad boy.

* Apply suggestions from code review

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

---------

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

* Modify startFlushUpgradeHandshake to be used as a write function (#4360)

* Remove restore logic in upgrade TRY handler (#4362)

* refactor: remove `FlushStatus` from ack handler and msg (#4364)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Amend checkForUpgradeCompatibility to check that versions match (#4366)

* refactor: modify ack handler expected channel state (#4371)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Channel Upgrade Ack (#4372)

* feat: adding `chanUpgradeConfirm` implementation to `04-channel` (#4373)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* feat: adding msg server implementation for `ChanUpgradeConfirm` (#4376)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Remove check on flush status for send packet. (#4384)

* Remove check on flush status for send packet.

* Rename test, remove duplicate test.

* Channel Upgrade Open (#4379)

* Implement Channel Upgrade Cancel (#4404)

* Refactor `TestWriteUpgradeCancelChannel` (#4424)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

* refactor: updated ChanUpgradeOpen keeper function to match spec

* chore: fixing tests for ChannelUpgradeOpen

* chore: added test case for invalid counterparty channel state

* chore: adding new implementation for ChannelUpgradeClose

* chore: fix TestWriteUpgradeCancelChannel

* chore: addressing feedback

* chore: simplified test cases

* chore: fix linter

* chore: remove duplicate connection test

* Apply suggestions from code review

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

* refactor TestWriteUpgradeCancelChannel to use table tests

* delete unused variable

* lint

* update check panic

* update from code review

* Apply suggestions from code review

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Refactor `TestWriteUpgradeOpenChannel` (#4431)

* refactor TestWriteUpgradeOpenChannel to use table tests

* Apply suggestions from code review

* lint

* revert AttributeKeyUpgradeChannelFlushStatus

---------

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

* refactor: acknowledgePacket handling flushing / flush complete state  (#4412)

* refactor: handle flush complete channel state transition in acknowledgePacket

* wip: adding testcases for acknowledgePacket with flushing state

* lint: make lint-fix

* test: adding assertFn temporarily to tests to provide after test state checks

* set counterparty upgrade on write try fn

* Add UpgradeTimeout as a params field in the channel submodule (#4411)

* Refactor TestWriteUpgradeTry to remove flush status checks (#4430)

* refactor: use `expResult` in acknowledgePacket tests (#4439)

* refactor: adapt acknowledgePacket tests to use expResult func

* cleanup: removing redundant stale tests

* fix: assert ErrInvalidProof for verification failure. modify suite.Run tc naming

* Implement ChanUpgradeTimeout with spec changes (#4438)

* Amend recvPacket as per spec. (#4386)

* Amend recvPacket as per spec.

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

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

* Drop usage of CounterpartyLastSequenceSend.

* Cover all cases.

* Use SetChannelCounterpartyUpgrade.

* Add expected errors, remove duplicate test.

* Remove setting of counterparty last sequence send in other test case.

* Shorthand initialization of dummy upgrade.

* Apply suggestions from code review

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

---------

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Update error receipt event emission to use correct event type (#4451)

* Account for moving channel state to flush complete in timeout processing (#4425)

* Remove init, try, ack upgrade states (#4455)

* refactor: remove `FlushStatus` from channel end (#4457)

* refactor: remove flush status from channel end

* remove flush status enum

* address pr review comments and remove additional refs in comments

* Refactor channel upgradability msgs to reflect updated spec (#4456)

* Amend timeoutPacket to allow timeouts on any channel state. (#4367)

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

* Refactor recvPacket tests to use expError. (#4471)

* Refactor recvPacket tests to use expError.

* Use testify's ErrorIs.

* refactor: remove counterparty last sequence send state entry (#4473)

* Don't write channel to state when not modified. (#4495)

* refactor: rename channel upgradability flush states (#4488)

* Don't emit event information for unchanged upgrade. (#4492)

* Add tests for WriteUpgradeConfirm. (#4490)

* Allow receiving of packets if the counterparty latest sequence send has not been set (#4480)

* allow receiving of packets if the counterparty latest sequence send has not been set.

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

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

* Address feedback, lint fix.

* STATUS_FLUSHING -> FLUSHING

---------

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

* chore: re-enable disabled test case in `chanUpgradeTry` (#4501)

* Resolve commented out testcases for Channel Upgrades (#4474)

* refactor: adding additional upgrade fields args to onChanUpgradeOpen (#4478)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm (#4491)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm

* fix: adapt failing test and format

* fix: resolve compiler breakage of enum naming

* Use only timestamp only for upgrade timeouts. (#4482)

* Timing out packets on ordered channels when in flushing state aborts upgrade and closes channel (#4475)

* Change UpgradeTimeout to from absolute to relative (#4511)

* refactor: fee middleware onChanUpgradeInit callback (#4514)

* refactor: fee middleware onChanUpgradeTry callback (#4515)

Co-authored-by: Cian Hatton <cian@interchain.io>

* refactor: implementation for onChanUpgradeAck ics29 (#4523)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl (#4524)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* adding comment to discarded return arg

* test: adding integration test for fee transfer channel upgrade (#4533)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* test: adding integration test for fee transfer channel upgrade

* fix: check that `MsgChannelUpgradeInit` is signed by authority (#4773)

* Chore: consistent argument order (#4545)

* order arguments

* Revert "order arguments"

This reverts commit 2de37271e6f19b77e01cef65a1120a663486c040.

* reorder arguments of channel upgrade verify functions

* missing changes

---------

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

* Add ParseProposalIDFromEvents helper function (#4942)

* add ParseProposalIDFromEvents

* update with damian suggest

* imp: remove `LatestSequenceSend` (#5108)

* del: latestsequencesend field

* fix: comment

* gofumpt

* del: tests

* del leftover tests part

* adressing comments

* addressing comment

---------

Co-authored-by: sangier <stefano@Stefanos-MacBook-Pro.local>
Co-authored-by: sangier <stefano@interchain.io>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* chore: rebase 04-channel-upgrades feature branch (#5085)

* move legacy keytable init to migration handler code (#4730)

* deps: bump SDK v0.50-rc.1 (#4763)

* test: run tests of all go.mods (#4468)

* test: run tests of all go.mods

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

* Remove +build directive which is deprecated, remove tparse hadnling in Makefile.

* Add sdk script, remove LINT_DIFF.

* Fix linting issues that popped up.

* Add script to run tests for all modules.

* chore: add executible permissions to script, rename to avoid shadowing dir builtin

* chore: use python3 instead of python

* chore: add venv to gitignore

* Disallow env vars not being set, clean up minor issues.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* docs: some more v8 migration docs (#4728)

* docs: some more migration docs

* alignment

* alignment 2

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* update about proposals

* update docs after putting back legacy proposals

* add links for gov v1 messages

* update link of importable workflow

* add information about facilities to test upgrade

* add notes about cosmos sdk v0.50 upgrading guide

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* add extra info about authority and merkle path functions that have been removed

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* deps: bump mod/capability to v1.0.0-rc6 (#4768)

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* Fix e2e-upgrade.yaml complaint. (#4772)

* deps(docs): bump docusaurus from v2.4.1 to v2.4.3

* Fix e2e linting issues. (#4767)

* test extra conditions for `ApplyPrefix` (#4764)

* test extra conditions

* review comment

* Add codec registrations tests for apps (#4780)

* Add test for type registration for transfer.

* Add test for type registration for fee.

* Add test for type registration for ica.

* Lint this bad boy

* Apply suggestions from code review

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

---------

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

* Save gas on capability IsInitialized (#4770)

* chore: fix broken links/rename folders (#4781)

* chore: fix broken links/rename folders

* typo

* fix link

* Use slices.ContainsFunc instead of separate contains func. (#4786)

* docs: fix links (#4787)

* chore: update changelog (#4774)

* chore: update changelog

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

---------

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* docs: implemented Mary's suggestions (#4775)

* docs: implemented Mary's suggestions

* imp(docs): updated the large IBC logo

---------

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

* Update repo cover image (#4794)

* docs: added tutorial for Cosmoverse 2023 (#4793)

* feat(docs): added custom components

* feat(docs): added and tested custom components

* docs: fee app.go integration tutorial added

* imp(docs): added custom git diff magic comments

* deps: switched to '@saucelabs/theme-github-codeblock'

* imp(docs): improved fee wiring up and added keplr to env setup

* imp(docs): added react scaffold docs

* imp(docs): added fee mw react component

* imp(docs): finished all files of the demo

* imp(docs): updated links and styling

* docs: ran linter

* imp(docs): implemented review items

* fix: typos (#4796)

* fix typo

* fix typo

* fix typos

* fix typos

* fix typos

* fix typo

* imp!: use expected interface for legacy params subspace (#4811)

* imp: use expected interface for legacy params subspace

* chore: define GetParamSet on expected interface and rm explicit type conversions

* chore: fix fork e2es (#4813)

* chore: mergify task and e2e tests for `release/v8.0.x` (#4765)

* chore: mergify task and e2e tests for release/v8.0.x

* preventing single chain tests to run on more than one chain

* extra polishing of yaml files

* add release/v8.0.x to drop down menus

* use hermes relayer instead of rly

* docs: add changelog entry for #4835

* doc: adding migration doc info for nil legacy subspace (#4816)

* Change host relay tests to check error returned (#4161)

* Add failure case for msg failing on ValidateBasic.

* Move testing for host relay to check for error returns.

* Use similar error checking as other tests.

* Use NoError, wrap err in error message.

* fix: relay test expected result

---------

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

* build(deps): Bump golang.org/x/mod from 0.12.0 to 0.13.0 in /e2e (#4839)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.12.0 to 0.13.0.
- [Commits](https://github.com/golang/mod/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0 (#4846)

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](https://github.com/spf13/viper/compare/v1.16.0...v1.17.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 e2e, callbacks, capability.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump bufbuild/buf-setup-action from 1.26.1 to 1.27.0 (#4847)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.26.1 to 1.27.0.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.26.1...v1.27.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: Carlos Rodriguez <carlos@interchain.io>

* e2e : migrate interchaintest.GetBalance to CosmosChain's GetBalance (#4683)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#4855)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* imp: add go mod tidy all script (#4845)

* feat: add go mod tidy all script

* feedback

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chores: add v4.5.0 tag and remove v5.2.x (end of life) (#4840)

* chore: fixing compatibility tests (#4876)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0 (#4889)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.11.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* The typical dance, again.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2 (#4890)

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2

Bumps [cosmossdk.io/api](https://github.com/cosmos/cosmos-sdk) from 0.7.1 to 0.7.2.
- [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/v0.7.1...api/v0.7.2)

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

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

* The typical dance.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* imp: add init-simapp script (#4844)

* feat: add init-simapp script

* Apply suggestions from code review

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

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chore: fixes for legacy amino encoding for ledger signing (#4812)

* chore(wip): fixes for legacy amino encoding for ledger signing

* chore: cleanup, format and add additional fee annotations

* fix: register legacy amino codec in 29-fee

* build(deps): Bump bufbuild/buf-setup-action from 1.27.0 to 1.27.1 (#4906)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.0 to 1.27.1.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.0...v1.27.1)

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

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

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0 (#4904)

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* remove test that does not apply to v6.1.x and v6.2.x release lines

* small improvements to v8 migration docs

* Automate Discord Notification for New Releases (#4918)

* Create discord_notify.yml

Add GitHub Action for Discord release notifications

* Rename discord_notify.yml to discord-notify.yml

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* docs: add google analytics 4 support (#4933)

* deps(docs): ran 'npm i --save @docusaurus/plugin-google-gtag'

* feat(docs): added google analytics 4 to docs

* Add note for adding a build tag in new e2e files. (#4937)

* docs: add microsoft clarity support (#4935)

* deps(docs): ran 'npm i --save @gracefullight/docusaurus-plugin-microsoft-clarity'

* feat(docs): added microsoft clarity support

* chores for new patch releases for v4, v5, v6, v7 (#4922)

* release chores

* remove tag from tests

* remove tag from tests

* build(deps): Bump actions/setup-node from 3 to 4 (#4941)

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

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

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

* fix(msg): register proto interface (#4944)

* build(deps): Bump tj-actions/changed-files from 39 to 40 (#4962)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39 to 40.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v39...v40)

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

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

* chore: remove redundant code (#4952)

* deps(e2e): update hermes tag (#4968)

* Register message service descriptor (#4969)

* docs: fee middleware tutorial improvements (#4979)

* docs: removed duplicate code snippet

* docs: consistent use of yaml vs yml

* docs: using 'auto_register_counterparty_payee'

* docs: added Fee Middleware docs to prereqs

* docs: fixed broken link

* docs: improved fee tutorial

* imp: review item

* (mod/capability) Use AppModule directly in favour of AppModuleBasic in mod/capability (#4982)

* removing appmodulebasic and all nil/unneeded functions

* lint

* test file changes

* lint

---------

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

* deps: bump Cosmos SDK to tip of `release/v0.50.x` (#4976)

* deps: bump to Cosmos SDK @ 0469fc17e1587850e7de390af282df5215287a21

* lint

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

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

* Add a test for 07-tendermint's GetTimestampAtHeight (#4972)

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

* build(deps): Bump bufbuild/buf-setup-action from 1.27.1 to 1.27.2 (#4988)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.1 to 1.27.2.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.1...v1.27.2)

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

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

* refactor(simapp): re-wire autocli with latest client/v2 changes (#4843)

* refactor: wire autocli

* go mod tidy all + fix textual

* removing initmodule from ica (#4977)

* remoing appmodulebasic interface from capability and initmodule function which mimicks initgenesis

* undoing capability change

* imp(statemachine)!: add length validation of string fields in messages

Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* chore: EoL for v4 and v5 (#4995)

* simplifying code in packet_test (#4980)

* reducing boilerplate code

* lint

* gofumpt

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0 (#5009)

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0

Bumps [cosmossdk.io/store](https://github.com/cosmos/cosmos-sdk) from 1.0.0-rc.0 to 1.0.0.
- [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-rc.0...log/v1.0.0)

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

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

* chore: 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: chatton <github.qpeyb@simplelogin.fr>

* fix: docs typos (#5014)

* Fix typos 01-overview.md

* Fix Typos 00-intro.md

Fixed typos & tweaked intro language

* style: raname sidebar Tutorials to Developer Portal

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>

* docs: fix typos (#5019)

* fix expect pointer error when unmarshalling misbehaviour file (#5020)

* fix expect pointer error when unmarshalling misbehaviour file

* Update CHANGELOG.md

---------

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

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0 (#5017)

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.12.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* bump callbacks

* e2e: 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>

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#5024)

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.7.0...v1.8.0)

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

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

* chore: make tidy-all

---------

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>

* build(deps): Bump golang.org/x/mod from 0.13.0 to 0.14.0 in /e2e (#5025)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.13.0 to 0.14.0.
- [Commits](https://github.com/golang/mod/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0 (#5034)

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0

Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.1.3-rc.1 to 1.2.0.
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/math/v1.1.3-rc.1...log/v1.2.0)

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

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

* chore: tidy all

---------

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>

* chore: fix error formatting of client status check in client recovery (#5039)

* deps: bump SDK v0.50.1 (#5038)

* deps: bump SDK v0.50.1

* update changelog

* deps: downgrade cosmossdk.io/core to v0.11.0

* fix interchain accounts tests

* implement app module basic correctly for capability module

* bump SDK to v0.50.1 in capability module

* downgrade cosmossdk.io/api to v0.7.2

* downgrade cosmossdk.io/api to v7.2.0 for callbacks

* Bump dependencies (#5064)

* deps: update mod/capability to v1.0.0 (#5046)

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

* imp: updated urls (#5031)

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

* docs: new social card for docs (#5080)

* docs: added new social card

* docs: updated social card

* chore: add mergify backport for 08-wasm (#5077)

* docs: add docs folder for v8.0.x (#5078)

* docs: add docs folder for v8.0.x

* fix links

* docs: fixed with absolute url links

* docs: fix more links

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Charly <charly@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Susannah Evans <65018876+womensrights@users.noreply.github.com>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: nguyen <144610611+trinitys7@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Adi <103246632+adiraviraj@users.noreply.github.com>
Co-authored-by: emidev98 <49301655+emidev98@users.noreply.github.com>
Co-authored-by: Muku <44918265+muku314115@users.noreply.github.com>
Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: zadkiel88 <106065297+zadkiel88@users.noreply.github.com>
Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: shuoer86 <129674997+shuoer86@users.noreply.github.com>
Co-authored-by: mmsqe <mavis@crypto.com>

* chore: propagate IBC authority to 04-channel keeper to be used within upgrade cancellation (#5093)

* chore: add authority to function params, test flow for checking msg sender against authority

* linter

* refactor: use isAuthority bool in favour of passing signer and authority to 04-channel

---------

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

* Amend validation of upgrade fields to use variable holding supported orderings. (#5152)

* refactor: adapt testing endpoint query for channel upgrade proofs (#5165)

* test: adding test for crossing hello trys with historical proofs (#5143)

* test: adding test for crossing hello trys with historical proofs

* chore: make format

* chore: address TODO in test case with switch of proof query endpoint

* chore: replace dummy error with correct error type (#5177)

* Remove incorrect godoc (#5203)

* chore: correct returned error (#5205)

* chore: adding comment to add clarity to returned upgrade (#5214)

* Verify channel upgrade can be completed after cancellation is successful (#5163)

* Remove last packet sent from new upgrade constructor. (#5210)

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

* Reorder call to application callback so it happens after we write state. (#5230)

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

* chore: allow authorized senders to submit empty error receipt proof (#5232)

* remove incorect code (#5235)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* chore: panic instead of return err (#5246)

* chore: add comment about version assignment (#5239)

* Add  to docstring with explanation about channel state (#5236)

* Chore: replace `fmt.Sprintf` with `fmt.Errorf` in `upgrades.go` (#5291)

* replace Sprintf with Errorf in WriteUpgradeAckChannel

* replace Sprintf with Errorf in upgrade.go

* fix: add event and event emission for `FLUSHCOMPLETE` (#5245)

* add event emit

* minor

* add testing for moving to flushing complete event

* minor

* Remove setting counterparty upgrade info in upgrade try (#5238)

* chore: updated tests to reflect the timeout and ack changes

* chore: adding status check on channel when channel is flushing

* review comment

---------

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

* fix: allow error receipt to be nil in case of the msg sender is the authority (#5262)

* fix + tests

* shuffle about logic ordering

* Added the MetadataFromVersion function

* Move events to message server layer instead of core level (#5264)

* wip: moving events up to the message server layer

* wip: move events out to message server layer

* chore: commenting out event tests

* Fix merge issue.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* use function in a few other places, fix typo in function name, fix test

* review comment

* imp: use MetadataFromVersion function in 27-interchain-accounts (#5300)

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

* remove channel id (#5307)

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

* remove comment that unused (#5308)

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

* Implement OnChanUpgradeInit on Controller Chain for interchain-accounts (#5141)

* chore: adding controller implementation for OnChanUpgradeInit

* chore: happy path test passing

* chore: adding fail case

* chore: adding additional test cases

* chore: fix linting

* chore: improving errors

* chore: refactor to use test keeper function directly

* chore: add check for enabled controller module

* chore: call into middleware if provided

* chore: addressing PR feedback

* revert change in godoc of GetConnectionID

* fix: typo in MetadataFromVersion func

* chore: rm duplicate func

---------

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

* Add a helper function to create a mock contract. (#5162)

* docs: improved channel closure docs (#5170)

* docs: improved channel closure docs

* docs: ran linter

* chore: use `GetPrefixedDenom` to create IBC token denom (#5175)

* build(deps): Bump DavidAnson/markdownlint-cli2-action from 13 to 14 (#5176)

Bumps [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action) from 13 to 14.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/455b6612a7b7a80f28be9e019b70abdd11696e4e"><code>455b661</code></a> Update to version 14.0.0.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/fa0be7308fe9ed25a7d2ebaa0017dcf119c174d3"><code>fa0be73</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/1e5b6609c975f6023b335289c93acab187740b7d"><code>1e5b660</code></a> Remove &quot;command&quot; input deprecated in v11.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/b1a3c7b34980691d7de04930b0a0e82f96e98327"><code>b1a3c7b</code></a> Add CONTRIBUTING.md.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/feb7cc4324d395ee7746fd85e9115cb5dbca8a98"><code>feb7cc4</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/eeda66770c0f944c0c52595a2fdd5e130c0c3030"><code>eeda667</code></a> Bump markdownlint-cli2 from 0.10.0 to 0.11.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/4670abafb2e29f6ba1d52f1ee4dc5e35fa981963"><code>4670aba</code></a> Stop excluding generated file dist/index.js from diff check in npm test scrip...</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/404090a89e8ef8be91a2d458e120ab8636277d3c"><code>404090a</code></a> Bump eslint from 8.53.0 to 8.54.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/c69f13c27f4b0db012599e48dcdd3e6a216a9789"><code>c69f13c</code></a> Remove deprecated ESLint rules after version update.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/55caa5fd0a1c57994a687d53806b4cd35f5a2538"><code>55caa5f</code></a> Bump eslint from 8.52.0 to 8.53.0</li>
<li>Additional commits viewable in <a href="https://github.com/davidanson/markdownlint-cli2-action/compare/v13...v14">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=DavidAnson/markdownlint-cli2-action&package-manager=github_actions&previous-version=13&new-version=14)](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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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>

* docs: readme improvements (#5171)

* readme improvements

* add link

* chore(08-wasm): `Pin` code during app initialisation (#5161)

* init InitializePinnedCodes

* testing

* call Pin during app inisitalization

* linting

* update docs

* spacing

* update docs

* add extra line

* chore: update tmproto, tmos aliases to cmtproto, cmtos

* chore: use suite.Require().NoError(), rename gotErr to err

* testing: nits

* Use table driven tests for TestInitializedPinnedCodes

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* e2e: timeout transfer with grandpa light client (#5018)

* Change to StoreCodeUnchecked in Genesis and snapshotter (#5167)

* change to store code unchecked

* separate storeWasmCode and importWasmCode

* add parameter to storeWasmCode to pass the store function

* store code for msg server

* fix: typos in godocs

* Update modules/light-clients/08-wasm/internal/ibcwasm/expected_interfaces.go

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

* linting business

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* build(deps): Bump JamesIves/github-pages-deploy-action from 4.4.3 to 4.5.0 (#5188)

Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.4.3 to 4.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/jamesives/github-pages-deploy-action/releases">JamesIves/github-pages-deploy-action's releases</a>.</em></p>
<blockquote>
<h2>v4.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>The action is now built and run on Node 20.</li>
<li>Bump <code>@​types/node</code> from 20.4.1 to 20.4.2 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1399">JamesIves/github-pages-deploy-action#1399</a></li>
<li>Bump eslint-plugin-jest from 27.2.2 to 27.2.3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1400">JamesIves/github-pages-deploy-action#1400</a></li>
<li>Bump word-wrap from 1.2.3 to 1.2.4 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1401">JamesIves/github-pages-deploy-action#1401</a></li>
<li>Bump eslint-config-prettier from 8.8.0 to 8.9.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1405">JamesIves/github-pages-deploy-action#1405</a></li>
<li>Bump <code>@​types/node</code> from 20.4.2 to 20.4.9 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1413">JamesIves/github-pages-deploy-action#1413</a></li>
<li>Bump eslint-config-prettier from 8.9.0 to 9.0.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1410">JamesIve…
mergify bot pushed a commit that referenced this pull request Jan 4, 2024
* Add a check for connection state in UpgradeAck. (#3954)

* update WriteUpgradeTry to change flush status to `FLUSHCOMPLETE` if there are no packet commitments left (#3964)

* Add flush status check in SendPacket  (#3912)

* Add ChanUpgradeOpen core handler. (#3844)

* Add ChanUpgradeOpen core handler.

* Tests tests tests.

* Update upgrade open handler based on feedback.

* Reformat testing approach.

* Move counterpartyhops assignment inline.

* Check err of SetChannelState.

* Address feedback.

* Remove uneeded modification of version.

* Add flushing check to WriteUpgradeAckChannel (#3976)

* chore: adding check for in flight packets in WriteUpgradeAckChannel

* added test for TestWriteUpgradeAckChannel

* linter

* add client update to UpgradeAckChannel test

* mv test

* merge

* fix post-merge

* fix merge issues

* review comment

---------

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

* remove depguard from golangci-lint (#4000)

* Set channel state to NOTINFLUSH when Closing (#3995)

* Set Counterparty Last Sequence Send (#4005)

* Add FlushStatus Checks to RecvPacket (#3914)

* Add implementation for message server handling of ChanUpgradeOpen. (#3895)

* Add implementation for message server handling of ChanUpgradeOpen.

* Add tests for msg_server.

* Address review feedback.

* Remove setting of flush status.

* Apply suggestions from code review

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

* Address rest of review comments.

---------

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

* helper function for validating a counterparty upgrade against the selfupgrade (#4016)

* Make AbortUpgrade panic on failure (#4011)

* chore: update abort upgrade function to panic on error

* apply review suggestions

---------

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

* Amend AcknowledgePacket to handle flushing (#3922)

* Amend Ack packet to keep acknowledging if we're in the process of flushing pre-upgrade packets.

* Use handshake to reach correct state before mutating any fields.

* Add test to verify post-ack channel state after last in-flight packet.

* Remove unecessary modifications of version for non initializing channel end.

* Test both cases: final in-flight packet and non-final one.

* Apply suggestions from code review

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

* Remove manual setting of flush status.

* Update test name, pass mock version to both channels.

---------

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

* Amend timeout to handle in-flight packets. (#3923)

* Amend timeout to handle in-flight packets.

* Update timeout handler per spec.

* Update tests to test for toggling of flush status.

* Fix small typos in docstring.

---------

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

* change comment

* chore: adding callback for OnChanUpgradeRestore in abort scenarios (#4051)

* Pass in counterparty portID, channelID when verifying channel in ChanUpgradeOpen. (#4052)

* Pass in counterparty portid, channelid.

* use direct check on err.

* Force distinct channel identifiers when testing UpgradeOpen.

* Remove manual setting of flush status in ChanUpgradeOpen. (#4064)

* Use counterparty portid, channelid when verifying channel upgrade error. (#4063)

* feat: adding `OnChanUpgradeInit` handler implementation to `29-fee` (#4019)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

---------

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

* feat: adding `OnChanUpgradeTry` handler implementation for `29-fee` (#4023)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

---------

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

* feat: adding `OnChanUpgradeAck` handler implementation to `29-fee` (#4028)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding onChanUpgradeAck implementation to 29-fee, adding tests

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

* updating to use types.MetadataFromVersion in OnChanUpgradeAck

* updating tests to add additional checks

---------

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

* Use counterparty connection hops when verifying channel state (#4074)

* use counterparty conn hops.

* Clean up tests.

* Amend inline comment slightly.

* Address nits

---------

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

* chore: adding comment to 29-fee OnChanUpgradeOpen callback (#4123)

* Add tests for WriteUpgradeOpenChannel. (#4077)

* Add tests for WriteUpgradeCancel. (#4076)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck. (#4075)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck.

* Add comment noting that counterparty flush status has been verified before usage.

* Fix failing tests.

* imp: use HasInflightPackets to check if channel has finished flushing. (#4134)

* feat: adding `OnChanUpgradeInit` implementation to transfer (#4126)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* updating to use NewTranferPath in test func

* address pr comment - reformat error msg

* Remove superfluous ignore directive. (#4158)

* feat: adding OnChanUpgradeTry implementation to transfer (#4137)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* adding onChanUpgradeTry impl for transfer app, adding tests

* updating to use NewTranferPath in test func

* restructure error formatting

* Call app callback after writting state in Cancel and Timeout. (#4166)

* helper function to clear state stored during an upgrade (#4147)

* add `IsUpgradError` func for readability (#4144)

* add IsUpgradeError function

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

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* gofumpt

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

Co-authored-by: Charly <charly@interchain.io>

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* add check that channel exists in upgrade gRPCs (#4156)

* add check that channel exists

* use has function instead

* consistent connection lookup calls in 04-channel (#4146)

* nit: error formatting improvements for channel upgrades (#4097)

* string formatting improvements

* fix typo

* review comment

* review comment

* review comment

* review comment

* added test for event emission (#4020)

* feat: implement `OnChanUpgradeAck` for transfer (#4215)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly (#4221)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly

* lint me

* rm duplicate test from merge

* test: adding test for events in channel upgrade try (#4226)

* Add store functions for counterparty upgrade. (#4293)

* Add store functions for counterparty upgrade.

* Apply suggestions from code review

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

---------

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

* Add FLUSHING/FLUSHCOMPLETE to Channel state. (#4300)

* feat: adding `ChannelUpgradeConfirm` rpc and msgs (#4302)

* adding protobuf msgs and rpc service definition

* adding empty boilerplate method stub

* register msg codec and add sdk.Msg impl + tests

* chore: move verification before startFlushUpgradeHandshake (#4285)

* rebase `04-channel-upgrades` branch (#4160)

* update with latest changes from main

* fix conflicts in e2e

* make invalid version constant

* fix linter by using constant instead of literal

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Revert "rebase `04-channel-upgrades` branch (#4160)"

This reverts commit d5e63d40695adc6c1aad16160ea3bf655251825c.

* rm unnecessary test matrix file

* make lint-fix

* satisfy revive linter

* updating feature banch ci workflow for golangci-lint

* bumping golangci-lint action to v3.6.0

* define go version as string in workflow

* Delete counterparty upgrade in deleteUpgradeInfo. Move function to keeper. (#4294)

* Remove check for counterparty timeout in ChanUpgradeTry. (#4301)

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

* Store counterparty upgrade after ack finishes. (#4299)

* call verification of counterparty channel, upgrade in upgradetry. (#4310)

* Add verification calls in ChanUpgradeAck. (#4312)

* Add ChanUpgradeConfirm to endpoint. (#4314)

* Remove verification calls in StartFlushUpgradeHandshake (#4317)

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

* test: add events test for ChannelUpgradeTimeout (#4284)

* test: add event emission test for ChanUpgradeCancel (#4281)

* Check counterparty timeout hasn't elapsed in ChanUpgradeAck. (#4305)

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

* refactor: modify `ChannelUpgradeInit` to only store upgrade fields (#4344)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* Add test for event emission ChanUpgradeAck (#4228)

* test: add event test for chan upgrade ack

* gofumpt file

---------

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

* Adding test for events for ChanUpgradeOpen (#4230)

* test: adding test for events for chan upgrade open

* Update upgrade_test.go

---------

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

* Move check to fail on incompatible upgrade after proof verification. (#4320)

* Move check to fail on incompatible upgrade after proof verification.

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

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

* lint fix

---------

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

* Add functions checkForUpgradeCompatibility and syncUpgradeSequence (#4352)

* refactor: modify upgrade init to not change channel state (#4357)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* address nits from pr review

* refactor: cleanup upgrade init app callback args (#4359)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* refactor: rm unnecessary args in application upgrade init callback

* Add WriteUpgradeConfirm function. (#4303)

* Add WriteUpgradeConfirm function.

* Add some sweet godoc for this bad boy.

* Apply suggestions from code review

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

---------

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

* Modify startFlushUpgradeHandshake to be used as a write function (#4360)

* Remove restore logic in upgrade TRY handler (#4362)

* refactor: remove `FlushStatus` from ack handler and msg (#4364)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Amend checkForUpgradeCompatibility to check that versions match (#4366)

* refactor: modify ack handler expected channel state (#4371)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Channel Upgrade Ack (#4372)

* feat: adding `chanUpgradeConfirm` implementation to `04-channel` (#4373)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* feat: adding msg server implementation for `ChanUpgradeConfirm` (#4376)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Remove check on flush status for send packet. (#4384)

* Remove check on flush status for send packet.

* Rename test, remove duplicate test.

* Channel Upgrade Open (#4379)

* Implement Channel Upgrade Cancel (#4404)

* Refactor `TestWriteUpgradeCancelChannel` (#4424)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

* refactor: updated ChanUpgradeOpen keeper function to match spec

* chore: fixing tests for ChannelUpgradeOpen

* chore: added test case for invalid counterparty channel state

* chore: adding new implementation for ChannelUpgradeClose

* chore: fix TestWriteUpgradeCancelChannel

* chore: addressing feedback

* chore: simplified test cases

* chore: fix linter

* chore: remove duplicate connection test

* Apply suggestions from code review

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

* refactor TestWriteUpgradeCancelChannel to use table tests

* delete unused variable

* lint

* update check panic

* update from code review

* Apply suggestions from code review

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Refactor `TestWriteUpgradeOpenChannel` (#4431)

* refactor TestWriteUpgradeOpenChannel to use table tests

* Apply suggestions from code review

* lint

* revert AttributeKeyUpgradeChannelFlushStatus

---------

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

* refactor: acknowledgePacket handling flushing / flush complete state  (#4412)

* refactor: handle flush complete channel state transition in acknowledgePacket

* wip: adding testcases for acknowledgePacket with flushing state

* lint: make lint-fix

* test: adding assertFn temporarily to tests to provide after test state checks

* set counterparty upgrade on write try fn

* Add UpgradeTimeout as a params field in the channel submodule (#4411)

* Refactor TestWriteUpgradeTry to remove flush status checks (#4430)

* refactor: use `expResult` in acknowledgePacket tests (#4439)

* refactor: adapt acknowledgePacket tests to use expResult func

* cleanup: removing redundant stale tests

* fix: assert ErrInvalidProof for verification failure. modify suite.Run tc naming

* Implement ChanUpgradeTimeout with spec changes (#4438)

* Amend recvPacket as per spec. (#4386)

* Amend recvPacket as per spec.

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

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

* Drop usage of CounterpartyLastSequenceSend.

* Cover all cases.

* Use SetChannelCounterpartyUpgrade.

* Add expected errors, remove duplicate test.

* Remove setting of counterparty last sequence send in other test case.

* Shorthand initialization of dummy upgrade.

* Apply suggestions from code review

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

---------

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Update error receipt event emission to use correct event type (#4451)

* Account for moving channel state to flush complete in timeout processing (#4425)

* Remove init, try, ack upgrade states (#4455)

* refactor: remove `FlushStatus` from channel end (#4457)

* refactor: remove flush status from channel end

* remove flush status enum

* address pr review comments and remove additional refs in comments

* Refactor channel upgradability msgs to reflect updated spec (#4456)

* Amend timeoutPacket to allow timeouts on any channel state. (#4367)

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

* Refactor recvPacket tests to use expError. (#4471)

* Refactor recvPacket tests to use expError.

* Use testify's ErrorIs.

* refactor: remove counterparty last sequence send state entry (#4473)

* Don't write channel to state when not modified. (#4495)

* refactor: rename channel upgradability flush states (#4488)

* Don't emit event information for unchanged upgrade. (#4492)

* Add tests for WriteUpgradeConfirm. (#4490)

* Allow receiving of packets if the counterparty latest sequence send has not been set (#4480)

* allow receiving of packets if the counterparty latest sequence send has not been set.

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

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

* Address feedback, lint fix.

* STATUS_FLUSHING -> FLUSHING

---------

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

* chore: re-enable disabled test case in `chanUpgradeTry` (#4501)

* Resolve commented out testcases for Channel Upgrades (#4474)

* refactor: adding additional upgrade fields args to onChanUpgradeOpen (#4478)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm (#4491)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm

* fix: adapt failing test and format

* fix: resolve compiler breakage of enum naming

* Use only timestamp only for upgrade timeouts. (#4482)

* Timing out packets on ordered channels when in flushing state aborts upgrade and closes channel (#4475)

* Change UpgradeTimeout to from absolute to relative (#4511)

* refactor: fee middleware onChanUpgradeInit callback (#4514)

* refactor: fee middleware onChanUpgradeTry callback (#4515)

Co-authored-by: Cian Hatton <cian@interchain.io>

* refactor: implementation for onChanUpgradeAck ics29 (#4523)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl (#4524)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* adding comment to discarded return arg

* test: adding integration test for fee transfer channel upgrade (#4533)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* test: adding integration test for fee transfer channel upgrade

* fix: check that `MsgChannelUpgradeInit` is signed by authority (#4773)

* Chore: consistent argument order (#4545)

* order arguments

* Revert "order arguments"

This reverts commit 2de37271e6f19b77e01cef65a1120a663486c040.

* reorder arguments of channel upgrade verify functions

* missing changes

---------

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

* Add ParseProposalIDFromEvents helper function (#4942)

* add ParseProposalIDFromEvents

* update with damian suggest

* imp: remove `LatestSequenceSend` (#5108)

* del: latestsequencesend field

* fix: comment

* gofumpt

* del: tests

* del leftover tests part

* adressing comments

* addressing comment

---------

Co-authored-by: sangier <stefano@Stefanos-MacBook-Pro.local>
Co-authored-by: sangier <stefano@interchain.io>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* chore: rebase 04-channel-upgrades feature branch (#5085)

* move legacy keytable init to migration handler code (#4730)

* deps: bump SDK v0.50-rc.1 (#4763)

* test: run tests of all go.mods (#4468)

* test: run tests of all go.mods

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

* Remove +build directive which is deprecated, remove tparse hadnling in Makefile.

* Add sdk script, remove LINT_DIFF.

* Fix linting issues that popped up.

* Add script to run tests for all modules.

* chore: add executible permissions to script, rename to avoid shadowing dir builtin

* chore: use python3 instead of python

* chore: add venv to gitignore

* Disallow env vars not being set, clean up minor issues.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* docs: some more v8 migration docs (#4728)

* docs: some more migration docs

* alignment

* alignment 2

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* update about proposals

* update docs after putting back legacy proposals

* add links for gov v1 messages

* update link of importable workflow

* add information about facilities to test upgrade

* add notes about cosmos sdk v0.50 upgrading guide

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* add extra info about authority and merkle path functions that have been removed

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* deps: bump mod/capability to v1.0.0-rc6 (#4768)

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* Fix e2e-upgrade.yaml complaint. (#4772)

* deps(docs): bump docusaurus from v2.4.1 to v2.4.3

* Fix e2e linting issues. (#4767)

* test extra conditions for `ApplyPrefix` (#4764)

* test extra conditions

* review comment

* Add codec registrations tests for apps (#4780)

* Add test for type registration for transfer.

* Add test for type registration for fee.

* Add test for type registration for ica.

* Lint this bad boy

* Apply suggestions from code review

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

---------

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

* Save gas on capability IsInitialized (#4770)

* chore: fix broken links/rename folders (#4781)

* chore: fix broken links/rename folders

* typo

* fix link

* Use slices.ContainsFunc instead of separate contains func. (#4786)

* docs: fix links (#4787)

* chore: update changelog (#4774)

* chore: update changelog

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

---------

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* docs: implemented Mary's suggestions (#4775)

* docs: implemented Mary's suggestions

* imp(docs): updated the large IBC logo

---------

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

* Update repo cover image (#4794)

* docs: added tutorial for Cosmoverse 2023 (#4793)

* feat(docs): added custom components

* feat(docs): added and tested custom components

* docs: fee app.go integration tutorial added

* imp(docs): added custom git diff magic comments

* deps: switched to '@saucelabs/theme-github-codeblock'

* imp(docs): improved fee wiring up and added keplr to env setup

* imp(docs): added react scaffold docs

* imp(docs): added fee mw react component

* imp(docs): finished all files of the demo

* imp(docs): updated links and styling

* docs: ran linter

* imp(docs): implemented review items

* fix: typos (#4796)

* fix typo

* fix typo

* fix typos

* fix typos

* fix typos

* fix typo

* imp!: use expected interface for legacy params subspace (#4811)

* imp: use expected interface for legacy params subspace

* chore: define GetParamSet on expected interface and rm explicit type conversions

* chore: fix fork e2es (#4813)

* chore: mergify task and e2e tests for `release/v8.0.x` (#4765)

* chore: mergify task and e2e tests for release/v8.0.x

* preventing single chain tests to run on more than one chain

* extra polishing of yaml files

* add release/v8.0.x to drop down menus

* use hermes relayer instead of rly

* docs: add changelog entry for #4835

* doc: adding migration doc info for nil legacy subspace (#4816)

* Change host relay tests to check error returned (#4161)

* Add failure case for msg failing on ValidateBasic.

* Move testing for host relay to check for error returns.

* Use similar error checking as other tests.

* Use NoError, wrap err in error message.

* fix: relay test expected result

---------

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

* build(deps): Bump golang.org/x/mod from 0.12.0 to 0.13.0 in /e2e (#4839)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.12.0 to 0.13.0.
- [Commits](https://github.com/golang/mod/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0 (#4846)

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](https://github.com/spf13/viper/compare/v1.16.0...v1.17.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 e2e, callbacks, capability.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump bufbuild/buf-setup-action from 1.26.1 to 1.27.0 (#4847)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.26.1 to 1.27.0.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.26.1...v1.27.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: Carlos Rodriguez <carlos@interchain.io>

* e2e : migrate interchaintest.GetBalance to CosmosChain's GetBalance (#4683)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#4855)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* imp: add go mod tidy all script (#4845)

* feat: add go mod tidy all script

* feedback

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chores: add v4.5.0 tag and remove v5.2.x (end of life) (#4840)

* chore: fixing compatibility tests (#4876)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0 (#4889)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.11.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* The typical dance, again.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2 (#4890)

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2

Bumps [cosmossdk.io/api](https://github.com/cosmos/cosmos-sdk) from 0.7.1 to 0.7.2.
- [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/v0.7.1...api/v0.7.2)

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

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

* The typical dance.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* imp: add init-simapp script (#4844)

* feat: add init-simapp script

* Apply suggestions from code review

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

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chore: fixes for legacy amino encoding for ledger signing (#4812)

* chore(wip): fixes for legacy amino encoding for ledger signing

* chore: cleanup, format and add additional fee annotations

* fix: register legacy amino codec in 29-fee

* build(deps): Bump bufbuild/buf-setup-action from 1.27.0 to 1.27.1 (#4906)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.0 to 1.27.1.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.0...v1.27.1)

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

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

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0 (#4904)

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* remove test that does not apply to v6.1.x and v6.2.x release lines

* small improvements to v8 migration docs

* Automate Discord Notification for New Releases (#4918)

* Create discord_notify.yml

Add GitHub Action for Discord release notifications

* Rename discord_notify.yml to discord-notify.yml

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* docs: add google analytics 4 support (#4933)

* deps(docs): ran 'npm i --save @docusaurus/plugin-google-gtag'

* feat(docs): added google analytics 4 to docs

* Add note for adding a build tag in new e2e files. (#4937)

* docs: add microsoft clarity support (#4935)

* deps(docs): ran 'npm i --save @gracefullight/docusaurus-plugin-microsoft-clarity'

* feat(docs): added microsoft clarity support

* chores for new patch releases for v4, v5, v6, v7 (#4922)

* release chores

* remove tag from tests

* remove tag from tests

* build(deps): Bump actions/setup-node from 3 to 4 (#4941)

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

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

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

* fix(msg): register proto interface (#4944)

* build(deps): Bump tj-actions/changed-files from 39 to 40 (#4962)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39 to 40.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v39...v40)

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

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

* chore: remove redundant code (#4952)

* deps(e2e): update hermes tag (#4968)

* Register message service descriptor (#4969)

* docs: fee middleware tutorial improvements (#4979)

* docs: removed duplicate code snippet

* docs: consistent use of yaml vs yml

* docs: using 'auto_register_counterparty_payee'

* docs: added Fee Middleware docs to prereqs

* docs: fixed broken link

* docs: improved fee tutorial

* imp: review item

* (mod/capability) Use AppModule directly in favour of AppModuleBasic in mod/capability (#4982)

* removing appmodulebasic and all nil/unneeded functions

* lint

* test file changes

* lint

---------

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

* deps: bump Cosmos SDK to tip of `release/v0.50.x` (#4976)

* deps: bump to Cosmos SDK @ 0469fc17e1587850e7de390af282df5215287a21

* lint

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

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

* Add a test for 07-tendermint's GetTimestampAtHeight (#4972)

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

* build(deps): Bump bufbuild/buf-setup-action from 1.27.1 to 1.27.2 (#4988)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.1 to 1.27.2.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.1...v1.27.2)

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

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

* refactor(simapp): re-wire autocli with latest client/v2 changes (#4843)

* refactor: wire autocli

* go mod tidy all + fix textual

* removing initmodule from ica (#4977)

* remoing appmodulebasic interface from capability and initmodule function which mimicks initgenesis

* undoing capability change

* imp(statemachine)!: add length validation of string fields in messages

Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* chore: EoL for v4 and v5 (#4995)

* simplifying code in packet_test (#4980)

* reducing boilerplate code

* lint

* gofumpt

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0 (#5009)

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0

Bumps [cosmossdk.io/store](https://github.com/cosmos/cosmos-sdk) from 1.0.0-rc.0 to 1.0.0.
- [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-rc.0...log/v1.0.0)

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

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

* chore: 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: chatton <github.qpeyb@simplelogin.fr>

* fix: docs typos (#5014)

* Fix typos 01-overview.md

* Fix Typos 00-intro.md

Fixed typos & tweaked intro language

* style: raname sidebar Tutorials to Developer Portal

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>

* docs: fix typos (#5019)

* fix expect pointer error when unmarshalling misbehaviour file (#5020)

* fix expect pointer error when unmarshalling misbehaviour file

* Update CHANGELOG.md

---------

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

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0 (#5017)

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.12.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* bump callbacks

* e2e: 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>

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#5024)

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.7.0...v1.8.0)

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

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

* chore: make tidy-all

---------

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>

* build(deps): Bump golang.org/x/mod from 0.13.0 to 0.14.0 in /e2e (#5025)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.13.0 to 0.14.0.
- [Commits](https://github.com/golang/mod/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0 (#5034)

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0

Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.1.3-rc.1 to 1.2.0.
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/math/v1.1.3-rc.1...log/v1.2.0)

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

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

* chore: tidy all

---------

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>

* chore: fix error formatting of client status check in client recovery (#5039)

* deps: bump SDK v0.50.1 (#5038)

* deps: bump SDK v0.50.1

* update changelog

* deps: downgrade cosmossdk.io/core to v0.11.0

* fix interchain accounts tests

* implement app module basic correctly for capability module

* bump SDK to v0.50.1 in capability module

* downgrade cosmossdk.io/api to v0.7.2

* downgrade cosmossdk.io/api to v7.2.0 for callbacks

* Bump dependencies (#5064)

* deps: update mod/capability to v1.0.0 (#5046)

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

* imp: updated urls (#5031)

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

* docs: new social card for docs (#5080)

* docs: added new social card

* docs: updated social card

* chore: add mergify backport for 08-wasm (#5077)

* docs: add docs folder for v8.0.x (#5078)

* docs: add docs folder for v8.0.x

* fix links

* docs: fixed with absolute url links

* docs: fix more links

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Charly <charly@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Susannah Evans <65018876+womensrights@users.noreply.github.com>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: nguyen <144610611+trinitys7@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Adi <103246632+adiraviraj@users.noreply.github.com>
Co-authored-by: emidev98 <49301655+emidev98@users.noreply.github.com>
Co-authored-by: Muku <44918265+muku314115@users.noreply.github.com>
Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: zadkiel88 <106065297+zadkiel88@users.noreply.github.com>
Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: shuoer86 <129674997+shuoer86@users.noreply.github.com>
Co-authored-by: mmsqe <mavis@crypto.com>

* chore: propagate IBC authority to 04-channel keeper to be used within upgrade cancellation (#5093)

* chore: add authority to function params, test flow for checking msg sender against authority

* linter

* refactor: use isAuthority bool in favour of passing signer and authority to 04-channel

---------

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

* Amend validation of upgrade fields to use variable holding supported orderings. (#5152)

* refactor: adapt testing endpoint query for channel upgrade proofs (#5165)

* test: adding test for crossing hello trys with historical proofs (#5143)

* test: adding test for crossing hello trys with historical proofs

* chore: make format

* chore: address TODO in test case with switch of proof query endpoint

* chore: replace dummy error with correct error type (#5177)

* Remove incorrect godoc (#5203)

* chore: correct returned error (#5205)

* chore: adding comment to add clarity to returned upgrade (#5214)

* Verify channel upgrade can be completed after cancellation is successful (#5163)

* Remove last packet sent from new upgrade constructor. (#5210)

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

* Reorder call to application callback so it happens after we write state. (#5230)

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

* chore: allow authorized senders to submit empty error receipt proof (#5232)

* remove incorect code (#5235)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* chore: panic instead of return err (#5246)

* chore: add comment about version assignment (#5239)

* Add  to docstring with explanation about channel state (#5236)

* Chore: replace `fmt.Sprintf` with `fmt.Errorf` in `upgrades.go` (#5291)

* replace Sprintf with Errorf in WriteUpgradeAckChannel

* replace Sprintf with Errorf in upgrade.go

* fix: add event and event emission for `FLUSHCOMPLETE` (#5245)

* add event emit

* minor

* add testing for moving to flushing complete event

* minor

* Remove setting counterparty upgrade info in upgrade try (#5238)

* chore: updated tests to reflect the timeout and ack changes

* chore: adding status check on channel when channel is flushing

* review comment

---------

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

* fix: allow error receipt to be nil in case of the msg sender is the authority (#5262)

* fix + tests

* shuffle about logic ordering

* Added the MetadataFromVersion function

* Move events to message server layer instead of core level (#5264)

* wip: moving events up to the message server layer

* wip: move events out to message server layer

* chore: commenting out event tests

* Fix merge issue.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* use function in a few other places, fix typo in function name, fix test

* review comment

* imp: use MetadataFromVersion function in 27-interchain-accounts (#5300)

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

* remove channel id (#5307)

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

* remove comment that unused (#5308)

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

* Implement OnChanUpgradeInit on Controller Chain for interchain-accounts (#5141)

* chore: adding controller implementation for OnChanUpgradeInit

* chore: happy path test passing

* chore: adding fail case

* chore: adding additional test cases

* chore: fix linting

* chore: improving errors

* chore: refactor to use test keeper function directly

* chore: add check for enabled controller module

* chore: call into middleware if provided

* chore: addressing PR feedback

* revert change in godoc of GetConnectionID

* fix: typo in MetadataFromVersion func

* chore: rm duplicate func

---------

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

* Add a helper function to create a mock contract. (#5162)

* docs: improved channel closure docs (#5170)

* docs: improved channel closure docs

* docs: ran linter

* chore: use `GetPrefixedDenom` to create IBC token denom (#5175)

* build(deps): Bump DavidAnson/markdownlint-cli2-action from 13 to 14 (#5176)

Bumps [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action) from 13 to 14.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/455b6612a7b7a80f28be9e019b70abdd11696e4e"><code>455b661</code></a> Update to version 14.0.0.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/fa0be7308fe9ed25a7d2ebaa0017dcf119c174d3"><code>fa0be73</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/1e5b6609c975f6023b335289c93acab187740b7d"><code>1e5b660</code></a> Remove &quot;command&quot; input deprecated in v11.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/b1a3c7b34980691d7de04930b0a0e82f96e98327"><code>b1a3c7b</code></a> Add CONTRIBUTING.md.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/feb7cc4324d395ee7746fd85e9115cb5dbca8a98"><code>feb7cc4</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/eeda66770c0f944c0c52595a2fdd5e130c0c3030"><code>eeda667</code></a> Bump markdownlint-cli2 from 0.10.0 to 0.11.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/4670abafb2e29f6ba1d52f1ee4dc5e35fa981963"><code>4670aba</code></a> Stop excluding generated file dist/index.js from diff check in npm test scrip...</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/404090a89e8ef8be91a2d458e120ab8636277d3c"><code>404090a</code></a> Bump eslint from 8.53.0 to 8.54.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/c69f13c27f4b0db012599e48dcdd3e6a216a9789"><code>c69f13c</code></a> Remove deprecated ESLint rules after version update.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/55caa5fd0a1c57994a687d53806b4cd35f5a2538"><code>55caa5f</code></a> Bump eslint from 8.52.0 to 8.53.0</li>
<li>Additional commits viewable in <a href="https://github.com/davidanson/markdownlint-cli2-action/compare/v13...v14">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=DavidAnson/markdownlint-cli2-action&package-manager=github_actions&previous-version=13&new-version=14)](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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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>

* docs: readme improvements (#5171)

* readme improvements

* add link

* chore(08-wasm): `Pin` code during app initialisation (#5161)

* init InitializePinnedCodes

* testing

* call Pin during app inisitalization

* linting

* update docs

* spacing

* update docs

* add extra line

* chore: update tmproto, tmos aliases to cmtproto, cmtos

* chore: use suite.Require().NoError(), rename gotErr to err

* testing: nits

* Use table driven tests for TestInitializedPinnedCodes

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* e2e: timeout transfer with grandpa light client (#5018)

* Change to StoreCodeUnchecked in Genesis and snapshotter (#5167)

* change to store code unchecked

* separate storeWasmCode and importWasmCode

* add parameter to storeWasmCode to pass the store function

* store code for msg server

* fix: typos in godocs

* Update modules/light-clients/08-wasm/internal/ibcwasm/expected_interfaces.go

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

* linting business

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* build(deps): Bump JamesIves/github-pages-deploy-action from 4.4.3 to 4.5.0 (#5188)

Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.4.3 to 4.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/jamesives/github-pages-deploy-action/releases">JamesIves/github-pages-deploy-action's releases</a>.</em></p>
<blockquote>
<h2>v4.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>The action is now built and run on Node 20.</li>
<li>Bump <code>@​types/node</code> from 20.4.1 to 20.4.2 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1399">JamesIves/github-pages-deploy-action#1399</a></li>
<li>Bump eslint-plugin-jest from 27.2.2 to 27.2.3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1400">JamesIves/github-pages-deploy-action#1400</a></li>
<li>Bump word-wrap from 1.2.3 to 1.2.4 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1401">JamesIves/github-pages-deploy-action#1401</a></li>
<li>Bump eslint-config-prettier from 8.8.0 to 8.9.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1405">JamesIves/github-pages-deploy-action#1405</a></li>
<li>Bump <code>@​types/node</code> from 20.4.2 to 20.4.9 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1413">JamesIves/github-pages-deploy-action#1413</a></li>
<li>Bump eslint-config-prettier from 8.9.0 to 9.0.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1410">JamesIves/github-pages-deploy-action#1410</a></li>
<li>Upgrade Node for security by <a href="https://github.com/nickmccurdy"><code>@​nickmccurdy</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1437">JamesIves/github-pages-deploy-action#1437</a></li>
<li>doc: <code>.gitignore</code> matches not being deployed by <a href="https://github.com/sgasse"><code>@​sgasse</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1459">JamesIves/github-pages-deploy-action#1459</a></li>
<li>build(deps): bump actions/setup-node from 3 to 4 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1467">JamesIves/github-pages-deploy-action#1467</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 20.4.9 to 20.9.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1474">JamesIves/github-pages-deploy-action#1474</a></li>
<li>Bump actions/checkout from 3 to 4 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1429">JamesIves/github-pages-deploy-action#1429</a></li>
<li>build(deps-dev): bump <code>@​types/node</code> from 20.9.0 to 20.10.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1479">JamesIves/github-pages-deploy-action#1479</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/sgasse"><code>@​sgasse</code></a> made their first contribution in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1459">JamesIves/github-pages-deploy-action#1459</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/JamesIves/github-pages-deploy-action/compare/v4.4.3...v4.5.0">https://github.com/JamesIves/github-pages-deploy-action/compare/v4.4.3...v4.5.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.c…
crodriguezvega pushed a commit that referenced this pull request Jan 5, 2024
… (#5517)

* Add a check for connection state in UpgradeAck. (#3954)

* update WriteUpgradeTry to change flush status to `FLUSHCOMPLETE` if there are no packet commitments left (#3964)

* Add flush status check in SendPacket  (#3912)

* Add ChanUpgradeOpen core handler. (#3844)

* Add ChanUpgradeOpen core handler.

* Tests tests tests.

* Update upgrade open handler based on feedback.

* Reformat testing approach.

* Move counterpartyhops assignment inline.

* Check err of SetChannelState.

* Address feedback.

* Remove uneeded modification of version.

* Add flushing check to WriteUpgradeAckChannel (#3976)

* chore: adding check for in flight packets in WriteUpgradeAckChannel

* added test for TestWriteUpgradeAckChannel

* linter

* add client update to UpgradeAckChannel test

* mv test

* merge

* fix post-merge

* fix merge issues

* review comment

---------

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

* remove depguard from golangci-lint (#4000)

* Set channel state to NOTINFLUSH when Closing (#3995)

* Set Counterparty Last Sequence Send (#4005)

* Add FlushStatus Checks to RecvPacket (#3914)

* Add implementation for message server handling of ChanUpgradeOpen. (#3895)

* Add implementation for message server handling of ChanUpgradeOpen.

* Add tests for msg_server.

* Address review feedback.

* Remove setting of flush status.

* Apply suggestions from code review

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

* Address rest of review comments.

---------

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

* helper function for validating a counterparty upgrade against the selfupgrade (#4016)

* Make AbortUpgrade panic on failure (#4011)

* chore: update abort upgrade function to panic on error

* apply review suggestions

---------

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

* Amend AcknowledgePacket to handle flushing (#3922)

* Amend Ack packet to keep acknowledging if we're in the process of flushing pre-upgrade packets.

* Use handshake to reach correct state before mutating any fields.

* Add test to verify post-ack channel state after last in-flight packet.

* Remove unecessary modifications of version for non initializing channel end.

* Test both cases: final in-flight packet and non-final one.

* Apply suggestions from code review

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

* Remove manual setting of flush status.

* Update test name, pass mock version to both channels.

---------

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

* Amend timeout to handle in-flight packets. (#3923)

* Amend timeout to handle in-flight packets.

* Update timeout handler per spec.

* Update tests to test for toggling of flush status.

* Fix small typos in docstring.

---------

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

* change comment

* chore: adding callback for OnChanUpgradeRestore in abort scenarios (#4051)

* Pass in counterparty portID, channelID when verifying channel in ChanUpgradeOpen. (#4052)

* Pass in counterparty portid, channelid.

* use direct check on err.

* Force distinct channel identifiers when testing UpgradeOpen.

* Remove manual setting of flush status in ChanUpgradeOpen. (#4064)

* Use counterparty portid, channelid when verifying channel upgrade error. (#4063)

* feat: adding `OnChanUpgradeInit` handler implementation to `29-fee` (#4019)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

---------

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

* feat: adding `OnChanUpgradeTry` handler implementation for `29-fee` (#4023)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

---------

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

* feat: adding `OnChanUpgradeAck` handler implementation to `29-fee` (#4028)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding onChanUpgradeAck implementation to 29-fee, adding tests

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

* updating to use types.MetadataFromVersion in OnChanUpgradeAck

* updating tests to add additional checks

---------

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

* Use counterparty connection hops when verifying channel state (#4074)

* use counterparty conn hops.

* Clean up tests.

* Amend inline comment slightly.

* Address nits

---------

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

* chore: adding comment to 29-fee OnChanUpgradeOpen callback (#4123)

* Add tests for WriteUpgradeOpenChannel. (#4077)

* Add tests for WriteUpgradeCancel. (#4076)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck. (#4075)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck.

* Add comment noting that counterparty flush status has been verified before usage.

* Fix failing tests.

* imp: use HasInflightPackets to check if channel has finished flushing. (#4134)

* feat: adding `OnChanUpgradeInit` implementation to transfer (#4126)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* updating to use NewTranferPath in test func

* address pr comment - reformat error msg

* Remove superfluous ignore directive. (#4158)

* feat: adding OnChanUpgradeTry implementation to transfer (#4137)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* adding onChanUpgradeTry impl for transfer app, adding tests

* updating to use NewTranferPath in test func

* restructure error formatting

* Call app callback after writting state in Cancel and Timeout. (#4166)

* helper function to clear state stored during an upgrade (#4147)

* add `IsUpgradError` func for readability (#4144)

* add IsUpgradeError function

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

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* gofumpt

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

Co-authored-by: Charly <charly@interchain.io>

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* add check that channel exists in upgrade gRPCs (#4156)

* add check that channel exists

* use has function instead

* consistent connection lookup calls in 04-channel (#4146)

* nit: error formatting improvements for channel upgrades (#4097)

* string formatting improvements

* fix typo

* review comment

* review comment

* review comment

* review comment

* added test for event emission (#4020)

* feat: implement `OnChanUpgradeAck` for transfer (#4215)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly (#4221)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly

* lint me

* rm duplicate test from merge

* test: adding test for events in channel upgrade try (#4226)

* Add store functions for counterparty upgrade. (#4293)

* Add store functions for counterparty upgrade.

* Apply suggestions from code review

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

---------

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

* Add FLUSHING/FLUSHCOMPLETE to Channel state. (#4300)

* feat: adding `ChannelUpgradeConfirm` rpc and msgs (#4302)

* adding protobuf msgs and rpc service definition

* adding empty boilerplate method stub

* register msg codec and add sdk.Msg impl + tests

* chore: move verification before startFlushUpgradeHandshake (#4285)

* rebase `04-channel-upgrades` branch (#4160)

* update with latest changes from main

* fix conflicts in e2e

* make invalid version constant

* fix linter by using constant instead of literal

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Revert "rebase `04-channel-upgrades` branch (#4160)"

This reverts commit d5e63d40695adc6c1aad16160ea3bf655251825c.

* rm unnecessary test matrix file

* make lint-fix

* satisfy revive linter

* updating feature banch ci workflow for golangci-lint

* bumping golangci-lint action to v3.6.0

* define go version as string in workflow

* Delete counterparty upgrade in deleteUpgradeInfo. Move function to keeper. (#4294)

* Remove check for counterparty timeout in ChanUpgradeTry. (#4301)

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

* Store counterparty upgrade after ack finishes. (#4299)

* call verification of counterparty channel, upgrade in upgradetry. (#4310)

* Add verification calls in ChanUpgradeAck. (#4312)

* Add ChanUpgradeConfirm to endpoint. (#4314)

* Remove verification calls in StartFlushUpgradeHandshake (#4317)

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

* test: add events test for ChannelUpgradeTimeout (#4284)

* test: add event emission test for ChanUpgradeCancel (#4281)

* Check counterparty timeout hasn't elapsed in ChanUpgradeAck. (#4305)

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

* refactor: modify `ChannelUpgradeInit` to only store upgrade fields (#4344)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* Add test for event emission ChanUpgradeAck (#4228)

* test: add event test for chan upgrade ack

* gofumpt file

---------

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

* Adding test for events for ChanUpgradeOpen (#4230)

* test: adding test for events for chan upgrade open

* Update upgrade_test.go

---------

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

* Move check to fail on incompatible upgrade after proof verification. (#4320)

* Move check to fail on incompatible upgrade after proof verification.

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

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

* lint fix

---------

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

* Add functions checkForUpgradeCompatibility and syncUpgradeSequence (#4352)

* refactor: modify upgrade init to not change channel state (#4357)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* address nits from pr review

* refactor: cleanup upgrade init app callback args (#4359)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* refactor: rm unnecessary args in application upgrade init callback

* Add WriteUpgradeConfirm function. (#4303)

* Add WriteUpgradeConfirm function.

* Add some sweet godoc for this bad boy.

* Apply suggestions from code review

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

---------

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

* Modify startFlushUpgradeHandshake to be used as a write function (#4360)

* Remove restore logic in upgrade TRY handler (#4362)

* refactor: remove `FlushStatus` from ack handler and msg (#4364)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Amend checkForUpgradeCompatibility to check that versions match (#4366)

* refactor: modify ack handler expected channel state (#4371)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Channel Upgrade Ack (#4372)

* feat: adding `chanUpgradeConfirm` implementation to `04-channel` (#4373)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* feat: adding msg server implementation for `ChanUpgradeConfirm` (#4376)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Remove check on flush status for send packet. (#4384)

* Remove check on flush status for send packet.

* Rename test, remove duplicate test.

* Channel Upgrade Open (#4379)

* Implement Channel Upgrade Cancel (#4404)

* Refactor `TestWriteUpgradeCancelChannel` (#4424)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

* refactor: updated ChanUpgradeOpen keeper function to match spec

* chore: fixing tests for ChannelUpgradeOpen

* chore: added test case for invalid counterparty channel state

* chore: adding new implementation for ChannelUpgradeClose

* chore: fix TestWriteUpgradeCancelChannel

* chore: addressing feedback

* chore: simplified test cases

* chore: fix linter

* chore: remove duplicate connection test

* Apply suggestions from code review

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

* refactor TestWriteUpgradeCancelChannel to use table tests

* delete unused variable

* lint

* update check panic

* update from code review

* Apply suggestions from code review

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Refactor `TestWriteUpgradeOpenChannel` (#4431)

* refactor TestWriteUpgradeOpenChannel to use table tests

* Apply suggestions from code review

* lint

* revert AttributeKeyUpgradeChannelFlushStatus

---------

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

* refactor: acknowledgePacket handling flushing / flush complete state  (#4412)

* refactor: handle flush complete channel state transition in acknowledgePacket

* wip: adding testcases for acknowledgePacket with flushing state

* lint: make lint-fix

* test: adding assertFn temporarily to tests to provide after test state checks

* set counterparty upgrade on write try fn

* Add UpgradeTimeout as a params field in the channel submodule (#4411)

* Refactor TestWriteUpgradeTry to remove flush status checks (#4430)

* refactor: use `expResult` in acknowledgePacket tests (#4439)

* refactor: adapt acknowledgePacket tests to use expResult func

* cleanup: removing redundant stale tests

* fix: assert ErrInvalidProof for verification failure. modify suite.Run tc naming

* Implement ChanUpgradeTimeout with spec changes (#4438)

* Amend recvPacket as per spec. (#4386)

* Amend recvPacket as per spec.

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

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

* Drop usage of CounterpartyLastSequenceSend.

* Cover all cases.

* Use SetChannelCounterpartyUpgrade.

* Add expected errors, remove duplicate test.

* Remove setting of counterparty last sequence send in other test case.

* Shorthand initialization of dummy upgrade.

* Apply suggestions from code review

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

---------

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Update error receipt event emission to use correct event type (#4451)

* Account for moving channel state to flush complete in timeout processing (#4425)

* Remove init, try, ack upgrade states (#4455)

* refactor: remove `FlushStatus` from channel end (#4457)

* refactor: remove flush status from channel end

* remove flush status enum

* address pr review comments and remove additional refs in comments

* Refactor channel upgradability msgs to reflect updated spec (#4456)

* Amend timeoutPacket to allow timeouts on any channel state. (#4367)

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

* Refactor recvPacket tests to use expError. (#4471)

* Refactor recvPacket tests to use expError.

* Use testify's ErrorIs.

* refactor: remove counterparty last sequence send state entry (#4473)

* Don't write channel to state when not modified. (#4495)

* refactor: rename channel upgradability flush states (#4488)

* Don't emit event information for unchanged upgrade. (#4492)

* Add tests for WriteUpgradeConfirm. (#4490)

* Allow receiving of packets if the counterparty latest sequence send has not been set (#4480)

* allow receiving of packets if the counterparty latest sequence send has not been set.

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

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

* Address feedback, lint fix.

* STATUS_FLUSHING -> FLUSHING

---------

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

* chore: re-enable disabled test case in `chanUpgradeTry` (#4501)

* Resolve commented out testcases for Channel Upgrades (#4474)

* refactor: adding additional upgrade fields args to onChanUpgradeOpen (#4478)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm (#4491)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm

* fix: adapt failing test and format

* fix: resolve compiler breakage of enum naming

* Use only timestamp only for upgrade timeouts. (#4482)

* Timing out packets on ordered channels when in flushing state aborts upgrade and closes channel (#4475)

* Change UpgradeTimeout to from absolute to relative (#4511)

* refactor: fee middleware onChanUpgradeInit callback (#4514)

* refactor: fee middleware onChanUpgradeTry callback (#4515)

Co-authored-by: Cian Hatton <cian@interchain.io>

* refactor: implementation for onChanUpgradeAck ics29 (#4523)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl (#4524)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* adding comment to discarded return arg

* test: adding integration test for fee transfer channel upgrade (#4533)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* test: adding integration test for fee transfer channel upgrade

* fix: check that `MsgChannelUpgradeInit` is signed by authority (#4773)

* Chore: consistent argument order (#4545)

* order arguments

* Revert "order arguments"

This reverts commit 2de37271e6f19b77e01cef65a1120a663486c040.

* reorder arguments of channel upgrade verify functions

* missing changes

---------

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

* Add ParseProposalIDFromEvents helper function (#4942)

* add ParseProposalIDFromEvents

* update with damian suggest

* imp: remove `LatestSequenceSend` (#5108)

* del: latestsequencesend field

* fix: comment

* gofumpt

* del: tests

* del leftover tests part

* adressing comments

* addressing comment

---------

Co-authored-by: sangier <stefano@Stefanos-MacBook-Pro.local>
Co-authored-by: sangier <stefano@interchain.io>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* chore: rebase 04-channel-upgrades feature branch (#5085)

* move legacy keytable init to migration handler code (#4730)

* deps: bump SDK v0.50-rc.1 (#4763)

* test: run tests of all go.mods (#4468)

* test: run tests of all go.mods

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

* Remove +build directive which is deprecated, remove tparse hadnling in Makefile.

* Add sdk script, remove LINT_DIFF.

* Fix linting issues that popped up.

* Add script to run tests for all modules.

* chore: add executible permissions to script, rename to avoid shadowing dir builtin

* chore: use python3 instead of python

* chore: add venv to gitignore

* Disallow env vars not being set, clean up minor issues.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* docs: some more v8 migration docs (#4728)

* docs: some more migration docs

* alignment

* alignment 2

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* update about proposals

* update docs after putting back legacy proposals

* add links for gov v1 messages

* update link of importable workflow

* add information about facilities to test upgrade

* add notes about cosmos sdk v0.50 upgrading guide

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* add extra info about authority and merkle path functions that have been removed

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* deps: bump mod/capability to v1.0.0-rc6 (#4768)

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* Fix e2e-upgrade.yaml complaint. (#4772)

* deps(docs): bump docusaurus from v2.4.1 to v2.4.3

* Fix e2e linting issues. (#4767)

* test extra conditions for `ApplyPrefix` (#4764)

* test extra conditions

* review comment

* Add codec registrations tests for apps (#4780)

* Add test for type registration for transfer.

* Add test for type registration for fee.

* Add test for type registration for ica.

* Lint this bad boy

* Apply suggestions from code review

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

---------

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

* Save gas on capability IsInitialized (#4770)

* chore: fix broken links/rename folders (#4781)

* chore: fix broken links/rename folders

* typo

* fix link

* Use slices.ContainsFunc instead of separate contains func. (#4786)

* docs: fix links (#4787)

* chore: update changelog (#4774)

* chore: update changelog

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

---------

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* docs: implemented Mary's suggestions (#4775)

* docs: implemented Mary's suggestions

* imp(docs): updated the large IBC logo

---------

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

* Update repo cover image (#4794)

* docs: added tutorial for Cosmoverse 2023 (#4793)

* feat(docs): added custom components

* feat(docs): added and tested custom components

* docs: fee app.go integration tutorial added

* imp(docs): added custom git diff magic comments

* deps: switched to '@saucelabs/theme-github-codeblock'

* imp(docs): improved fee wiring up and added keplr to env setup

* imp(docs): added react scaffold docs

* imp(docs): added fee mw react component

* imp(docs): finished all files of the demo

* imp(docs): updated links and styling

* docs: ran linter

* imp(docs): implemented review items

* fix: typos (#4796)

* fix typo

* fix typo

* fix typos

* fix typos

* fix typos

* fix typo

* imp!: use expected interface for legacy params subspace (#4811)

* imp: use expected interface for legacy params subspace

* chore: define GetParamSet on expected interface and rm explicit type conversions

* chore: fix fork e2es (#4813)

* chore: mergify task and e2e tests for `release/v8.0.x` (#4765)

* chore: mergify task and e2e tests for release/v8.0.x

* preventing single chain tests to run on more than one chain

* extra polishing of yaml files

* add release/v8.0.x to drop down menus

* use hermes relayer instead of rly

* docs: add changelog entry for #4835

* doc: adding migration doc info for nil legacy subspace (#4816)

* Change host relay tests to check error returned (#4161)

* Add failure case for msg failing on ValidateBasic.

* Move testing for host relay to check for error returns.

* Use similar error checking as other tests.

* Use NoError, wrap err in error message.

* fix: relay test expected result

---------

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

* build(deps): Bump golang.org/x/mod from 0.12.0 to 0.13.0 in /e2e (#4839)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.12.0 to 0.13.0.
- [Commits](https://github.com/golang/mod/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0 (#4846)

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](https://github.com/spf13/viper/compare/v1.16.0...v1.17.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 e2e, callbacks, capability.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump bufbuild/buf-setup-action from 1.26.1 to 1.27.0 (#4847)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.26.1 to 1.27.0.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.26.1...v1.27.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: Carlos Rodriguez <carlos@interchain.io>

* e2e : migrate interchaintest.GetBalance to CosmosChain's GetBalance (#4683)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#4855)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* imp: add go mod tidy all script (#4845)

* feat: add go mod tidy all script

* feedback

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chores: add v4.5.0 tag and remove v5.2.x (end of life) (#4840)

* chore: fixing compatibility tests (#4876)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0 (#4889)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.11.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* The typical dance, again.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2 (#4890)

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2

Bumps [cosmossdk.io/api](https://github.com/cosmos/cosmos-sdk) from 0.7.1 to 0.7.2.
- [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/v0.7.1...api/v0.7.2)

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

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

* The typical dance.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* imp: add init-simapp script (#4844)

* feat: add init-simapp script

* Apply suggestions from code review

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

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chore: fixes for legacy amino encoding for ledger signing (#4812)

* chore(wip): fixes for legacy amino encoding for ledger signing

* chore: cleanup, format and add additional fee annotations

* fix: register legacy amino codec in 29-fee

* build(deps): Bump bufbuild/buf-setup-action from 1.27.0 to 1.27.1 (#4906)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.0 to 1.27.1.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.0...v1.27.1)

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

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

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0 (#4904)

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* remove test that does not apply to v6.1.x and v6.2.x release lines

* small improvements to v8 migration docs

* Automate Discord Notification for New Releases (#4918)

* Create discord_notify.yml

Add GitHub Action for Discord release notifications

* Rename discord_notify.yml to discord-notify.yml

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* docs: add google analytics 4 support (#4933)

* deps(docs): ran 'npm i --save @docusaurus/plugin-google-gtag'

* feat(docs): added google analytics 4 to docs

* Add note for adding a build tag in new e2e files. (#4937)

* docs: add microsoft clarity support (#4935)

* deps(docs): ran 'npm i --save @gracefullight/docusaurus-plugin-microsoft-clarity'

* feat(docs): added microsoft clarity support

* chores for new patch releases for v4, v5, v6, v7 (#4922)

* release chores

* remove tag from tests

* remove tag from tests

* build(deps): Bump actions/setup-node from 3 to 4 (#4941)

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

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

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

* fix(msg): register proto interface (#4944)

* build(deps): Bump tj-actions/changed-files from 39 to 40 (#4962)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39 to 40.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v39...v40)

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

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

* chore: remove redundant code (#4952)

* deps(e2e): update hermes tag (#4968)

* Register message service descriptor (#4969)

* docs: fee middleware tutorial improvements (#4979)

* docs: removed duplicate code snippet

* docs: consistent use of yaml vs yml

* docs: using 'auto_register_counterparty_payee'

* docs: added Fee Middleware docs to prereqs

* docs: fixed broken link

* docs: improved fee tutorial

* imp: review item

* (mod/capability) Use AppModule directly in favour of AppModuleBasic in mod/capability (#4982)

* removing appmodulebasic and all nil/unneeded functions

* lint

* test file changes

* lint

---------

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

* deps: bump Cosmos SDK to tip of `release/v0.50.x` (#4976)

* deps: bump to Cosmos SDK @ 0469fc17e1587850e7de390af282df5215287a21

* lint

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

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

* Add a test for 07-tendermint's GetTimestampAtHeight (#4972)

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

* build(deps): Bump bufbuild/buf-setup-action from 1.27.1 to 1.27.2 (#4988)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.1 to 1.27.2.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.1...v1.27.2)

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

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

* refactor(simapp): re-wire autocli with latest client/v2 changes (#4843)

* refactor: wire autocli

* go mod tidy all + fix textual

* removing initmodule from ica (#4977)

* remoing appmodulebasic interface from capability and initmodule function which mimicks initgenesis

* undoing capability change

* imp(statemachine)!: add length validation of string fields in messages

Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* chore: EoL for v4 and v5 (#4995)

* simplifying code in packet_test (#4980)

* reducing boilerplate code

* lint

* gofumpt

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0 (#5009)

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0

Bumps [cosmossdk.io/store](https://github.com/cosmos/cosmos-sdk) from 1.0.0-rc.0 to 1.0.0.
- [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-rc.0...log/v1.0.0)

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

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

* chore: 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: chatton <github.qpeyb@simplelogin.fr>

* fix: docs typos (#5014)

* Fix typos 01-overview.md

* Fix Typos 00-intro.md

Fixed typos & tweaked intro language

* style: raname sidebar Tutorials to Developer Portal

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>

* docs: fix typos (#5019)

* fix expect pointer error when unmarshalling misbehaviour file (#5020)

* fix expect pointer error when unmarshalling misbehaviour file

* Update CHANGELOG.md

---------

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

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0 (#5017)

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.12.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* bump callbacks

* e2e: 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>

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#5024)

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.7.0...v1.8.0)

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

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

* chore: make tidy-all

---------

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>

* build(deps): Bump golang.org/x/mod from 0.13.0 to 0.14.0 in /e2e (#5025)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.13.0 to 0.14.0.
- [Commits](https://github.com/golang/mod/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0 (#5034)

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0

Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.1.3-rc.1 to 1.2.0.
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/math/v1.1.3-rc.1...log/v1.2.0)

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

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

* chore: tidy all

---------

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>

* chore: fix error formatting of client status check in client recovery (#5039)

* deps: bump SDK v0.50.1 (#5038)

* deps: bump SDK v0.50.1

* update changelog

* deps: downgrade cosmossdk.io/core to v0.11.0

* fix interchain accounts tests

* implement app module basic correctly for capability module

* bump SDK to v0.50.1 in capability module

* downgrade cosmossdk.io/api to v0.7.2

* downgrade cosmossdk.io/api to v7.2.0 for callbacks

* Bump dependencies (#5064)

* deps: update mod/capability to v1.0.0 (#5046)

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

* imp: updated urls (#5031)

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

* docs: new social card for docs (#5080)

* docs: added new social card

* docs: updated social card

* chore: add mergify backport for 08-wasm (#5077)

* docs: add docs folder for v8.0.x (#5078)

* docs: add docs folder for v8.0.x

* fix links

* docs: fixed with absolute url links

* docs: fix more links

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Charly <charly@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Susannah Evans <65018876+womensrights@users.noreply.github.com>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: nguyen <144610611+trinitys7@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Adi <103246632+adiraviraj@users.noreply.github.com>
Co-authored-by: emidev98 <49301655+emidev98@users.noreply.github.com>
Co-authored-by: Muku <44918265+muku314115@users.noreply.github.com>
Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: zadkiel88 <106065297+zadkiel88@users.noreply.github.com>
Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: shuoer86 <129674997+shuoer86@users.noreply.github.com>
Co-authored-by: mmsqe <mavis@crypto.com>

* chore: propagate IBC authority to 04-channel keeper to be used within upgrade cancellation (#5093)

* chore: add authority to function params, test flow for checking msg sender against authority

* linter

* refactor: use isAuthority bool in favour of passing signer and authority to 04-channel

---------

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

* Amend validation of upgrade fields to use variable holding supported orderings. (#5152)

* refactor: adapt testing endpoint query for channel upgrade proofs (#5165)

* test: adding test for crossing hello trys with historical proofs (#5143)

* test: adding test for crossing hello trys with historical proofs

* chore: make format

* chore: address TODO in test case with switch of proof query endpoint

* chore: replace dummy error with correct error type (#5177)

* Remove incorrect godoc (#5203)

* chore: correct returned error (#5205)

* chore: adding comment to add clarity to returned upgrade (#5214)

* Verify channel upgrade can be completed after cancellation is successful (#5163)

* Remove last packet sent from new upgrade constructor. (#5210)

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

* Reorder call to application callback so it happens after we write state. (#5230)

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

* chore: allow authorized senders to submit empty error receipt proof (#5232)

* remove incorect code (#5235)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* chore: panic instead of return err (#5246)

* chore: add comment about version assignment (#5239)

* Add  to docstring with explanation about channel state (#5236)

* Chore: replace `fmt.Sprintf` with `fmt.Errorf` in `upgrades.go` (#5291)

* replace Sprintf with Errorf in WriteUpgradeAckChannel

* replace Sprintf with Errorf in upgrade.go

* fix: add event and event emission for `FLUSHCOMPLETE` (#5245)

* add event emit

* minor

* add testing for moving to flushing complete event

* minor

* Remove setting counterparty upgrade info in upgrade try (#5238)

* chore: updated tests to reflect the timeout and ack changes

* chore: adding status check on channel when channel is flushing

* review comment

---------

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

* fix: allow error receipt to be nil in case of the msg sender is the authority (#5262)

* fix + tests

* shuffle about logic ordering

* Added the MetadataFromVersion function

* Move events to message server layer instead of core level (#5264)

* wip: moving events up to the message server layer

* wip: move events out to message server layer

* chore: commenting out event tests

* Fix merge issue.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* use function in a few other places, fix typo in function name, fix test

* review comment

* imp: use MetadataFromVersion function in 27-interchain-accounts (#5300)

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

* remove channel id (#5307)

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

* remove comment that unused (#5308)

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

* Implement OnChanUpgradeInit on Controller Chain for interchain-accounts (#5141)

* chore: adding controller implementation for OnChanUpgradeInit

* chore: happy path test passing

* chore: adding fail case

* chore: adding additional test cases

* chore: fix linting

* chore: improving errors

* chore: refactor to use test keeper function directly

* chore: add check for enabled controller module

* chore: call into middleware if provided

* chore: addressing PR feedback

* revert change in godoc of GetConnectionID

* fix: typo in MetadataFromVersion func

* chore: rm duplicate func

---------

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

* Add a helper function to create a mock contract. (#5162)

* docs: improved channel closure docs (#5170)

* docs: improved channel closure docs

* docs: ran linter

* chore: use `GetPrefixedDenom` to create IBC token denom (#5175)

* build(deps): Bump DavidAnson/markdownlint-cli2-action from 13 to 14 (#5176)

Bumps [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action) from 13 to 14.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/455b6612a7b7a80f28be9e019b70abdd11696e4e"><code>455b661</code></a> Update to version 14.0.0.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/fa0be7308fe9ed25a7d2ebaa0017dcf119c174d3"><code>fa0be73</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/1e5b6609c975f6023b335289c93acab187740b7d"><code>1e5b660</code></a> Remove &quot;command&quot; input deprecated in v11.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/b1a3c7b34980691d7de04930b0a0e82f96e98327"><code>b1a3c7b</code></a> Add CONTRIBUTING.md.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/feb7cc4324d395ee7746fd85e9115cb5dbca8a98"><code>feb7cc4</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/eeda66770c0f944c0c52595a2fdd5e130c0c3030"><code>eeda667</code></a> Bump markdownlint-cli2 from 0.10.0 to 0.11.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/4670abafb2e29f6ba1d52f1ee4dc5e35fa981963"><code>4670aba</code></a> Stop excluding generated file dist/index.js from diff check in npm test scrip...</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/404090a89e8ef8be91a2d458e120ab8636277d3c"><code>404090a</code></a> Bump eslint from 8.53.0 to 8.54.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/c69f13c27f4b0db012599e48dcdd3e6a216a9789"><code>c69f13c</code></a> Remove deprecated ESLint rules after version update.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/55caa5fd0a1c57994a687d53806b4cd35f5a2538"><code>55caa5f</code></a> Bump eslint from 8.52.0 to 8.53.0</li>
<li>Additional commits viewable in <a href="https://github.com/davidanson/markdownlint-cli2-action/compare/v13...v14">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=DavidAnson/markdownlint-cli2-action&package-manager=github_actions&previous-version=13&new-version=14)](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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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>

* docs: readme improvements (#5171)

* readme improvements

* add link

* chore(08-wasm): `Pin` code during app initialisation (#5161)

* init InitializePinnedCodes

* testing

* call Pin during app inisitalization

* linting

* update docs

* spacing

* update docs

* add extra line

* chore: update tmproto, tmos aliases to cmtproto, cmtos

* chore: use suite.Require().NoError(), rename gotErr to err

* testing: nits

* Use table driven tests for TestInitializedPinnedCodes

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* e2e: timeout transfer with grandpa light client (#5018)

* Change to StoreCodeUnchecked in Genesis and snapshotter (#5167)

* change to store code unchecked

* separate storeWasmCode and importWasmCode

* add parameter to storeWasmCode to pass the store function

* store code for msg server

* fix: typos in godocs

* Update modules/light-clients/08-wasm/internal/ibcwasm/expected_interfaces.go

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

* linting business

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* build(deps): Bump JamesIves/github-pages-deploy-action from 4.4.3 to 4.5.0 (#5188)

Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.4.3 to 4.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/jamesives/github-pages-deploy-action/releases">JamesIves/github-pages-deploy-action's releases</a>.</em></p>
<blockquote>
<h2>v4.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>The action is now built and run on Node 20.</li>
<li>Bump <code>@​types/node</code> from 20.4.1 to 20.4.2 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1399">JamesIves/github-pages-deploy-action#1399</a></li>
<li>Bump eslint-plugin-jest from 27.2.2 to 27.2.3 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1400">JamesIves/github-pages-deploy-action#1400</a></li>
<li>Bump word-wrap from 1.2.3 to 1.2.4 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1401">JamesIves/github-pages-deploy-action#1401</a></li>
<li>Bump eslint-config-prettier from 8.8.0 to 8.9.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1405">JamesIves/github-pages-deploy-action#1405</a></li>
<li>Bump <code>@​types/node</code> from 20.4.2 to 20.4.9 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1413">JamesIves/github-pages-deploy-action#1413</a></li>
<li>Bump eslint-config-prettier from 8.9.0 to 9.0.0 by <a href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a href="https://redirect.github.com/JamesIves/github-pages-deploy-action/pull/1410">Jame…
crodriguezvega pushed a commit that referenced this pull request Jan 5, 2024
* updat MsgUpgradeTimeout resp, add getter directives (#3858)

* ChanUpgradeOpen callback should not return an error. (#3899)

* chore: pr review followups (#3901)

* Remove error return from OnChanUpgradeRestore. (#3902)

* chore: refactor `chanUpgradeAck` tests to use expected errors (#3843)

* updating tests to use expError in favour of expPass bool

* move write fn under chanUpgradeAck

* make expPass construction two lines instead of one

---------

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

* adding result to MsgChannelUpgradeAckResponse (#3845)

Co-authored-by: Charly <charly@interchain.io>

* update upgrade seq comparison in `ChanUpgradeTimeout` (#3905)

* update upgrade seq comparison

* pr suggestions

* Implement MsgChannelUpgradeCancel message server handler (#3848)

* `ChanUpgradeTimeout` `msg_server` function (#3855)

* writeupgradetimeout method, pull in util methods

* rm Equal directive (#3908)

* feat: adding msg server implementation for `ChannelUpgradeAck` (#3849)

* adding boilerplate skeleton for chanUpgradeAck handler

* updating msg servers args

* adding test scaffolding and syncing latest changes of feat branch

* configure both proposed upgrades to use mock.UpgradeVersion

* updating chanUpgradeAck test cases

* updating var naming for consistency, adding additional testcases

* rm msg server implementation

* adding invalid flush status err and rm lint ignore comment

* adding test helpers to endpoint for get/set channel upgrade

* lint it

* adding initial msg server impl skeleton

* pull in code for WriteUpgradeAckChannel

* adding result to MsgChannelUpgradeAckResponse

* add initial test cases

* adding additional testcases

* apply testcase naming review suggestions

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

* apply error return wrapping suggestions from review

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

* fix error to use Wrapf and correct channel id arg, adding success log

* correct testing imports and satisy linter

* apply self suggestions for testcase context with in-line comments

* updating test func to use path.EndpointA and chainA sender acc

---------

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

* chore: make error wrapping and logging consistent for upgrade try msg server (#3913)

* make error wrapping and logging consistent for upgrade try msg server

* standardise logging

* chore: use new version return in transfer app for testing relayers (#3927)

* Remove generation of getters for upgrade types. (#3951)

* Add a check for connection state in UpgradeAck. (#3954)

* update WriteUpgradeTry to change flush status to `FLUSHCOMPLETE` if there are no packet commitments left (#3964)

* Add flush status check in SendPacket  (#3912)

* Add ChanUpgradeOpen core handler. (#3844)

* Add ChanUpgradeOpen core handler.

* Tests tests tests.

* Update upgrade open handler based on feedback.

* Reformat testing approach.

* Move counterpartyhops assignment inline.

* Check err of SetChannelState.

* Address feedback.

* Remove uneeded modification of version.

* Add flushing check to WriteUpgradeAckChannel (#3976)

* chore: adding check for in flight packets in WriteUpgradeAckChannel

* added test for TestWriteUpgradeAckChannel

* linter

* add client update to UpgradeAckChannel test

* mv test

* merge

* fix post-merge

* fix merge issues

* review comment

---------

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

* remove depguard from golangci-lint (#4000)

* Set channel state to NOTINFLUSH when Closing (#3995)

* Set Counterparty Last Sequence Send (#4005)

* Add FlushStatus Checks to RecvPacket (#3914)

* Add implementation for message server handling of ChanUpgradeOpen. (#3895)

* Add implementation for message server handling of ChanUpgradeOpen.

* Add tests for msg_server.

* Address review feedback.

* Remove setting of flush status.

* Apply suggestions from code review

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

* Address rest of review comments.

---------

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

* helper function for validating a counterparty upgrade against the selfupgrade (#4016)

* Make AbortUpgrade panic on failure (#4011)

* chore: update abort upgrade function to panic on error

* apply review suggestions

---------

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

* Amend AcknowledgePacket to handle flushing (#3922)

* Amend Ack packet to keep acknowledging if we're in the process of flushing pre-upgrade packets.

* Use handshake to reach correct state before mutating any fields.

* Add test to verify post-ack channel state after last in-flight packet.

* Remove unecessary modifications of version for non initializing channel end.

* Test both cases: final in-flight packet and non-final one.

* Apply suggestions from code review

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

* Remove manual setting of flush status.

* Update test name, pass mock version to both channels.

---------

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

* Amend timeout to handle in-flight packets. (#3923)

* Amend timeout to handle in-flight packets.

* Update timeout handler per spec.

* Update tests to test for toggling of flush status.

* Fix small typos in docstring.

---------

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

* change comment

* chore: adding callback for OnChanUpgradeRestore in abort scenarios (#4051)

* Pass in counterparty portID, channelID when verifying channel in ChanUpgradeOpen. (#4052)

* Pass in counterparty portid, channelid.

* use direct check on err.

* Force distinct channel identifiers when testing UpgradeOpen.

* Remove manual setting of flush status in ChanUpgradeOpen. (#4064)

* Use counterparty portid, channelid when verifying channel upgrade error. (#4063)

* feat: adding `OnChanUpgradeInit` handler implementation to `29-fee` (#4019)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

---------

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

* feat: adding `OnChanUpgradeTry` handler implementation for `29-fee` (#4023)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

---------

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

* feat: adding `OnChanUpgradeAck` handler implementation to `29-fee` (#4028)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding onChanUpgradeAck implementation to 29-fee, adding tests

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

* updating to use types.MetadataFromVersion in OnChanUpgradeAck

* updating tests to add additional checks

---------

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

* Use counterparty connection hops when verifying channel state (#4074)

* use counterparty conn hops.

* Clean up tests.

* Amend inline comment slightly.

* Address nits

---------

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

* chore: adding comment to 29-fee OnChanUpgradeOpen callback (#4123)

* Add tests for WriteUpgradeOpenChannel. (#4077)

* Add tests for WriteUpgradeCancel. (#4076)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck. (#4075)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck.

* Add comment noting that counterparty flush status has been verified before usage.

* Fix failing tests.

* imp: use HasInflightPackets to check if channel has finished flushing. (#4134)

* feat: adding `OnChanUpgradeInit` implementation to transfer (#4126)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* updating to use NewTranferPath in test func

* address pr comment - reformat error msg

* Remove superfluous ignore directive. (#4158)

* feat: adding OnChanUpgradeTry implementation to transfer (#4137)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* adding onChanUpgradeTry impl for transfer app, adding tests

* updating to use NewTranferPath in test func

* restructure error formatting

* Call app callback after writting state in Cancel and Timeout. (#4166)

* helper function to clear state stored during an upgrade (#4147)

* add `IsUpgradError` func for readability (#4144)

* add IsUpgradeError function

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

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* gofumpt

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

Co-authored-by: Charly <charly@interchain.io>

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* add check that channel exists in upgrade gRPCs (#4156)

* add check that channel exists

* use has function instead

* consistent connection lookup calls in 04-channel (#4146)

* nit: error formatting improvements for channel upgrades (#4097)

* string formatting improvements

* fix typo

* review comment

* review comment

* review comment

* review comment

* added test for event emission (#4020)

* feat: implement `OnChanUpgradeAck` for transfer (#4215)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly (#4221)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly

* lint me

* rm duplicate test from merge

* test: adding test for events in channel upgrade try (#4226)

* Add store functions for counterparty upgrade. (#4293)

* Add store functions for counterparty upgrade.

* Apply suggestions from code review

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

---------

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

* Add FLUSHING/FLUSHCOMPLETE to Channel state. (#4300)

* feat: adding `ChannelUpgradeConfirm` rpc and msgs (#4302)

* adding protobuf msgs and rpc service definition

* adding empty boilerplate method stub

* register msg codec and add sdk.Msg impl + tests

* chore: move verification before startFlushUpgradeHandshake (#4285)

* rebase `04-channel-upgrades` branch (#4160)

* update with latest changes from main

* fix conflicts in e2e

* make invalid version constant

* fix linter by using constant instead of literal

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Revert "rebase `04-channel-upgrades` branch (#4160)"

This reverts commit d5e63d40695adc6c1aad16160ea3bf655251825c.

* rm unnecessary test matrix file

* make lint-fix

* satisfy revive linter

* updating feature banch ci workflow for golangci-lint

* bumping golangci-lint action to v3.6.0

* define go version as string in workflow

* Delete counterparty upgrade in deleteUpgradeInfo. Move function to keeper. (#4294)

* Remove check for counterparty timeout in ChanUpgradeTry. (#4301)

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

* Store counterparty upgrade after ack finishes. (#4299)

* call verification of counterparty channel, upgrade in upgradetry. (#4310)

* Add verification calls in ChanUpgradeAck. (#4312)

* Add ChanUpgradeConfirm to endpoint. (#4314)

* Remove verification calls in StartFlushUpgradeHandshake (#4317)

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

* test: add events test for ChannelUpgradeTimeout (#4284)

* test: add event emission test for ChanUpgradeCancel (#4281)

* Check counterparty timeout hasn't elapsed in ChanUpgradeAck. (#4305)

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

* refactor: modify `ChannelUpgradeInit` to only store upgrade fields (#4344)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* Add test for event emission ChanUpgradeAck (#4228)

* test: add event test for chan upgrade ack

* gofumpt file

---------

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

* Adding test for events for ChanUpgradeOpen (#4230)

* test: adding test for events for chan upgrade open

* Update upgrade_test.go

---------

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

* Move check to fail on incompatible upgrade after proof verification. (#4320)

* Move check to fail on incompatible upgrade after proof verification.

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

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

* lint fix

---------

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

* Add functions checkForUpgradeCompatibility and syncUpgradeSequence (#4352)

* refactor: modify upgrade init to not change channel state (#4357)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* address nits from pr review

* refactor: cleanup upgrade init app callback args (#4359)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* refactor: rm unnecessary args in application upgrade init callback

* Add WriteUpgradeConfirm function. (#4303)

* Add WriteUpgradeConfirm function.

* Add some sweet godoc for this bad boy.

* Apply suggestions from code review

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

---------

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

* Modify startFlushUpgradeHandshake to be used as a write function (#4360)

* Remove restore logic in upgrade TRY handler (#4362)

* refactor: remove `FlushStatus` from ack handler and msg (#4364)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Amend checkForUpgradeCompatibility to check that versions match (#4366)

* refactor: modify ack handler expected channel state (#4371)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Channel Upgrade Ack (#4372)

* feat: adding `chanUpgradeConfirm` implementation to `04-channel` (#4373)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* feat: adding msg server implementation for `ChanUpgradeConfirm` (#4376)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Remove check on flush status for send packet. (#4384)

* Remove check on flush status for send packet.

* Rename test, remove duplicate test.

* Channel Upgrade Open (#4379)

* Implement Channel Upgrade Cancel (#4404)

* Refactor `TestWriteUpgradeCancelChannel` (#4424)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

* refactor: updated ChanUpgradeOpen keeper function to match spec

* chore: fixing tests for ChannelUpgradeOpen

* chore: added test case for invalid counterparty channel state

* chore: adding new implementation for ChannelUpgradeClose

* chore: fix TestWriteUpgradeCancelChannel

* chore: addressing feedback

* chore: simplified test cases

* chore: fix linter

* chore: remove duplicate connection test

* Apply suggestions from code review

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

* refactor TestWriteUpgradeCancelChannel to use table tests

* delete unused variable

* lint

* update check panic

* update from code review

* Apply suggestions from code review

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Refactor `TestWriteUpgradeOpenChannel` (#4431)

* refactor TestWriteUpgradeOpenChannel to use table tests

* Apply suggestions from code review

* lint

* revert AttributeKeyUpgradeChannelFlushStatus

---------

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

* refactor: acknowledgePacket handling flushing / flush complete state  (#4412)

* refactor: handle flush complete channel state transition in acknowledgePacket

* wip: adding testcases for acknowledgePacket with flushing state

* lint: make lint-fix

* test: adding assertFn temporarily to tests to provide after test state checks

* set counterparty upgrade on write try fn

* Add UpgradeTimeout as a params field in the channel submodule (#4411)

* Refactor TestWriteUpgradeTry to remove flush status checks (#4430)

* refactor: use `expResult` in acknowledgePacket tests (#4439)

* refactor: adapt acknowledgePacket tests to use expResult func

* cleanup: removing redundant stale tests

* fix: assert ErrInvalidProof for verification failure. modify suite.Run tc naming

* Implement ChanUpgradeTimeout with spec changes (#4438)

* Amend recvPacket as per spec. (#4386)

* Amend recvPacket as per spec.

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

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

* Drop usage of CounterpartyLastSequenceSend.

* Cover all cases.

* Use SetChannelCounterpartyUpgrade.

* Add expected errors, remove duplicate test.

* Remove setting of counterparty last sequence send in other test case.

* Shorthand initialization of dummy upgrade.

* Apply suggestions from code review

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

---------

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Update error receipt event emission to use correct event type (#4451)

* Account for moving channel state to flush complete in timeout processing (#4425)

* Remove init, try, ack upgrade states (#4455)

* refactor: remove `FlushStatus` from channel end (#4457)

* refactor: remove flush status from channel end

* remove flush status enum

* address pr review comments and remove additional refs in comments

* Refactor channel upgradability msgs to reflect updated spec (#4456)

* Amend timeoutPacket to allow timeouts on any channel state. (#4367)

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

* Refactor recvPacket tests to use expError. (#4471)

* Refactor recvPacket tests to use expError.

* Use testify's ErrorIs.

* refactor: remove counterparty last sequence send state entry (#4473)

* Don't write channel to state when not modified. (#4495)

* refactor: rename channel upgradability flush states (#4488)

* Don't emit event information for unchanged upgrade. (#4492)

* Add tests for WriteUpgradeConfirm. (#4490)

* Allow receiving of packets if the counterparty latest sequence send has not been set (#4480)

* allow receiving of packets if the counterparty latest sequence send has not been set.

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

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

* Address feedback, lint fix.

* STATUS_FLUSHING -> FLUSHING

---------

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

* chore: re-enable disabled test case in `chanUpgradeTry` (#4501)

* Resolve commented out testcases for Channel Upgrades (#4474)

* refactor: adding additional upgrade fields args to onChanUpgradeOpen (#4478)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm (#4491)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm

* fix: adapt failing test and format

* fix: resolve compiler breakage of enum naming

* Use only timestamp only for upgrade timeouts. (#4482)

* Timing out packets on ordered channels when in flushing state aborts upgrade and closes channel (#4475)

* Change UpgradeTimeout to from absolute to relative (#4511)

* refactor: fee middleware onChanUpgradeInit callback (#4514)

* refactor: fee middleware onChanUpgradeTry callback (#4515)

Co-authored-by: Cian Hatton <cian@interchain.io>

* refactor: implementation for onChanUpgradeAck ics29 (#4523)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl (#4524)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* adding comment to discarded return arg

* test: adding integration test for fee transfer channel upgrade (#4533)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* test: adding integration test for fee transfer channel upgrade

* fix: check that `MsgChannelUpgradeInit` is signed by authority (#4773)

* Chore: consistent argument order (#4545)

* order arguments

* Revert "order arguments"

This reverts commit 2de37271e6f19b77e01cef65a1120a663486c040.

* reorder arguments of channel upgrade verify functions

* missing changes

---------

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

* Add ParseProposalIDFromEvents helper function (#4942)

* add ParseProposalIDFromEvents

* update with damian suggest

* imp: remove `LatestSequenceSend` (#5108)

* del: latestsequencesend field

* fix: comment

* gofumpt

* del: tests

* del leftover tests part

* adressing comments

* addressing comment

---------

Co-authored-by: sangier <stefano@Stefanos-MacBook-Pro.local>
Co-authored-by: sangier <stefano@interchain.io>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* chore: rebase 04-channel-upgrades feature branch (#5085)

* move legacy keytable init to migration handler code (#4730)

* deps: bump SDK v0.50-rc.1 (#4763)

* test: run tests of all go.mods (#4468)

* test: run tests of all go.mods

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

* Remove +build directive which is deprecated, remove tparse hadnling in Makefile.

* Add sdk script, remove LINT_DIFF.

* Fix linting issues that popped up.

* Add script to run tests for all modules.

* chore: add executible permissions to script, rename to avoid shadowing dir builtin

* chore: use python3 instead of python

* chore: add venv to gitignore

* Disallow env vars not being set, clean up minor issues.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* docs: some more v8 migration docs (#4728)

* docs: some more migration docs

* alignment

* alignment 2

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* update about proposals

* update docs after putting back legacy proposals

* add links for gov v1 messages

* update link of importable workflow

* add information about facilities to test upgrade

* add notes about cosmos sdk v0.50 upgrading guide

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* add extra info about authority and merkle path functions that have been removed

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* deps: bump mod/capability to v1.0.0-rc6 (#4768)

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* Fix e2e-upgrade.yaml complaint. (#4772)

* deps(docs): bump docusaurus from v2.4.1 to v2.4.3

* Fix e2e linting issues. (#4767)

* test extra conditions for `ApplyPrefix` (#4764)

* test extra conditions

* review comment

* Add codec registrations tests for apps (#4780)

* Add test for type registration for transfer.

* Add test for type registration for fee.

* Add test for type registration for ica.

* Lint this bad boy

* Apply suggestions from code review

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

---------

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

* Save gas on capability IsInitialized (#4770)

* chore: fix broken links/rename folders (#4781)

* chore: fix broken links/rename folders

* typo

* fix link

* Use slices.ContainsFunc instead of separate contains func. (#4786)

* docs: fix links (#4787)

* chore: update changelog (#4774)

* chore: update changelog

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

---------

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* docs: implemented Mary's suggestions (#4775)

* docs: implemented Mary's suggestions

* imp(docs): updated the large IBC logo

---------

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

* Update repo cover image (#4794)

* docs: added tutorial for Cosmoverse 2023 (#4793)

* feat(docs): added custom components

* feat(docs): added and tested custom components

* docs: fee app.go integration tutorial added

* imp(docs): added custom git diff magic comments

* deps: switched to '@saucelabs/theme-github-codeblock'

* imp(docs): improved fee wiring up and added keplr to env setup

* imp(docs): added react scaffold docs

* imp(docs): added fee mw react component

* imp(docs): finished all files of the demo

* imp(docs): updated links and styling

* docs: ran linter

* imp(docs): implemented review items

* fix: typos (#4796)

* fix typo

* fix typo

* fix typos

* fix typos

* fix typos

* fix typo

* imp!: use expected interface for legacy params subspace (#4811)

* imp: use expected interface for legacy params subspace

* chore: define GetParamSet on expected interface and rm explicit type conversions

* chore: fix fork e2es (#4813)

* chore: mergify task and e2e tests for `release/v8.0.x` (#4765)

* chore: mergify task and e2e tests for release/v8.0.x

* preventing single chain tests to run on more than one chain

* extra polishing of yaml files

* add release/v8.0.x to drop down menus

* use hermes relayer instead of rly

* docs: add changelog entry for #4835

* doc: adding migration doc info for nil legacy subspace (#4816)

* Change host relay tests to check error returned (#4161)

* Add failure case for msg failing on ValidateBasic.

* Move testing for host relay to check for error returns.

* Use similar error checking as other tests.

* Use NoError, wrap err in error message.

* fix: relay test expected result

---------

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

* build(deps): Bump golang.org/x/mod from 0.12.0 to 0.13.0 in /e2e (#4839)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.12.0 to 0.13.0.
- [Commits](https://github.com/golang/mod/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0 (#4846)

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](https://github.com/spf13/viper/compare/v1.16.0...v1.17.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 e2e, callbacks, capability.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump bufbuild/buf-setup-action from 1.26.1 to 1.27.0 (#4847)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.26.1 to 1.27.0.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.26.1...v1.27.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: Carlos Rodriguez <carlos@interchain.io>

* e2e : migrate interchaintest.GetBalance to CosmosChain's GetBalance (#4683)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#4855)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* imp: add go mod tidy all script (#4845)

* feat: add go mod tidy all script

* feedback

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chores: add v4.5.0 tag and remove v5.2.x (end of life) (#4840)

* chore: fixing compatibility tests (#4876)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0 (#4889)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.11.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* The typical dance, again.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2 (#4890)

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2

Bumps [cosmossdk.io/api](https://github.com/cosmos/cosmos-sdk) from 0.7.1 to 0.7.2.
- [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/v0.7.1...api/v0.7.2)

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

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

* The typical dance.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* imp: add init-simapp script (#4844)

* feat: add init-simapp script

* Apply suggestions from code review

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

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chore: fixes for legacy amino encoding for ledger signing (#4812)

* chore(wip): fixes for legacy amino encoding for ledger signing

* chore: cleanup, format and add additional fee annotations

* fix: register legacy amino codec in 29-fee

* build(deps): Bump bufbuild/buf-setup-action from 1.27.0 to 1.27.1 (#4906)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.0 to 1.27.1.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.0...v1.27.1)

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

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

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0 (#4904)

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* remove test that does not apply to v6.1.x and v6.2.x release lines

* small improvements to v8 migration docs

* Automate Discord Notification for New Releases (#4918)

* Create discord_notify.yml

Add GitHub Action for Discord release notifications

* Rename discord_notify.yml to discord-notify.yml

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* docs: add google analytics 4 support (#4933)

* deps(docs): ran 'npm i --save @docusaurus/plugin-google-gtag'

* feat(docs): added google analytics 4 to docs

* Add note for adding a build tag in new e2e files. (#4937)

* docs: add microsoft clarity support (#4935)

* deps(docs): ran 'npm i --save @gracefullight/docusaurus-plugin-microsoft-clarity'

* feat(docs): added microsoft clarity support

* chores for new patch releases for v4, v5, v6, v7 (#4922)

* release chores

* remove tag from tests

* remove tag from tests

* build(deps): Bump actions/setup-node from 3 to 4 (#4941)

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

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

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

* fix(msg): register proto interface (#4944)

* build(deps): Bump tj-actions/changed-files from 39 to 40 (#4962)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39 to 40.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v39...v40)

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

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

* chore: remove redundant code (#4952)

* deps(e2e): update hermes tag (#4968)

* Register message service descriptor (#4969)

* docs: fee middleware tutorial improvements (#4979)

* docs: removed duplicate code snippet

* docs: consistent use of yaml vs yml

* docs: using 'auto_register_counterparty_payee'

* docs: added Fee Middleware docs to prereqs

* docs: fixed broken link

* docs: improved fee tutorial

* imp: review item

* (mod/capability) Use AppModule directly in favour of AppModuleBasic in mod/capability (#4982)

* removing appmodulebasic and all nil/unneeded functions

* lint

* test file changes

* lint

---------

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

* deps: bump Cosmos SDK to tip of `release/v0.50.x` (#4976)

* deps: bump to Cosmos SDK @ 0469fc17e1587850e7de390af282df5215287a21

* lint

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

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

* Add a test for 07-tendermint's GetTimestampAtHeight (#4972)

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

* build(deps): Bump bufbuild/buf-setup-action from 1.27.1 to 1.27.2 (#4988)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.1 to 1.27.2.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.1...v1.27.2)

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

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

* refactor(simapp): re-wire autocli with latest client/v2 changes (#4843)

* refactor: wire autocli

* go mod tidy all + fix textual

* removing initmodule from ica (#4977)

* remoing appmodulebasic interface from capability and initmodule function which mimicks initgenesis

* undoing capability change

* imp(statemachine)!: add length validation of string fields in messages

Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* chore: EoL for v4 and v5 (#4995)

* simplifying code in packet_test (#4980)

* reducing boilerplate code

* lint

* gofumpt

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0 (#5009)

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0

Bumps [cosmossdk.io/store](https://github.com/cosmos/cosmos-sdk) from 1.0.0-rc.0 to 1.0.0.
- [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-rc.0...log/v1.0.0)

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

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

* chore: 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: chatton <github.qpeyb@simplelogin.fr>

* fix: docs typos (#5014)

* Fix typos 01-overview.md

* Fix Typos 00-intro.md

Fixed typos & tweaked intro language

* style: raname sidebar Tutorials to Developer Portal

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>

* docs: fix typos (#5019)

* fix expect pointer error when unmarshalling misbehaviour file (#5020)

* fix expect pointer error when unmarshalling misbehaviour file

* Update CHANGELOG.md

---------

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

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0 (#5017)

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.12.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* bump callbacks

* e2e: 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>

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#5024)

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.7.0...v1.8.0)

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

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

* chore: make tidy-all

---------

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>

* build(deps): Bump golang.org/x/mod from 0.13.0 to 0.14.0 in /e2e (#5025)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.13.0 to 0.14.0.
- [Commits](https://github.com/golang/mod/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0 (#5034)

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0

Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.1.3-rc.1 to 1.2.0.
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/math/v1.1.3-rc.1...log/v1.2.0)

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

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

* chore: tidy all

---------

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>

* chore: fix error formatting of client status check in client recovery (#5039)

* deps: bump SDK v0.50.1 (#5038)

* deps: bump SDK v0.50.1

* update changelog

* deps: downgrade cosmossdk.io/core to v0.11.0

* fix interchain accounts tests

* implement app module basic correctly for capability module

* bump SDK to v0.50.1 in capability module

* downgrade cosmossdk.io/api to v0.7.2

* downgrade cosmossdk.io/api to v7.2.0 for callbacks

* Bump dependencies (#5064)

* deps: update mod/capability to v1.0.0 (#5046)

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

* imp: updated urls (#5031)

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

* docs: new social card for docs (#5080)

* docs: added new social card

* docs: updated social card

* chore: add mergify backport for 08-wasm (#5077)

* docs: add docs folder for v8.0.x (#5078)

* docs: add docs folder for v8.0.x

* fix links

* docs: fixed with absolute url links

* docs: fix more links

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Charly <charly@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Susannah Evans <65018876+womensrights@users.noreply.github.com>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: nguyen <144610611+trinitys7@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Adi <103246632+adiraviraj@users.noreply.github.com>
Co-authored-by: emidev98 <49301655+emidev98@users.noreply.github.com>
Co-authored-by: Muku <44918265+muku314115@users.noreply.github.com>
Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: zadkiel88 <106065297+zadkiel88@users.noreply.github.com>
Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: shuoer86 <129674997+shuoer86@users.noreply.github.com>
Co-authored-by: mmsqe <mavis@crypto.com>

* chore: propagate IBC authority to 04-channel keeper to be used within upgrade cancellation (#5093)

* chore: add authority to function params, test flow for checking msg sender against authority

* linter

* refactor: use isAuthority bool in favour of passing signer and authority to 04-channel

---------

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

* Amend validation of upgrade fields to use variable holding supported orderings. (#5152)

* refactor: adapt testing endpoint query for channel upgrade proofs (#5165)

* test: adding test for crossing hello trys with historical proofs (#5143)

* test: adding test for crossing hello trys with historical proofs

* chore: make format

* chore: address TODO in test case with switch of proof query endpoint

* chore: replace dummy error with correct error type (#5177)

* Remove incorrect godoc (#5203)

* chore: correct returned error (#5205)

* chore: adding comment to add clarity to returned upgrade (#5214)

* Verify channel upgrade can be completed after cancellation is successful (#5163)

* Remove last packet sent from new upgrade constructor. (#5210)

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

* Reorder call to application callback so it happens after we write state. (#5230)

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

* chore: allow authorized senders to submit empty error receipt proof (#5232)

* remove incorect code (#5235)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* chore: panic instead of return err (#5246)

* chore: add comment about version assignment (#5239)

* Add  to docstring with explanation about channel state (#5236)

* Chore: replace `fmt.Sprintf` with `fmt.Errorf` in `upgrades.go` (#5291)

* replace Sprintf with Errorf in WriteUpgradeAckChannel

* replace Sprintf with Errorf in upgrade.go

* fix: add event and event emission for `FLUSHCOMPLETE` (#5245)

* add event emit

* minor

* add testing for moving to flushing complete event

* minor

* Remove setting counterparty upgrade info in upgrade try (#5238)

* chore: updated tests to reflect the timeout and ack changes

* chore: adding status check on channel when channel is flushing

* review comment

---------

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

* fix: allow error receipt to be nil in case of the msg sender is the authority (#5262)

* fix + tests

* shuffle about logic ordering

* Move events to message server layer instead of core level (#5264)

* wip: moving events up to the message server layer

* wip: move events out to message server layer

* chore: commenting out event tests

* Fix merge issue.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* imp: use MetadataFromVersion function in 27-interchain-accounts (#5300)

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

* remove channel id (#5307)

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

* remove comment that unused (#5308)

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

* Implement OnChanUpgradeInit on Controller Chain for interchain-accounts (#5141)

* chore: adding controller implementation for OnChanUpgradeInit

* chore: happy path test passing

* chore: adding fail case

* chore: adding additional test cases

* chore: fix linting

* chore: improving errors

* chore: refactor to use test keeper function directly

* chore: add check for enabled controller module

* chore: call into middleware if provided

* chore: addressing PR feedback

* revert change in godoc of GetConnectionID

* fix: typo in MetadataFromVersion func

* chore: rm duplicate func

---------

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

* Add a helper function to create a mock contract. (#5162)

* docs: improved channel closure docs (#5170)

* docs: improved channel closure docs

* docs: ran linter

* chore: use `GetPrefixedDenom` to create IBC token denom (#5175)

* build(deps): Bump DavidAnson/markdownlint-cli2-action from 13 to 14 (#5176)

Bumps [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action) from 13 to 14.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/455b6612a7b7a80f28be9e019b70abdd11696e4e"><code>455b661</code></a> Update to version 14.0.0.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/fa0be7308fe9ed25a7d2ebaa0017dcf119c174d3"><code>fa0be73</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/1e5b6609c975f6023b335289c93acab187740b7d"><code>1e5b660</code></a> Remove &quot;command&quot; input deprecated in v11.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/b1a3c7b34980691d7de04930b0a0e82f96e98327"><code>b1a3c7b</code></a> Add CONTRIBUTING.md.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/feb7cc4324d395ee7746fd85e9115cb5dbca8a98"><code>feb7cc4</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/eeda66770c0f944c0c52595a2fdd5e130c0c3030"><code>eeda667</code></a> Bump markdownlint-cli2 from 0.10.0 to 0.11.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/4670abafb2e29f6ba1d52f1ee4dc5e35fa981963"><code>4670aba</code></a> Stop excluding generated file dist/index.js from diff check in npm test scrip...</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/404090a89e8ef8be91a2d458e120ab8636277d3c"><code>404090a</code></a> Bump eslint from 8.53.0 to 8.54.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/c69f13c27f4b0db012599e48dcdd3e6a216a9789"><code>c69f13c</code></a> Remove deprecated ESLint rules after version update.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/55caa5fd0a1c57994a687d53806b4cd35f5a2538"><code>55caa5f</code></a> Bump eslint from 8.52.0 to 8.53.0</li>
<li>Additional commits viewable in <a href="https://github.com/davidanson/markdownlint-cli2-action/compare/v13...v14">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=DavidAnson/markdownlint-cli2-action&package-manager=github_actions&previous-version=13&new-version=14)](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 show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@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>

* docs: readme improvements (#5171)

* readme improvements

* add link

* chore(08-wasm): `Pin` code during app initialisation (#5161)

* init InitializePinnedCodes

* testing

* call Pin during app inisitalization

* linting

* update docs

* spacing

* update docs

* add extra line

* chore: update tmproto, tmos aliases to cmtproto, cmtos

* chore: use suite.Require().NoError(), rename gotErr to err

* testing: nits

* Use table driven tests for TestInitializedPinnedCodes

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* e2e: timeout transfer with grandpa light client (#5018)

* Change to StoreCodeUnchecked in Genesis and snapshotter (#5167)

* change to store code unchecked

* separate storeWasmCode and im…
damiannolan added a commit that referenced this pull request Jun 11, 2024
* feat: channel upgradability (backport #1613) (#5478)

* feat: channel upgradability (#1613)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: Aditya Sripal <adityasripal@gmail.com>
Co-authored-by: Charly <charly@interchain.io>
Co-authored-by: Cian Hatton <cian@interchain.io>
Co-authored-by: sangier <stefano@interchain.io>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Susannah Evans <65018876+womensrights@users.noreply.github.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: Đỗ Việt Hoàng <hoangdv2429@gmail.com>
(cherry picked from commit 28f757a52c1075e78aa16322f1adab35a6e94e7d)

# Conflicts:
#	docs/client/swagger-ui/swagger.yaml
#	e2e/go.mod
#	e2e/go.sum
#	e2e/sample.config.yaml
#	e2e/tests/interchain_accounts/localhost_test.go
#	e2e/tests/wasm/grandpa_test.go
#	e2e/testsuite/grpc_query.go
#	e2e/testsuite/testconfig.go
#	e2e/testsuite/testsuite.go
#	modules/apps/transfer/types/authz.pb.go
#	modules/core/04-channel/keeper/packet_test.go
#	modules/core/04-channel/types/msgs.go
#	modules/core/04-channel/types/msgs_test.go
#	testing/utils.go

* chore: rm -rf e2e

* chore: make proto-all to resolve authz transfer conflicts

* chore: resolve remaining conflicts in src files

* chore: regenerate swagger doc

* chore: fix markdown links

* add MsgPruneAcknowledgements

* add compiler assertions for MsgPruneAcknowledgements

* changes to avoid breaking API for channel upgradability (#5480)

* changes to avoid breaking API for channel upgradability

* fix: compiler errors

---------

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

* fix: add MsgPruneAcknowledgements to codec registration (#5481) (#5483)

(cherry picked from commit 947b15ed0e3d2130e5bc9763ce623f6cbb7aa74a)

# Conflicts:
#	modules/core/04-channel/types/codec.go

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

* fix: remove api breaks on backport (#5484)

---------

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Charly <charly@interchain.berlin>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Colin Axnér <25233464+colin-axner@users.noreply.github.com>

* feat: check if controller enabled or not in `sendTx` (backport #5343) (#5487)

* feat: check if controller enabled or not in `sendTx` (#5343)

* checked if controller enabled or not

* added the test case

* rename test case

* extra line

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

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* make lint-fix

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
(cherry picked from commit 6f2493fb5449443ffe14286b37d2105c3075deda)

* add changelog

---------

Co-authored-by: Vishal Potpelliwar <71565171+vishal-kanna@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* chore: remove `syncUpgradeSequence` (#5489) (#5498)

* chore: remove syncUpgradeSequence

* remove unused import

(cherry picked from commit 05dd7d0c9c2557f8ad7b39a16e7061f50ebd87d0)

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

* fix(statemachine)!: allow overwriting of 29-fee payee to relayer address (backport #5441) (#5499)

* fix(statemachine)!: allow overwriting of 29-fee payee to relayer address (#5441)

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
(cherry picked from commit 9c77534d096ee99025aec1c6a660594af705ade7)

* add changelog

---------

Co-authored-by: chandiniv1 <117723967+chandiniv1@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* modify maxmemocharlength (backport #5442) (#5500)

* imp(statemachine)!: increase ICA `MaxMemoCharLength` (#5442)

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
(cherry picked from commit 335e4ff8daa70121c05f47c965c39f9c6bb8e774)

* add changelog

---------

Co-authored-by: chandiniv1 <117723967+chandiniv1@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* Add list of allowed packet data keys to Allocation of TransferAuthorization (backport #5280) (#5486)

* feat(statemachine)!: add list of allowed packet data keys to `Allocation` of `TransferAuthorization` (#5280)

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Long <77162856+mgl2150@users.noreply.github.com>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Du Nguyen <61083705+lichdu29@users.noreply.github.com>
Co-authored-by: Đỗ Việt Hoàng <hoangdv2429@gmail.com>
(cherry picked from commit db11b9d55bffa31cbacd07d31ff124cfd1d77b13)

* add changelog

* return not allowed keys in error message

---------

Co-authored-by: GnaD <89174180+GNaD13@users.noreply.github.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* fix: return bool in GetPruningSequenceStart (#5488) (#5511)

(cherry picked from commit 20312be057ff06c95b11431071a26b8d0c542367)

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

* feat: Removing restorechannel and adding SetUpgradeErrorReceipt (#5405) (#5517)

* Add a check for connection state in UpgradeAck. (#3954)

* update WriteUpgradeTry to change flush status to `FLUSHCOMPLETE` if there are no packet commitments left (#3964)

* Add flush status check in SendPacket  (#3912)

* Add ChanUpgradeOpen core handler. (#3844)

* Add ChanUpgradeOpen core handler.

* Tests tests tests.

* Update upgrade open handler based on feedback.

* Reformat testing approach.

* Move counterpartyhops assignment inline.

* Check err of SetChannelState.

* Address feedback.

* Remove uneeded modification of version.

* Add flushing check to WriteUpgradeAckChannel (#3976)

* chore: adding check for in flight packets in WriteUpgradeAckChannel

* added test for TestWriteUpgradeAckChannel

* linter

* add client update to UpgradeAckChannel test

* mv test

* merge

* fix post-merge

* fix merge issues

* review comment

---------

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

* remove depguard from golangci-lint (#4000)

* Set channel state to NOTINFLUSH when Closing (#3995)

* Set Counterparty Last Sequence Send (#4005)

* Add FlushStatus Checks to RecvPacket (#3914)

* Add implementation for message server handling of ChanUpgradeOpen. (#3895)

* Add implementation for message server handling of ChanUpgradeOpen.

* Add tests for msg_server.

* Address review feedback.

* Remove setting of flush status.

* Apply suggestions from code review

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

* Address rest of review comments.

---------

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

* helper function for validating a counterparty upgrade against the selfupgrade (#4016)

* Make AbortUpgrade panic on failure (#4011)

* chore: update abort upgrade function to panic on error

* apply review suggestions

---------

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

* Amend AcknowledgePacket to handle flushing (#3922)

* Amend Ack packet to keep acknowledging if we're in the process of flushing pre-upgrade packets.

* Use handshake to reach correct state before mutating any fields.

* Add test to verify post-ack channel state after last in-flight packet.

* Remove unecessary modifications of version for non initializing channel end.

* Test both cases: final in-flight packet and non-final one.

* Apply suggestions from code review

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

* Remove manual setting of flush status.

* Update test name, pass mock version to both channels.

---------

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

* Amend timeout to handle in-flight packets. (#3923)

* Amend timeout to handle in-flight packets.

* Update timeout handler per spec.

* Update tests to test for toggling of flush status.

* Fix small typos in docstring.

---------

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

* change comment

* chore: adding callback for OnChanUpgradeRestore in abort scenarios (#4051)

* Pass in counterparty portID, channelID when verifying channel in ChanUpgradeOpen. (#4052)

* Pass in counterparty portid, channelid.

* use direct check on err.

* Force distinct channel identifiers when testing UpgradeOpen.

* Remove manual setting of flush status in ChanUpgradeOpen. (#4064)

* Use counterparty portid, channelid when verifying channel upgrade error. (#4063)

* feat: adding `OnChanUpgradeInit` handler implementation to `29-fee` (#4019)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

---------

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

* feat: adding `OnChanUpgradeTry` handler implementation for `29-fee` (#4023)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

---------

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

* feat: adding `OnChanUpgradeAck` handler implementation to `29-fee` (#4028)

* WIP: adding fee upgrade cbs and testing

* imp: allow failure expectations when using chain.SendMsgs

* fixing import errors from cherry-pick

* updating tests and rm try code

* rm diff onChanUpgradeTry

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

* adding OnChanUpgradeTry implementation for 29-fee, adding tests

* rm CR in test expectation

* remove goconst linter as discussed async

* adding onChanUpgradeAck implementation to 29-fee, adding tests

* adding MetadataFromVersion func to pkg types

* addressing pr feedback, disable fees on err, rename args, adding testcase

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

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

* abstract out expIsFeeEnabled check in tests

* adding additional error context to MetadataFromVersion

* propagate changes from onChanUpgradeInit PR

* addressing test assertion feedback

* updating to use types.MetadataFromVersion in OnChanUpgradeAck

* updating tests to add additional checks

---------

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

* Use counterparty connection hops when verifying channel state (#4074)

* use counterparty conn hops.

* Clean up tests.

* Amend inline comment slightly.

* Address nits

---------

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

* chore: adding comment to 29-fee OnChanUpgradeOpen callback (#4123)

* Add tests for WriteUpgradeOpenChannel. (#4077)

* Add tests for WriteUpgradeCancel. (#4076)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck. (#4075)

* Move channel to OPEN if all in-flight packets have been flushed in UpgradeAck.

* Add comment noting that counterparty flush status has been verified before usage.

* Fix failing tests.

* imp: use HasInflightPackets to check if channel has finished flushing. (#4134)

* feat: adding `OnChanUpgradeInit` implementation to transfer (#4126)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* updating to use NewTranferPath in test func

* address pr comment - reformat error msg

* Remove superfluous ignore directive. (#4158)

* feat: adding OnChanUpgradeTry implementation to transfer (#4137)

* adding transfer checks in upgrade cbs

* adding tests and reduce diff by moving code out

* add additional assertion on upgrade stored in state

* lint: single var declaration instead of block

* rename version -> upgradeVersion

* Update modules/apps/transfer/ibc_module_test.go

* rename sequence -> upgradeSequence

* adding onChanUpgradeTry impl for transfer app, adding tests

* updating to use NewTranferPath in test func

* restructure error formatting

* Call app callback after writting state in Cancel and Timeout. (#4166)

* helper function to clear state stored during an upgrade (#4147)

* add `IsUpgradError` func for readability (#4144)

* add IsUpgradeError function

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

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* gofumpt

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

Co-authored-by: Charly <charly@interchain.io>

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* add check that channel exists in upgrade gRPCs (#4156)

* add check that channel exists

* use has function instead

* consistent connection lookup calls in 04-channel (#4146)

* nit: error formatting improvements for channel upgrades (#4097)

* string formatting improvements

* fix typo

* review comment

* review comment

* review comment

* review comment

* added test for event emission (#4020)

* feat: implement `OnChanUpgradeAck` for transfer (#4215)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly (#4221)

* feat: implement onChanUpgradeAck for transfer module

* Update modules/apps/transfer/ibc_module_test.go

* refactor: call OnChanUpgradeTry transfer callback directly in favour of full Endpoint call

* refactor: simplify OnChanUpgradeTry transfer testing to call module cbs directly

* lint me

* rm duplicate test from merge

* test: adding test for events in channel upgrade try (#4226)

* Add store functions for counterparty upgrade. (#4293)

* Add store functions for counterparty upgrade.

* Apply suggestions from code review

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

---------

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

* Add FLUSHING/FLUSHCOMPLETE to Channel state. (#4300)

* feat: adding `ChannelUpgradeConfirm` rpc and msgs (#4302)

* adding protobuf msgs and rpc service definition

* adding empty boilerplate method stub

* register msg codec and add sdk.Msg impl + tests

* chore: move verification before startFlushUpgradeHandshake (#4285)

* rebase `04-channel-upgrades` branch (#4160)

* update with latest changes from main

* fix conflicts in e2e

* make invalid version constant

* fix linter by using constant instead of literal

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>

* Revert "rebase `04-channel-upgrades` branch (#4160)"

This reverts commit d5e63d40695adc6c1aad16160ea3bf655251825c.

* rm unnecessary test matrix file

* make lint-fix

* satisfy revive linter

* updating feature banch ci workflow for golangci-lint

* bumping golangci-lint action to v3.6.0

* define go version as string in workflow

* Delete counterparty upgrade in deleteUpgradeInfo. Move function to keeper. (#4294)

* Remove check for counterparty timeout in ChanUpgradeTry. (#4301)

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

* Store counterparty upgrade after ack finishes. (#4299)

* call verification of counterparty channel, upgrade in upgradetry. (#4310)

* Add verification calls in ChanUpgradeAck. (#4312)

* Add ChanUpgradeConfirm to endpoint. (#4314)

* Remove verification calls in StartFlushUpgradeHandshake (#4317)

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

* test: add events test for ChannelUpgradeTimeout (#4284)

* test: add event emission test for ChanUpgradeCancel (#4281)

* Check counterparty timeout hasn't elapsed in ChanUpgradeAck. (#4305)

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

* refactor: modify `ChannelUpgradeInit` to only store upgrade fields (#4344)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* Add test for event emission ChanUpgradeAck (#4228)

* test: add event test for chan upgrade ack

* gofumpt file

---------

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

* Adding test for events for ChanUpgradeOpen (#4230)

* test: adding test for events for chan upgrade open

* Update upgrade_test.go

---------

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

* Move check to fail on incompatible upgrade after proof verification. (#4320)

* Move check to fail on incompatible upgrade after proof verification.

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

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

* lint fix

---------

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

* Add functions checkForUpgradeCompatibility and syncUpgradeSequence (#4352)

* refactor: modify upgrade init to not change channel state (#4357)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* address nits from pr review

* refactor: cleanup upgrade init app callback args (#4359)

* WIP: adding initial implementation of changes

* proto format

* commenting out more failing tests from timeouts

* fix compiler error

* commenting out failing testcases due to timeout logic

* fix: reorder proto msg fields correctly

* refactor: move increment upgrade sequence to write fn, rename currentChannel -> channel

* refactor: rename msg server vars for consistency

* update FirstChannelID to FirstConnectionID in msg validate basic tests

* rename test var and use mock.UpgradeVersion

* comment out failing tests

* refactor upgrade init state to open. refactor crossing hellos and try verification logic

* updating godoc and error return in chanUpgradeAck2

* refactor: rm unnecessary args in application upgrade init callback

* Add WriteUpgradeConfirm function. (#4303)

* Add WriteUpgradeConfirm function.

* Add some sweet godoc for this bad boy.

* Apply suggestions from code review

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

---------

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

* Modify startFlushUpgradeHandshake to be used as a write function (#4360)

* Remove restore logic in upgrade TRY handler (#4362)

* refactor: remove `FlushStatus` from ack handler and msg (#4364)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Amend checkForUpgradeCompatibility to check that versions match (#4366)

* refactor: modify ack handler expected channel state (#4371)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>

* Channel Upgrade Ack (#4372)

* feat: adding `chanUpgradeConfirm` implementation to `04-channel` (#4373)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* feat: adding msg server implementation for `ChanUpgradeConfirm` (#4376)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Remove check on flush status for send packet. (#4384)

* Remove check on flush status for send packet.

* Rename test, remove duplicate test.

* Channel Upgrade Open (#4379)

* Implement Channel Upgrade Cancel (#4404)

* Refactor `TestWriteUpgradeCancelChannel` (#4424)

* chore: remove restore logic in try handler, fast forward upgrade sequence in try hander

* chore: fix linter

* disable acknowledmgent test where try upgrade is called

* fixing failing msg server test for chanUpgradeTry

* wip: update write upgrade try func to no longer write channel as TRYUPGRADE. no longer set flush status

* refactor: remove channel flush status from ack msg and handler

* refactor: remove channel flush status from ack msg and handler

* fix: address test acknowledgement failing testcase, replace flush status with channel state assertion

* fix: linter crying

* adding back failure testcase for AcknowledgePacket

* updating testcase name to be more reflective of channel state

* refactor: update chanUpgradeAck as per spec changes

* rm commented out lines of code in write try func

* address todo for handling packet acks in correct channel state

* chore: fixing ack tests

* chore: remove unneeded comment

* chore: removed previous state log entry

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

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

* block comment code to be moved and link issue, uncomment previously disabled tests

* addding ChanUpgradeConfirm implementation with test suite

* adding the msg server impl for chanUpgradeConfirm, adding tests :)

* refactor: updated ChanUpgradeOpen keeper function to match spec

* chore: fixing tests for ChannelUpgradeOpen

* chore: added test case for invalid counterparty channel state

* chore: adding new implementation for ChannelUpgradeClose

* chore: fix TestWriteUpgradeCancelChannel

* chore: addressing feedback

* chore: simplified test cases

* chore: fix linter

* chore: remove duplicate connection test

* Apply suggestions from code review

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

* refactor TestWriteUpgradeCancelChannel to use table tests

* delete unused variable

* lint

* update check panic

* update from code review

* Apply suggestions from code review

---------

Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Refactor `TestWriteUpgradeOpenChannel` (#4431)

* refactor TestWriteUpgradeOpenChannel to use table tests

* Apply suggestions from code review

* lint

* revert AttributeKeyUpgradeChannelFlushStatus

---------

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

* refactor: acknowledgePacket handling flushing / flush complete state  (#4412)

* refactor: handle flush complete channel state transition in acknowledgePacket

* wip: adding testcases for acknowledgePacket with flushing state

* lint: make lint-fix

* test: adding assertFn temporarily to tests to provide after test state checks

* set counterparty upgrade on write try fn

* Add UpgradeTimeout as a params field in the channel submodule (#4411)

* Refactor TestWriteUpgradeTry to remove flush status checks (#4430)

* refactor: use `expResult` in acknowledgePacket tests (#4439)

* refactor: adapt acknowledgePacket tests to use expResult func

* cleanup: removing redundant stale tests

* fix: assert ErrInvalidProof for verification failure. modify suite.Run tc naming

* Implement ChanUpgradeTimeout with spec changes (#4438)

* Amend recvPacket as per spec. (#4386)

* Amend recvPacket as per spec.

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

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

* Drop usage of CounterpartyLastSequenceSend.

* Cover all cases.

* Use SetChannelCounterpartyUpgrade.

* Add expected errors, remove duplicate test.

* Remove setting of counterparty last sequence send in other test case.

* Shorthand initialization of dummy upgrade.

* Apply suggestions from code review

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

---------

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* Update error receipt event emission to use correct event type (#4451)

* Account for moving channel state to flush complete in timeout processing (#4425)

* Remove init, try, ack upgrade states (#4455)

* refactor: remove `FlushStatus` from channel end (#4457)

* refactor: remove flush status from channel end

* remove flush status enum

* address pr review comments and remove additional refs in comments

* Refactor channel upgradability msgs to reflect updated spec (#4456)

* Amend timeoutPacket to allow timeouts on any channel state. (#4367)

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

* Refactor recvPacket tests to use expError. (#4471)

* Refactor recvPacket tests to use expError.

* Use testify's ErrorIs.

* refactor: remove counterparty last sequence send state entry (#4473)

* Don't write channel to state when not modified. (#4495)

* refactor: rename channel upgradability flush states (#4488)

* Don't emit event information for unchanged upgrade. (#4492)

* Add tests for WriteUpgradeConfirm. (#4490)

* Allow receiving of packets if the counterparty latest sequence send has not been set (#4480)

* allow receiving of packets if the counterparty latest sequence send has not been set.

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

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

* Address feedback, lint fix.

* STATUS_FLUSHING -> FLUSHING

---------

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

* chore: re-enable disabled test case in `chanUpgradeTry` (#4501)

* Resolve commented out testcases for Channel Upgrades (#4474)

* refactor: adding additional upgrade fields args to onChanUpgradeOpen (#4478)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm (#4491)

* tests: adding followup tests for in-flight packets on chanUpgradeConfirm

* fix: adapt failing test and format

* fix: resolve compiler breakage of enum naming

* Use only timestamp only for upgrade timeouts. (#4482)

* Timing out packets on ordered channels when in flushing state aborts upgrade and closes channel (#4475)

* Change UpgradeTimeout to from absolute to relative (#4511)

* refactor: fee middleware onChanUpgradeInit callback (#4514)

* refactor: fee middleware onChanUpgradeTry callback (#4515)

Co-authored-by: Cian Hatton <cian@interchain.io>

* refactor: implementation for onChanUpgradeAck ics29 (#4523)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl (#4524)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* adding comment to discarded return arg

* test: adding integration test for fee transfer channel upgrade (#4533)

* refactor: implementation for onChanUpgradeAck ics29

* lint0r

* feat: adding fee middleware onChanUpgradeOpen callback impl

* test: adding integration test for fee transfer channel upgrade

* fix: check that `MsgChannelUpgradeInit` is signed by authority (#4773)

* Chore: consistent argument order (#4545)

* order arguments

* Revert "order arguments"

This reverts commit 2de37271e6f19b77e01cef65a1120a663486c040.

* reorder arguments of channel upgrade verify functions

* missing changes

---------

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

* Add ParseProposalIDFromEvents helper function (#4942)

* add ParseProposalIDFromEvents

* update with damian suggest

* imp: remove `LatestSequenceSend` (#5108)

* del: latestsequencesend field

* fix: comment

* gofumpt

* del: tests

* del leftover tests part

* adressing comments

* addressing comment

---------

Co-authored-by: sangier <stefano@Stefanos-MacBook-Pro.local>
Co-authored-by: sangier <stefano@interchain.io>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* chore: rebase 04-channel-upgrades feature branch (#5085)

* move legacy keytable init to migration handler code (#4730)

* deps: bump SDK v0.50-rc.1 (#4763)

* test: run tests of all go.mods (#4468)

* test: run tests of all go.mods

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

* Remove +build directive which is deprecated, remove tparse hadnling in Makefile.

* Add sdk script, remove LINT_DIFF.

* Fix linting issues that popped up.

* Add script to run tests for all modules.

* chore: add executible permissions to script, rename to avoid shadowing dir builtin

* chore: use python3 instead of python

* chore: add venv to gitignore

* Disallow env vars not being set, clean up minor issues.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>

* docs: some more v8 migration docs (#4728)

* docs: some more migration docs

* alignment

* alignment 2

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* update about proposals

* update docs after putting back legacy proposals

* add links for gov v1 messages

* update link of importable workflow

* add information about facilities to test upgrade

* add notes about cosmos sdk v0.50 upgrading guide

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* Update docs/docs/05-migrations/11-v7-to-v8.md

Co-authored-by: Charly <charly@interchain.io>

* add extra info about authority and merkle path functions that have been removed

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* deps: bump mod/capability to v1.0.0-rc6 (#4768)

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* Fix e2e-upgrade.yaml complaint. (#4772)

* deps(docs): bump docusaurus from v2.4.1 to v2.4.3

* Fix e2e linting issues. (#4767)

* test extra conditions for `ApplyPrefix` (#4764)

* test extra conditions

* review comment

* Add codec registrations tests for apps (#4780)

* Add test for type registration for transfer.

* Add test for type registration for fee.

* Add test for type registration for ica.

* Lint this bad boy

* Apply suggestions from code review

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

---------

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

* Save gas on capability IsInitialized (#4770)

* chore: fix broken links/rename folders (#4781)

* chore: fix broken links/rename folders

* typo

* fix link

* Use slices.ContainsFunc instead of separate contains func. (#4786)

* docs: fix links (#4787)

* chore: update changelog (#4774)

* chore: update changelog

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

---------

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* docs: implemented Mary's suggestions (#4775)

* docs: implemented Mary's suggestions

* imp(docs): updated the large IBC logo

---------

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

* Update repo cover image (#4794)

* docs: added tutorial for Cosmoverse 2023 (#4793)

* feat(docs): added custom components

* feat(docs): added and tested custom components

* docs: fee app.go integration tutorial added

* imp(docs): added custom git diff magic comments

* deps: switched to '@saucelabs/theme-github-codeblock'

* imp(docs): improved fee wiring up and added keplr to env setup

* imp(docs): added react scaffold docs

* imp(docs): added fee mw react component

* imp(docs): finished all files of the demo

* imp(docs): updated links and styling

* docs: ran linter

* imp(docs): implemented review items

* fix: typos (#4796)

* fix typo

* fix typo

* fix typos

* fix typos

* fix typos

* fix typo

* imp!: use expected interface for legacy params subspace (#4811)

* imp: use expected interface for legacy params subspace

* chore: define GetParamSet on expected interface and rm explicit type conversions

* chore: fix fork e2es (#4813)

* chore: mergify task and e2e tests for `release/v8.0.x` (#4765)

* chore: mergify task and e2e tests for release/v8.0.x

* preventing single chain tests to run on more than one chain

* extra polishing of yaml files

* add release/v8.0.x to drop down menus

* use hermes relayer instead of rly

* docs: add changelog entry for #4835

* doc: adding migration doc info for nil legacy subspace (#4816)

* Change host relay tests to check error returned (#4161)

* Add failure case for msg failing on ValidateBasic.

* Move testing for host relay to check for error returns.

* Use similar error checking as other tests.

* Use NoError, wrap err in error message.

* fix: relay test expected result

---------

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

* build(deps): Bump golang.org/x/mod from 0.12.0 to 0.13.0 in /e2e (#4839)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.12.0 to 0.13.0.
- [Commits](https://github.com/golang/mod/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0 (#4846)

* build(deps): Bump github.com/spf13/viper from 1.16.0 to 1.17.0

Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.16.0 to 1.17.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](https://github.com/spf13/viper/compare/v1.16.0...v1.17.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 e2e, callbacks, capability.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump bufbuild/buf-setup-action from 1.26.1 to 1.27.0 (#4847)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.26.1 to 1.27.0.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.26.1...v1.27.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: Carlos Rodriguez <carlos@interchain.io>

* e2e : migrate interchaintest.GetBalance to CosmosChain's GetBalance (#4683)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#4855)

* build(deps): Bump google.golang.org/grpc from 1.58.2 to 1.58.3

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* imp: add go mod tidy all script (#4845)

* feat: add go mod tidy all script

* feedback

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chores: add v4.5.0 tag and remove v5.2.x (end of life) (#4840)

* chore: fixing compatibility tests (#4876)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0 (#4889)

* build(deps): Bump cosmossdk.io/x/tx from 0.10.0 to 0.11.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.10.0 to 0.11.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.11.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* The typical dance, again.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2 (#4890)

* build(deps): Bump cosmossdk.io/api from 0.7.1 to 0.7.2

Bumps [cosmossdk.io/api](https://github.com/cosmos/cosmos-sdk) from 0.7.1 to 0.7.2.
- [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/v0.7.1...api/v0.7.2)

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

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

* The typical dance.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Carlos Rodriguez <carlos@interchain.io>

* imp: add init-simapp script (#4844)

* feat: add init-simapp script

* Apply suggestions from code review

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

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>

* chore: fixes for legacy amino encoding for ledger signing (#4812)

* chore(wip): fixes for legacy amino encoding for ledger signing

* chore: cleanup, format and add additional fee annotations

* fix: register legacy amino codec in 29-fee

* build(deps): Bump bufbuild/buf-setup-action from 1.27.0 to 1.27.1 (#4906)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.0 to 1.27.1.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.0...v1.27.1)

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

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

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0 (#4904)

* build(deps): Bump google.golang.org/grpc from 1.58.3 to 1.59.0

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

* Bump grpc in e2e, go mod tidy in e2e, callbacks.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* remove test that does not apply to v6.1.x and v6.2.x release lines

* small improvements to v8 migration docs

* Automate Discord Notification for New Releases (#4918)

* Create discord_notify.yml

Add GitHub Action for Discord release notifications

* Rename discord_notify.yml to discord-notify.yml

---------

Co-authored-by: Jim Fasarakis-Hilliard <d.f.hilliard@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

* docs: add google analytics 4 support (#4933)

* deps(docs): ran 'npm i --save @docusaurus/plugin-google-gtag'

* feat(docs): added google analytics 4 to docs

* Add note for adding a build tag in new e2e files. (#4937)

* docs: add microsoft clarity support (#4935)

* deps(docs): ran 'npm i --save @gracefullight/docusaurus-plugin-microsoft-clarity'

* feat(docs): added microsoft clarity support

* chores for new patch releases for v4, v5, v6, v7 (#4922)

* release chores

* remove tag from tests

* remove tag from tests

* build(deps): Bump actions/setup-node from 3 to 4 (#4941)

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

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

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

* fix(msg): register proto interface (#4944)

* build(deps): Bump tj-actions/changed-files from 39 to 40 (#4962)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 39 to 40.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v39...v40)

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

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

* chore: remove redundant code (#4952)

* deps(e2e): update hermes tag (#4968)

* Register message service descriptor (#4969)

* docs: fee middleware tutorial improvements (#4979)

* docs: removed duplicate code snippet

* docs: consistent use of yaml vs yml

* docs: using 'auto_register_counterparty_payee'

* docs: added Fee Middleware docs to prereqs

* docs: fixed broken link

* docs: improved fee tutorial

* imp: review item

* (mod/capability) Use AppModule directly in favour of AppModuleBasic in mod/capability (#4982)

* removing appmodulebasic and all nil/unneeded functions

* lint

* test file changes

* lint

---------

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

* deps: bump Cosmos SDK to tip of `release/v0.50.x` (#4976)

* deps: bump to Cosmos SDK @ 0469fc17e1587850e7de390af282df5215287a21

* lint

* Apply suggestions from code review

Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

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

* Add a test for 07-tendermint's GetTimestampAtHeight (#4972)

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

* build(deps): Bump bufbuild/buf-setup-action from 1.27.1 to 1.27.2 (#4988)

Bumps [bufbuild/buf-setup-action](https://github.com/bufbuild/buf-setup-action) from 1.27.1 to 1.27.2.
- [Release notes](https://github.com/bufbuild/buf-setup-action/releases)
- [Commits](https://github.com/bufbuild/buf-setup-action/compare/v1.27.1...v1.27.2)

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

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

* refactor(simapp): re-wire autocli with latest client/v2 changes (#4843)

* refactor: wire autocli

* go mod tidy all + fix textual

* removing initmodule from ica (#4977)

* remoing appmodulebasic interface from capability and initmodule function which mimicks initgenesis

* undoing capability change

* imp(statemachine)!: add length validation of string fields in messages

Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* chore: EoL for v4 and v5 (#4995)

* simplifying code in packet_test (#4980)

* reducing boilerplate code

* lint

* gofumpt

---------

Co-authored-by: Carlos Rodriguez <carlos@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0 (#5009)

* build(deps): Bump cosmossdk.io/store from 1.0.0-rc.0 to 1.0.0

Bumps [cosmossdk.io/store](https://github.com/cosmos/cosmos-sdk) from 1.0.0-rc.0 to 1.0.0.
- [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-rc.0...log/v1.0.0)

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

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

* chore: 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: chatton <github.qpeyb@simplelogin.fr>

* fix: docs typos (#5014)

* Fix typos 01-overview.md

* Fix Typos 00-intro.md

Fixed typos & tweaked intro language

* style: raname sidebar Tutorials to Developer Portal

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>

* docs: fix typos (#5019)

* fix expect pointer error when unmarshalling misbehaviour file (#5020)

* fix expect pointer error when unmarshalling misbehaviour file

* Update CHANGELOG.md

---------

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

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0 (#5017)

* build(deps): Bump cosmossdk.io/x/tx from 0.11.0 to 0.12.0

Bumps [cosmossdk.io/x/tx](https://github.com/cosmos/cosmos-sdk) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/cosmos/cosmos-sdk/releases)
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/v0.12.0/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: cosmossdk.io/x/tx
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* bump callbacks

* e2e: 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>

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#5024)

* build(deps): Bump github.com/spf13/cobra from 1.7.0 to 1.8.0

Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.7.0...v1.8.0)

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

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

* chore: make tidy-all

---------

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>

* build(deps): Bump golang.org/x/mod from 0.13.0 to 0.14.0 in /e2e (#5025)

Bumps [golang.org/x/mod](https://github.com/golang/mod) from 0.13.0 to 0.14.0.
- [Commits](https://github.com/golang/mod/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  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>

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0 (#5034)

* build(deps): Bump cosmossdk.io/math from 1.1.3-rc.1 to 1.2.0

Bumps [cosmossdk.io/math](https://github.com/cosmos/cosmos-sdk) from 1.1.3-rc.1 to 1.2.0.
- [Changelog](https://github.com/cosmos/cosmos-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cosmos/cosmos-sdk/compare/math/v1.1.3-rc.1...log/v1.2.0)

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

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

* chore: tidy all

---------

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>

* chore: fix error formatting of client status check in client recovery (#5039)

* deps: bump SDK v0.50.1 (#5038)

* deps: bump SDK v0.50.1

* update changelog

* deps: downgrade cosmossdk.io/core to v0.11.0

* fix interchain accounts tests

* implement app module basic correctly for capability module

* bump SDK to v0.50.1 in capability module

* downgrade cosmossdk.io/api to v0.7.2

* downgrade cosmossdk.io/api to v7.2.0 for callbacks

* Bump dependencies (#5064)

* deps: update mod/capability to v1.0.0 (#5046)

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

* imp: updated urls (#5031)

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

* docs: new social card for docs (#5080)

* docs: added new social card

* docs: updated social card

* chore: add mergify backport for 08-wasm (#5077)

* docs: add docs folder for v8.0.x (#5078)

* docs: add docs folder for v8.0.x

* fix links

* docs: fixed with absolute url links

* docs: fix more links

---------

Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Charly <charly@interchain.io>
Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: chatton <github.qpeyb@simplelogin.fr>
Co-authored-by: Cian Hatton <cian@interchain.io>
Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: srdtrk <59252793+srdtrk@users.noreply.github.com>
Co-authored-by: Susannah Evans <65018876+womensrights@users.noreply.github.com>
Co-authored-by: omahs <73983677+omahs@users.noreply.github.com>
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: nguyen <144610611+trinitys7@users.noreply.github.com>
Co-authored-by: Julien Robert <julien@rbrt.fr>
Co-authored-by: Adi <103246632+adiraviraj@users.noreply.github.com>
Co-authored-by: emidev98 <49301655+emidev98@users.noreply.github.com>
Co-authored-by: Muku <44918265+muku314115@users.noreply.github.com>
Co-authored-by: Jacob Gadikian <jacobgadikian@gmail.com>
Co-authored-by: Du Nguyen <dunguyen643@gmail.com>
Co-authored-by: zadkiel88 <106065297+zadkiel88@users.noreply.github.com>
Co-authored-by: srdtrk <srdtrk@hotmail.com>
Co-authored-by: shuoer86 <129674997+shuoer86@users.noreply.github.com>
Co-authored-by: mmsqe <mavis@crypto.com>

* chore: propagate IBC authority to 04-channel keeper to be used within upgrade cancellation (#5093)

* chore: add authority to function params, test flow for checking msg sender against authority

* linter

* refactor: use isAuthority bool in favour of passing signer and authority to 04-channel

---------

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

* Amend validation of upgrade fields to use variable holding supported orderings. (#5152)

* refactor: adapt testing endpoint query for channel upgrade proofs (#5165)

* test: adding test for crossing hello trys with historical proofs (#5143)

* test: adding test for crossing hello trys with historical proofs

* chore: make format

* chore: address TODO in test case with switch of proof query endpoint

* chore: replace dummy error with correct error type (#5177)

* Remove incorrect godoc (#5203)

* chore: correct returned error (#5205)

* chore: adding comment to add clarity to returned upgrade (#5214)

* Verify channel upgrade can be completed after cancellation is successful (#5163)

* Remove last packet sent from new upgrade constructor. (#5210)

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

* Reorder call to application callback so it happens after we write state. (#5230)

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

* chore: allow authorized senders to submit empty error receipt proof (#5232)

* remove incorect code (#5235)

Co-authored-by: Damian Nolan <damiannolan@gmail.com>
Co-authored-by: Cian Hatton <cian@interchain.io>

* chore: panic instead of return err (#5246)

* chore: add comment about version assignment (#5239)

* Add  to docstring with explanation about channel state (#5236)

* Chore: replace `fmt.Sprintf` with `fmt.Errorf` in `upgrades.go` (#5291)

* replace Sprintf with Errorf in WriteUpgradeAckChannel

* replace Sprintf with Errorf in upgrade.go

* fix: add event and event emission for `FLUSHCOMPLETE` (#5245)

* add event emit

* minor

* add testing for moving to flushing complete event

* minor

* Remove setting counterparty upgrade info in upgrade try (#5238)

* chore: updated tests to reflect the timeout and ack changes

* chore: adding status check on channel when channel is flushing

* review comment

---------

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

* fix: allow error receipt to be nil in case of the msg sender is the authority (#5262)

* fix + tests

* shuffle about logic ordering

* Added the MetadataFromVersion function

* Move events to message server layer instead of core level (#5264)

* wip: moving events up to the message server layer

* wip: move events out to message server layer

* chore: commenting out event tests

* Fix merge issue.

---------

Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
Co-authored-by: Charly <charly@interchain.io>

* use function in a few other places, fix typo in function name, fix test

* review comment

* imp: use MetadataFromVersion function in 27-interchain-accounts (#5300)

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

* remove channel id (#5307)

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

* remove comment that unused (#5308)

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

* Implement OnChanUpgradeInit on Controller Chain for interchain-accounts (#5141)

* chore: adding controller implementation for OnChanUpgradeInit

* chore: happy path test passing

* chore: adding fail case

* chore: adding additional test cases

* chore: fix linting

* chore: improving errors

* chore: refactor to use test keeper function directly

* chore: add check for enabled controller module

* chore: call into middleware if provided

* chore: addressing PR feedback

* revert change in godoc of GetConnectionID

* fix: typo in MetadataFromVersion func

* chore: rm duplicate func

---------

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

* Add a helper function to create a mock contract. (#5162)

* docs: improved channel closure docs (#5170)

* docs: improved channel closure docs

* docs: ran linter

* chore: use `GetPrefixedDenom` to create IBC token denom (#5175)

* build(deps): Bump DavidAnson/markdownlint-cli2-action from 13 to 14 (#5176)

Bumps [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action) from 13 to 14.
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/455b6612a7b7a80f28be9e019b70abdd11696e4e"><code>455b661</code></a> Update to version 14.0.0.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/fa0be7308fe9ed25a7d2ebaa0017dcf119c174d3"><code>fa0be73</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/1e5b6609c975f6023b335289c93acab187740b7d"><code>1e5b660</code></a> Remove &quot;command&quot; input deprecated in v11.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/b1a3c7b34980691d7de04930b0a0e82f96e98327"><code>b1a3c7b</code></a> Add CONTRIBUTING.md.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/feb7cc4324d395ee7746fd85e9115cb5dbca8a98"><code>feb7cc4</code></a> Freshen generated index.js file.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/eeda66770c0f944c0c52595a2fdd5e130c0c3030"><code>eeda667</code></a> Bump markdownlint-cli2 from 0.10.0 to 0.11.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/4670abafb2e29f6ba1d52f1ee4dc5e35fa981963"><code>4670aba</code></a> Stop excluding generated file dist/index.js from diff check in npm test scrip...</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/404090a89e8ef8be91a2d458e120ab8636277d3c"><code>404090a</code></a> Bump eslint from 8.53.0 to 8.54.0</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-action/commit/c69f13c27f4b0db012599e48dcdd3e6a216a9789"><code>c69f13c</code></a> Remove deprecated ESLint rules after version update.</li>
<li><a href="https://github.com/DavidAnson/markdownlint-cli2-acti…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
channel-upgradability Channel upgradability feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants