ibc icon indicating copy to clipboard operation
ibc copied to clipboard

ICS4: sendPacket should add a check to ensure client is not frozen

Open colin-axner opened this issue 4 years ago • 2 comments

Currently the spec assumes that all the client Verify functions ensure that the client is not frozen. The problem is that the sendPacket function does not call any verify functions. This allows packets to be sent with frozen clients. In the token transfer case, if the packet is never received, the tokens sent are lost since a timeout can never be processed.

We check for this situation in the code. Given that the spec makes a reference to client freezing in 02-client, I think it is ok to add this check into sendPacket.

I also would like this to check to match the proposed change in ibc-go which would prevent users from sending funds on expired clients

colin-axner avatar Mar 30 '21 09:03 colin-axner

Yes, both changes make sense to me.

cwgoes avatar Mar 30 '21 15:03 cwgoes

As a part of this issue, IsFrozen checks in light clients may be removed as it should be checked in 02, 03, and 04 before doing any verification, updates, or misbehaviour processing

colin-axner avatar May 05 '21 10:05 colin-axner