There are cases when the lock transaction is successful but rejected by timeout.
Withdraw transaction follows the rejection in spite of valid hash (usually it's Ethereum hash, not usual) of the lock transaction.
As a result, a restart of the operation is required. Unlock tokens transaction proceed then. However, the deposit is already returned by the withdrawal transaction.
There are cases when the lock transaction is successful but rejected by timeout. Withdraw transaction follows the rejection in spite of valid hash (usually it's Ethereum hash, not usual) of the lock transaction. As a result, a restart of the operation is required. Unlock tokens transaction proceed then. However, the deposit is already returned by the withdrawal transaction.
.