Skip to content

Add a DeregisterInterchainAccounts API to ICS-27 #5807

Open
@srdtrk

Description

Summary

The current design of ICA allows any relayer to reopen an ICA channel. This has some unwanted side effects. To address this, we can introduce a MsgDeregisterInterchainAccount such that if a channel is closed using this message, then it can only be reopened with MsgRegisterInterchainAccount.

I'm creating this issue as a part of Interchain focus week to document my progress and what I've been working on. This should not be merged without consensus from maintainers.

Problem Definition

The current design of ICA allows any relayer to reopen an ICA channel with the same parameters. This also means channel parameters of the reopened channel must be identical to the previous channel. Forcing ICA users to upgrade their channels through channel upgradability.

Proposal

Introduce MsgDeregisterInterchainAccount which closes the channel. If a channel is closed this way, then the channel cannot be reopened by relayers, and the only way to reopen the channel is to submit a MsgRegisterInterchainAccount. This allows:

  • channel parameters to be updated by the owner without the use of channel upgradability.
  • allows the owner to close their ICA channel permanently.
  • allows unordered ICA channels to close.
  • doesn't break anything since timed out channels can still be reopened by relayers.

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged/assigned

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    27-interchain-accountschange: state machine breakingIssues or PRs that break consensus (need to be released in at least a new minor version)iceboxIssues that we will not address for the time beingneeds discussionIssues that need discussion before they can be worked ontype: featureNew features, sub-features or integrations

    Type

    No type

    Projects

    • Status

      Backlog 🕐

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions