xmr-btc-swap/swap/src/bitcoin
Thomas Eizinger 273cf15631
Introduce Watchable abstraction for Bitcoin wallet
We have a repeated pattern where we construct one of our
Tx{Cancel,Redeem,Punish,Refund,Lock} transactions and wait until
the status of this transaction changes. We can make this more
ergonomic by creating and implementing a `Watchable` trait that
gives access to the TxId and relevant script for this transaction.
This allows us to remove a parameter from the `watch_until_status`
function.

Additionally, there is a 2nd pattern: "Completing" one of these
transaction and waiting until they are confirmed with the configured
number of blocks for finality. We can make this more ergonomic by
returning a future from `broadcast` that callers can await in case
they want to wait for the broadcasted transaction to reach finality.
2021-03-16 19:24:32 +11:00
..
cancel.rs Introduce Watchable abstraction for Bitcoin wallet 2021-03-16 19:24:32 +11:00
lock.rs Introduce Watchable abstraction for Bitcoin wallet 2021-03-16 19:24:32 +11:00
punish.rs Introduce Watchable abstraction for Bitcoin wallet 2021-03-16 19:24:32 +11:00
redeem.rs Introduce Watchable abstraction for Bitcoin wallet 2021-03-16 19:24:32 +11:00
refund.rs Introduce Watchable abstraction for Bitcoin wallet 2021-03-16 19:24:32 +11:00
timelocks.rs Greatly reduce load onto the Electrum backend 2021-03-16 19:24:31 +11:00
wallet.rs Introduce Watchable abstraction for Bitcoin wallet 2021-03-16 19:24:32 +11:00