From 378e48d87545c09007a98436131a61190fde07ea Mon Sep 17 00:00:00 2001 From: Cian Hatton Date: Wed, 24 Jan 2024 11:54:56 +0000 Subject: [PATCH] Adding note about new channel states (#5698) --- docs/docs/01-ibc/06-channel-upgrades.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/docs/01-ibc/06-channel-upgrades.md b/docs/docs/01-ibc/06-channel-upgrades.md index 725c7162ebf..b6009607959 100644 --- a/docs/docs/01-ibc/06-channel-upgrades.md +++ b/docs/docs/01-ibc/06-channel-upgrades.md @@ -136,6 +136,15 @@ The state will change to `FLUSHCOMPLETE` once there are no in-flight packets lef All other parameters will remain the same during the upgrade handshake until the upgrade handshake completes. When the channel is reset to `OPEN` on a successful upgrade handshake, the relevant fields on the channel end will be switched over to the `UpgradeFields` specified in the upgrade. +:::warning + +Due to the addition of new channel states, packets can still be received and processed in both `FLUSHING` and `FLUSHCOMPLETE` states. +Packets can also be acknowledged in the `FLUSHING` state. Acknowledging will **not** be possible when the channel is in the `FLUSHCOMPLETE` state, since all packets sent from that channel end have been flushed. +Application developers should consider these new states when implementing application logic that relies on the channel state. +It is still only possible to send packets when the channel is in the `OPEN` state, but sending is disallowed when the channel enters `FLUSHING` and `FLUSHCOMPLETE`. When the channel reopens, sending will be possible again. + +::: + ## Cancelling a Channel Upgrade Channel upgrade cancellation is performed by submitting a `MsgChannelUpgradeCancel` message.