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 v2 channel service definition #7348

Open
4 of 8 tasks
Tracked by #7345
damiannolan opened this issue Oct 1, 2024 · 0 comments
Open
4 of 8 tasks
Tracked by #7345

Add v2 channel service definition #7348

damiannolan opened this issue Oct 1, 2024 · 0 comments

Comments

@damiannolan
Copy link
Member

damiannolan commented Oct 1, 2024

Summary

The feat/ibc-eureka branch contains a service defintion called PacketMsg which is generated to a packet-server directory which houses the ibc protocol v2 code flow.

Inline with rebranding and refactoring the packet-server to v2 channel, we should redefine this service definition as the new v2 channel MsgServer service.

Proposal

The proposed service defintion is as follows:

service Msg {
  option (cosmos.msg.v1.service) = true;

  // SendPacket defines a rpc handler method for MsgSendPacket.
  rpc SendPacket(MsgSendPacket) returns (MsgSendPacketResponse);

  // RecvPacket defines a rpc handler method for MsgRecvPacket.
  rpc RecvPacket(MsgRecvPacket) returns (MsgRecvPacketResponse);

  // Timeout defines a rpc handler method for MsgTimeout.
  rpc Timeout(MsgTimeout) returns (MsgTimeoutResponse);

  // Acknowledgement defines a rpc handler method for MsgAcknowledgement.
  rpc Acknowledgement(MsgAcknowledgement) returns (MsgAcknowledgementResponse);
}

This reduces the channel v2 service to 4 explicit rpc handler funcs, previous handshake code included in v2 in no longer necessary following the ibc eureka/v2 design.

Breakdown

This issue can be broken down into the following tasks and included in well-scoped pull requests:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Ready for Development
Development

No branches or pull requests

1 participant