xmr-btc-swap/CHANGELOG.md
bors[bot] d144405182
Merge #376
376: ASB resumes unfinished swaps after startup r=da-kami a=da-kami

Fixes #374 

- [x] Save Bob peer-id in database for Alice
- [x]  Alice: Wait for `10` Monero confirmations in `BtcRefunded` instead of `XmrLocked` (requires extending the RPC to distinguish locked / unlocked balance)
- [x] Save Alice peer-id in database for Bob ~~(+ multiaddress and remove params from resume)~~
- [ ] ~~Refactor Bob in test setup (handle event-loop in test setup similar to Alice)~~

I decided against refactoring Bob in the test setup, because eventually we might still want to add concurrent swap tests with multiple Bobs. The refactoring I had in mind would not allow such kind of tests. 
Generally, the current state of the changes already contains enough added value to open the PR :)

Follow ups out of scope

- [ ] Parametrize database with role (Alice / Bob) and remove all the (currently useless) mapping between DB and protocol types.
- [ ]  Alice: Wait for transfer proof ack before transitioning to new `XmrLocked`

Co-authored-by: Daniel Karzel <daniel@comit.network>
2021-04-01 06:49:56 +00:00

1.3 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Changed

  • The resume command of the swap CLI no longer require the --seller-peer-id parameter. This information is now saved in the database.

Added

  • A changelog file.
  • Automatic resume of unfinished swaps for the asb upon startup. Unfinished swaps from earlier versions will be skipped.

Fixed

  • An issue where the swap CLI would fail on systems that were set to a locale different than English. A bad readiness check when waiting for monero-wallet-rpc to be ready caused the CLI to hang forever, preventing users from perform a swap.

Security

  • Fixed an issue where Alice would not verify if Bob's Bitcoin lock transaction is semantically correct, i.e. pays the agreed upon amount to an output owned by both of them. Fixing this required a breaking change on the network layer and hence old versions are not compatible with this version.