Describe the bug
There's a critical section in handleRefundReady and handleWithdrawReady where the bridge submits a transaction to Stellar and then updates the TFChain state.
A crash between these two operations (or any failure to submit the TFChain transaction) could lead to a transaction being executed on Stellar but not marked as complete on TFChain, potentially causing it to be re-processed.
Describe the bug
There's a critical section in handleRefundReady and handleWithdrawReady where the bridge submits a transaction to Stellar and then updates the TFChain state.
A crash between these two operations (or any failure to submit the TFChain transaction) could lead to a transaction being executed on Stellar but not marked as complete on TFChain, potentially causing it to be re-processed.