Why can't a transaction be cancelled?
There is a connector in the bridge that allows transferring tokens from one network to another.
Once we add tokens to a locker (contract) in a native network, this contract issues a certificate that it is in possession of these tokens. Then you go to NEAR to mint these tokens on NEAR, i.e. you receive the exact same number of tokens on the NEAR side by "showing" this certificate.
The problem is that we cannot give you the tokens back halfway into a transaction because you cannot have the same tokens both on NEAR and Ethereum at the same time, i.e. you need to finish a transaction in order to get (send) tokens back. Simply put, if you add tokens to a locker, you can't recover them until a full cycle is finished.