Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add VerifyChannelUpgradeTimeout method to 03-connection #1610

Closed
3 tasks
damiannolan opened this issue Jun 29, 2022 · 0 comments
Closed
3 tasks

Add VerifyChannelUpgradeTimeout method to 03-connection #1610

damiannolan opened this issue Jun 29, 2022 · 0 comments

Comments

@damiannolan
Copy link
Member

damiannolan commented Jun 29, 2022

Summary

The channel upgrade timeout path MUST have associated verification membership method in order for a counterparty to prove that a chain stored a particular UpgradeTimeout.

Using the existing state verification keeper functions in 03-connection for reference:

  • Retrieve the ClientState and associated store using the provided connectionEnd
    • An error should be returned if the ClientState cannot be found
    • An error should be returned if the ClientState is inactive
  • Construct the MerklePath using the UpgradeTimeoutPath defined in 24-host
  • Invoke VerifyMembership using the associated ClientState
func (k Keeper) VerifyChannelUpgradeTimeout(
	ctx sdk.Context,
	connection exported.ConnectionI,
	height exported.Height,
	proof []byte,
	portID,
	channelID string,
        upgradeTimeout channeltypes.UpgradeTimeout,
) error {
        return nil
}

Ref: https://github.com/cosmos/ibc/blob/master/spec/core/ics-004-channel-and-packet-semantics/UPGRADES.md#TimeoutPath


Note the ClientState interface will contain a generic VerifyMembership method following the completion of:


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged/assigned
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

2 participants