cosmos / ibc-go

Inter-Blockchain Communication Protocol (IBC) implementation in Golang.
https://ibc.cosmos.network/
MIT License
553 stars 597 forks source link

The packet and its payloads are sent in separate events #7607

Open srdtrk opened 2 days ago

srdtrk commented 2 days ago

Summary

Reconstructing a packet from a relayer's perspective is unnecessarily complex due to the need to process multiple events, which complicates event handling and increases the likelihood of errors.

Problem Definition

https://github.com/cosmos/ibc-go/blob/8bae734a8e699632f27fab103c25dd892ca66068/modules/core/04-channel/v2/keeper/events.go#L14-L53

Since event support has not yet fully arrived (#7386), the same problem would also occur for write acknowledgement events once they are implemented.

Use cases

Improved Developer Experience

Cleaner Codebase in IBC-Go

Enhanced Ecosystem Interoperability

Proposal

We can simply include the all payload information in the same event or do what solidity-ibc-eureka is doing and encode the entire packet as a single key-value pair.

We may also want to modify the spec so that all packet info is contained in a single event.


For Admin Use