In the current channel upgradability spec, we introduce a new concept of LastSequenceSend / LatestSequenceSend in order to provide a "watermark" or checkpoint for packet flushing while within the upgrade handshake.
This can easily be changed to NextSequenceSend which is already a well-known concept within ibc.
Conditional logic in recvPacket would change like so:
In the current channel upgradability spec, we introduce a new concept of
LastSequenceSend
/LatestSequenceSend
in order to provide a "watermark" or checkpoint for packet flushing while within the upgrade handshake.This can easily be changed to
NextSequenceSend
which is already a well-known concept within ibc.Conditional logic in
recvPacket
would change like so:Spec:
ibc-go example:
I would consider this an improvement as we can reuse existing ibc concepts without introducing more concepts around send/recv sequencing.