ibc-go icon indicating copy to clipboard operation
ibc-go copied to clipboard

On async acks, store the full packet in core IBC

Open colin-axner opened this issue 1 year ago • 1 comments

Summary

Currently relayers rely on the full packet being emitted in core IBC which results in all async acks storing the full packet to give back to core IBC. In the meantime, core IBC should be the one storing the packet for async acks so it occurs in one place and applications can rely solely on their packet data (and not the full packet)


For Admin Use

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

colin-axner avatar Aug 05 '24 10:08 colin-axner

Doing a migration for v1 IBCModule's might be difficult. It might be better to simply implement this functionality for packet v2/eureka. Thus the WriteAcknowledgementAsync function should take in a destination_id, destination_port sequence and ack

In the short term, transfer v2 should probably always default to sending v1 packets. It's probably a bit disruptive to have it use v2 packets for middlehops. The initial send could still be a v2 packet

colin-axner avatar Aug 29 '24 15:08 colin-axner

Completed in https://github.com/cosmos/ibc-go/pull/7869

AdityaSripal avatar Feb 10 '25 19:02 AdityaSripal