Canceling
Due to various factors, it is possible but uncommon for a bridge to go unfilled, where it is indefinitely not relayed.
In these situations, the User's funds will remain safely in escrow on the FastBridge contract until a cancel function is executed. This function can be executed permissionlessly after a Cancel Delay period has passed.
A permissioned Canceler entity can also execute the cancel function prior to the cancellation delay, but only after the relay expiration deadline indicated the BridgeParams of the bridge request. This allows cancellations to occur more rapidly when appropriate, at the discretion of the Canceler.
If there is already a proof on file for the transaction, then cancellation will be prevented. (IE: Cannot attempt to cancel a transaction which appears to have already been successfully completed)
Effects of a cancel transaction
Regardless of the manner of cancellation, the User's escrowed funds will be transferred from FastBridge back to the originSender
of the original bridge transaction.
Additionally, a BridgeDepositRefunded event will be emitted.
No further action is possible with the bridge after a cancellation and it can be considered closed.