R4R: Fix bug of unordered channel (#6337)

* fix unordered

* resolve conflicts
This commit is contained in:
Segue 2020-06-08 14:19:59 +08:00 committed by GitHub
parent cd94032c0e
commit 52d11acb45
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 0 deletions

View File

@ -246,6 +246,13 @@ func (k Keeper) PacketExecuted(
}
if len(acknowledgement) > 0 || channel.Ordering == types.UNORDERED {
if _, found := k.GetPacketAcknowledgement(ctx, packet.GetDestPort(), packet.GetDestChannel(), packet.GetSequence()); found {
return sdkerrors.Wrapf(
types.ErrInvalidPacket,
"packet sequence (%d) already has been received", packet.GetSequence(),
)
}
k.SetPacketAcknowledgement(
ctx, packet.GetDestPort(), packet.GetDestChannel(), packet.GetSequence(),
types.CommitAcknowledgement(acknowledgement),