-
Notifications
You must be signed in to change notification settings - Fork 586
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ChanUpgradeOpen core handler. #3844
Conversation
93b6baf
to
b1c81fa
Compare
tests pending on merging of ack. |
6b507a9
to
9ac6f2f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
quick pass -- i know this is in draft though
9ac6f2f
to
7b51bba
Compare
channelB := path.EndpointB.GetChannel() | ||
channelB.FlushStatus = types.FLUSHCOMPLETE | ||
path.EndpointB.SetChannel(channelB) | ||
|
||
channelA := path.EndpointA.GetChannel() | ||
channelA.FlushStatus = types.FLUSHCOMPLETE | ||
path.EndpointA.SetChannel(channelA) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm forced to set these myself since on completion of try/ack upgrade we're still in FLUSHING
. Lmk if I can go about this in a different way.
// Set in acceptable state | ||
channel.State = types.TRYUPGRADE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
don't particularly like having to set up the channel in a state we want to check but I think it's a trade-off between having the handshake be performed in the malleate function vs inside the loop body.
OTOH I can add a typical handshake dance here to get them in the right states as Colin mentioned in another PR. Lmk!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My experience is that it is more maintainable to use setup handlers rather than hardcoded expectations
Opening this up for review, mainly have Qs on the test structuring. |
}, | ||
/* | ||
{ | ||
// TODO: Pending implementation of open handling on msg_server |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we open an issue to not forget about this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
totally, I was thinking of adding it in the PR for the message server handler. Can open an issue if you think it might be an odd addition there (NOTE: there's a similar case in TRY, unsure what we went with there).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
publishing the first part of my review I did this morning
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work! Left mostly suggestions on the testing code. Let me know if you have any questions
channelB := path.EndpointB.GetChannel() | ||
channelB.FlushStatus = types.FLUSHCOMPLETE | ||
path.EndpointB.SetChannel(channelB) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think once #3928 is implemented, this won't be necessary, should we add a note?
// Set in acceptable state | ||
channel.State = types.TRYUPGRADE |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My experience is that it is more maintainable to use setup handlers rather than hardcoded expectations
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks correct to me! Thanks @DimitrisJim!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Excellent work! I left a couple of nits and suggetions but looks great 🚀
FlushStatus: types.FLUSHCOMPLETE, | ||
} | ||
default: | ||
panic(fmt.Sprintf("counterparty channel state should be in one of [%s, %s, %s]; got %s", types.TRYUPGRADE, types.ACKUPGRADE, types.OPEN, counterpartyChannelState)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is likely unreachable I guess since states should be checked by validate basic, but I don't see any reason to panic when we can return an error?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mirrors related handling in ChanUpgradeTry
. Guess panic indicates the unreachable-ness of it?
e4f0d5d
to
85ffd3b
Compare
rebased/force pushed as a force of habit, sorry for the mucked review process. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Left a few small suggestions but no blockers, nice work!
counterpartyChannel = types.Channel{ | ||
State: types.TRYUPGRADE, | ||
Ordering: channel.Ordering, | ||
ConnectionHops: []string{connection.GetCounterparty().GetConnectionID()}, | ||
Counterparty: types.NewCounterparty(portID, channelID), | ||
Version: channel.Version, | ||
UpgradeSequence: channel.UpgradeSequence, | ||
FlushStatus: types.FLUSHCOMPLETE, | ||
} | ||
|
||
case types.ACKUPGRADE: | ||
counterpartyChannel = types.Channel{ | ||
State: types.ACKUPGRADE, | ||
Ordering: channel.Ordering, | ||
ConnectionHops: []string{connection.GetCounterparty().GetConnectionID()}, | ||
Counterparty: types.NewCounterparty(portID, channelID), | ||
Version: channel.Version, | ||
UpgradeSequence: channel.UpgradeSequence, | ||
FlushStatus: types.FLUSHCOMPLETE, | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nit] these two sections are identical with the exception of expected counterparty state, maybe we could handle these in a single case?
case types.TRYUPGRADE, types.ACKUPGRADE: ...
Happy to leave this out for now though, it might make some of the conditionals a little harder to reason about.
As an alternative, we could maybe add a function getExpectedCounterPartyChannel(currentState, ...)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will remember to bring this up during review call, I'm thinking there's backing for keeping the switches separate to follow spec in structure.
// WriteUpgradeOpenChannel writes the agreed upon upgrade fields to the channel, sets the channel flush status to NOTINFLUSH and sets the channel state back to OPEN. This can be called in one of two cases: | ||
// - In the UpgradeAck step of the handshake if both sides have already flushed all in-flight packets. | ||
// - In the UpgradeOpen step of the handshake. | ||
func (k Keeper) writeUpgradeOpenChannel(ctx sdk.Context, portID, channelID string) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this will need to be exported if we are calling it from the message server layer right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yess! Will do so in #3895 to keep things relevant
k.deleteUpgrade(ctx, portID, channelID) | ||
k.deleteCounterpartyLastPacketSequence(ctx, portID, channelID) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
potential candidate for another helper fn since it's used in restoreChannel
but definitely not a big deal.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a comment about the unit testing for the write function similar to the ones here but i think they could also be done in a followup pr. nice work!
// WriteUpgradeOpenChannel writes the agreed upon upgrade fields to the channel, sets the channel flush status to NOTINFLUSH and sets the channel state back to OPEN. This can be called in one of two cases: | ||
// - In the UpgradeAck step of the handshake if both sides have already flushed all in-flight packets. | ||
// - In the UpgradeOpen step of the handshake. | ||
func (k Keeper) writeUpgradeOpenChannel(ctx sdk.Context, portID, channelID string) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do we need unit tests for this write function?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, guess the idea for Ack was test since there's the conditional there that leads to two different states. I do think we're lacking test cov on some checks in the write functions for the other handlers so I'd definitely be in favour of testing the rest in a follow up.
* 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 "command" 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…
* 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 "command" 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>…
* 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 "command" 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…
* 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 "command" 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…
… (#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 "command" 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…
* 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 "command" 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…
* 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 "command" 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…
Description
closes: #3745
Commit Message / Changelog Entry
see the guidelines for commit messages. (view raw markdown for examples)
Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
docs/
) or specification (x/<module>/spec/
).godoc
comments.Files changed
in the Github PR explorer.Codecov Report
in the comment section below once CI passes.