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

Store canonical ICA channel IDs in host zone struct #847

Open
sampocs opened this issue Jul 7, 2023 · 0 comments
Open

Store canonical ICA channel IDs in host zone struct #847

sampocs opened this issue Jul 7, 2023 · 0 comments

Comments

@sampocs
Copy link
Collaborator

sampocs commented Jul 7, 2023

Background

Stride has 4 main ICA channels (delegation, redemption, withdrawal, fee). However, the packets along those channels have short timeouts often go unrelayed causing channel closures. Each time a channel is closed, we need to open a new one. As a result, it's tough to keep track of this canonical channel. An easy solution is to store the channel ID on the host zone struct which would allow us to easily query it from the rest endpoint.

Suggested Design

  • Add the following attributes to the host zone struct
    • delegation_channel_id
    • withdrawal_channel_id
    • redemption_channel_id
    • fee_channel_id
  • In stakeibc OnChanOpenAck, set the channel ID as a new ICA channel is created
  • Add upgrade handler to set each channel ID on existing host zones by looking up in the channel and ICA stores
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant