Submitted by pauliax, also found by 0xRajeev and shw
The function fulfill treats txData.expiry = block.timestamp as expired tx:
However, function cancel has an inclusive check for the same condition:
Recommend unifying that to make the code coherent. Probably txData.expiry = block.timestamp should be treated as expired everywhere.
sanchaymittal (Connext) confirmed and patched:
