Commit Graph

74 Commits

Author SHA1 Message Date
rishflab
3ba1ed2bcb Change message log level to debug to allow enabling through flag
We do not have a way to enable tracing through a command line
argument so it did not make sense to have these messages set to
trace. Ideally a trace flag should be added but it is not that
straightforward with structopt. We could add a --log-level arg
that allows you select a log level but this is verbose.
2021-09-11 22:17:32 +10:00
rishflab
f511ff093c Make --force the default behaviour for manual recovery
Remove the force flag. There is a resume command that tries to
gracefully restarts the protocol and tries to execute the happy path.
Remove e2e tests which test the --force flag.
2021-09-09 18:08:18 +10:00
COMIT Botty McBotface
4ff74a3940 Prepare release 0.8.3 2021-09-03 04:05:48 +00:00
rishflab
2d64a8d356
Revert "Release version 0.8.3" 2021-09-03 10:47:28 +10:00
rishflab
27b1e60f0b
Revert "Release version 0.8.3" 2021-09-02 19:32:43 +10:00
COMIT Botty McBotface
deadb7d4c8 Prepare release 0.8.3 2021-09-02 09:09:40 +00:00
COMIT Botty McBotface
2a4ffaeacb Prepare release 0.8.3 2021-09-02 05:46:50 +00:00
bors[bot]
1f371ecfee
Merge #724
724: Handle errors when waiting for subscriptions r=rishflab a=rishflab

We were not thorough enough in PR #705 and there were some remaining
unhandled errors.

Co-authored-by: rishflab <rishflab@hotmail.com>
2021-09-02 05:07:59 +00:00
rishflab
ce58b8b333 Handle errors when waiting for subscriptions
We were not thorough enough in PR #705 and there were some remaining
unhandled errors.

Co-authored-by: Daniel Karzel <daniel@comit.network>
2021-09-02 14:23:41 +10:00
rishflab
5e35a2e575 Fix duplication of entry in CHANGELOG.md 2021-09-02 12:01:32 +10:00
COMIT Botty McBotface
d482db4e67 Prepare release 0.8.2 2021-09-01 05:29:31 +00:00
devbordecraft
7a12a847a0 Fetch multiple UTXOs when we do max_giveable 2021-09-01 13:25:29 +10:00
devbordecraft
f2df838a3c Allow withdrawing and viewing of the bitcoin balance on swap-cli 2021-09-01 13:25:27 +10:00
bors[bot]
51d8623ed7
Merge #704
704: Allow withdrawing and viewing of the bitcoin balance on swap-cli r=rishflab a=devbordecraft

Same mechanics of the ASB but on swap-cli as discussed in #694

Co-authored-by: devbordecraft <devbordecraft>
2021-09-01 01:47:11 +00:00
devbordecraft
e8a6af1517 Allow withdrawing and viewing of the bitcoin balance on swap-cli
Fix formatting issue

Fix after review
2021-08-31 20:42:28 +02:00
rishflab
8598bcade1 Configure electrum client to retry 5 times 2021-08-31 18:26:03 +10:00
Daniel Karzel
18faa786d6 Fail if something goes wrong when checking tx lock status
Probably a failure when interacting with the electrum node to get script
 status updates
2021-08-31 18:26:00 +10:00
Thomas Eizinger
25b123d6ed
Load wallet in monero-wallet-rpc on demand if necessary
Previously, we relied on the wallet in the `monero-wallet-rpc` daemon
to be loaded as we do on startup. As a consequence of this expectation,
restarting `monero-wallet-rpc` to fix bugs like #652 resulted in the
ASB no longer operating correctly.

To fix this, we now load the wallet on-demand in case the daemon responds
with the error code -13.

Ideally, we would implement this behaviour generically using the proxy
pattern on the `MoneroWalletRpc` trait. Unfortunately, when attempting
to do so we uncover a limitation in the design of `jsonrpc_client`.
This limitation is tracked in https://github.com/thomaseizinger/rust-jsonrpc-client/issues/47.
Once fixed, we can implement this logic in a more robust way that is not
tied to the `check_tx_key` RPC call but applies to any RPC call automatically.
2021-08-27 09:39:29 +10:00
Thomas Eizinger
c04d2dc944
Merge two CHANGED sections in old changelog entry 2021-08-26 23:24:47 +10:00
Thomas Eizinger
6c446825b7
Instruct Ping to keep the connection alive 2021-08-18 12:45:17 +10:00
COMIT Botty McBotface
7126d77dc1 Prepare release 0.8.1 2021-08-16 01:37:09 +00:00
Thomas Eizinger
0296509110
Upgrade to bdk 0.10
This fixes #546. I don't know why, but I can't reproduce the problem
with the updated dependency.
2021-08-12 18:47:05 +10:00
Thomas Eizinger
5c4aec6ae3
Rendezvous point is not defaulted 2021-07-09 14:19:21 +10:00
COMIT Botty McBotface
403e3d2b33 Prepare release 0.8.0 2021-07-09 02:02:13 +00:00
Daniel Karzel
0dc3943d9c
Update default Monero node URLs and info
xmr.to nodes are not served at the xmr.to domain but moved to melo.tools
2021-07-08 16:42:18 +10:00
Daniel Karzel
ab24f7bce5
Revert "Prepare release 0.8.0"
This reverts commit 50da9580
2021-07-08 15:03:37 +10:00
COMIT Botty McBotface
50da958078 Prepare release 0.8.0 2021-07-07 08:31:00 +00:00
Thomas Eizinger
40eccd089f
Change --data-dir for --data-base-dir 2021-07-07 17:14:55 +10:00
Thomas Eizinger
acfd2dd6bb
Store Monero receive address in database and load it on resume 2021-07-06 20:08:24 +10:00
Thomas Eizinger
5463bde4f8
Add a mandatory --change-address parameter to buy-xmr
Fixes #513.
2021-07-06 20:07:53 +10:00
Daniel Karzel
625ff4868a
Changelog entry for the rendezvous integration 2021-07-06 20:03:54 +10:00
Thomas Eizinger
ec4234fbb9
Merge --seller-addr and --seller-peer-id into --seller parameter
This simplifies the CLI's interface.
2021-07-06 14:51:08 +10:00
Thomas Eizinger
bb8e841b0d
Make CHANGELOG.md follow the semantic newline spec 2021-06-29 11:05:41 +10:00
Your Name
665ea503d2 Make price ticker ws url configurable 2021-06-28 03:19:49 -07:00
Daniel Karzel
8e80628a71
Changelog entry for price guarantee changes 2021-06-23 17:54:42 +10:00
Thomas Eizinger
8a30ef725c
Refactor transports to construct them specific for each application
Instead of splitting up the transports into capabilities, we compose
them directly for each application. This allows us to remove the
websocket transport for the CLI which is really only needed for the
ASB to allow retrieval of quotes via the browser.
2021-06-21 09:01:19 +10:00
xscd
03857ca835 Print the Bitcoin address to the terminal as a QR code 2021-06-16 15:18:16 +03:00
COMIT Botty McBotface
7e6ff81efb Prepare release 0.7.0 2021-05-28 07:17:26 +00:00
Daniel Karzel
202f6d1fa0
Bitcoin network check when building PSBT
This ensures that funds are not sent to an address on the wrong network.
2021-05-28 09:54:35 +10:00
Daniel Karzel
c9064d5a37
Add ping protocol to ensure connection is alive
Adds the ping behaviour to both ASB and CLI behaviour that periodically pings a connected party to ensure that the underlying network connection is still alive.
This fixes problems with long-running connections that become dead without a connection closure being reported back to the swarm.
2021-05-27 11:19:27 +10:00
COMIT Botty McBotface
3f2d094f65
Prepare release 0.6.0 2021-05-24 16:00:43 +10:00
Daniel Karzel
01af9a5676
Bitcoin transaction published state
This improves the error handling on the ASB.
Once the Bitcoin redeem transaction is seen in mempool, the state machine cannot transition to a cancel scenario anymore because at that point the CLI will have redeemed the Monero.
The additional state then waits for transaction finality.
2021-05-24 10:53:14 +10:00
Daniel Karzel
7ec323ea1f
Mainnet changelog entry 2021-05-20 13:03:33 +10:00
Daniel Karzel
1cdc23de32
Explicitly specify monero-wallet-rpc deamon port
In order to allow people to plug into public nodes / be more flexible with their own setup we now enforce specifying the monero daemon port to be used by the `monero-wallet-rpc`.
2021-05-14 09:50:52 +10:00
Philipp Hoenisch
fc0cceb180
Toggle json logs using commandline flag. 2021-05-11 15:28:25 +10:00
Daniel Karzel
652aae9590
Introduce a minimum buy amount
Introduces a minimum buy Bitcoin amount similar to the maximum amount already present.
For the CLI the minimum amount is enforced by waiting until at least the minimum is available as max-giveable amount.
2021-05-11 12:03:02 +10:00
Daniel Karzel
1d62f4916c
Move max_buy and ask_spread into config
Max-buy and spread is not something that one would configure on every run.
More convenient to keep this in the config.

The max-buy Bitcoin value was adapted to `0.02` which is more reasonable for mainnet.
Activated feature `serde-float` to serialize the spread (Decimal) as float instead of string.

```
...

[maker]
max_buy_btc = 0.02
ask_spread = 0.02
```
2021-05-11 12:02:57 +10:00
Daniel Karzel
daa572e5bf
Move recovery commands in dedicated module
Less clutter in the folder structure.
2021-05-07 16:21:02 +10:00
Daniel Karzel
4deb96a3c5
ASB manual recovery commands
Adds `cancel`, `refund`, `punish`, `redeem` and `safely-abort` commands to the ASB that can be used to trigger the specific scenario for the swap by ID.
2021-05-07 16:19:11 +10:00
Daniel Karzel
ea76ae5821
Return proper error to CLI for all expected scenarios
When a CLI requests a spot price have some errors that are expected, where we can provide a proper error message for the CLI:
- Balance of ASB too low
- Buy amount sent by CLI exceeds maximum buy amount accepted by ASB
- ASB is running in maintenance mode and does not accept incoming swap requests

All of these errors returns a proper error to the CLI and prints a warning in the ASB logs.
Any other unexpected error will result in closing the channel with the CLI and printing an error in the ASB logs.
2021-05-07 14:52:51 +10:00