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

Implement IBC message builder components for Sovereign rollup #280

Closed
3 of 5 tasks
soareschen opened this issue Apr 25, 2024 · 3 comments · Fixed by #303
Closed
3 of 5 tasks

Implement IBC message builder components for Sovereign rollup #280

soareschen opened this issue Apr 25, 2024 · 3 comments · Fixed by #303
Assignees
Labels

Comments

@soareschen
Copy link
Collaborator

soareschen commented Apr 25, 2024

It is rather straightforward to implement the IBC message builder components for Sovereign rollup, as they are pretty similar to the message builder implementations for Cosmos-to-Cosmos.

The main differences are:

  • A dummy signer field is used, by calling Signer::dummy().
    • cc @farhard: it is possible to make it such that IBC message types for sovereign-ibc do not include this field at all? Or should the proper signer be used eventually?
  • The message is encoded into Any, and wrapped inside SovereignMessage.

Assignees can use the following implementations as reference:

  • BuildCreateCosmosClientMessageOnSovereign for CreateClientMessageBuilder<SovereignChain, CosmosChain>.
  • BuildUpdateCosmosClientMessageOnSovereign for UpdateClientMessageBuilder<SovereignChain, CosmosChain>

Tasks

@seanchen1991
Copy link
Contributor

seanchen1991 commented May 1, 2024

To clarify, is the scope of this work implementing something like the following components?

  • BuildCreateIBCClientMessageOnSovereign for CreateClientMessageBuilder<SovereignChain, IBCChain>
  • BuildUpdateIBCClientMessageOnSovereign for UpdateClientMessageBuilder<SovereignChain, IBCChain>

@soareschen
Copy link
Collaborator Author

The listed components are already implemented, and are for your reference. By "IBC message builders" I mean message builder for IBC-related messages, such as ReceivePacketMessageBuilder.

You can implement new components such as:

struct BuildReceivePacketMessageOnSovereign;

impl<Chain, Counterparty> ReceivePacketMessageBuilder<Chain, Counterparty>
  for BuildReceivePacketMessageOnSovereign
where
  ...

@seanchen1991
Copy link
Contributor

Looking at the constraints for BuildCosmosReceivePacketMessage, I'm not entirely sure which constraints needs to change for BuildReceivePacketMessageOnSovereign. More specifically, for the Chain: HasMessageType constraint, what should the Message associated type be set to?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants