Daniel Karzel
00b4f3110f
Remove ToDo that is already actioned
...
We already have a second watcher for the cancel timelock, so refund is already actioned.
2021-01-12 14:39:17 +11:00
Daniel Karzel
ab9117aa4c
Log Alice's lock tx proof receive on Bob's side
2021-01-12 14:39:17 +11:00
Daniel Karzel
af45206fde
Remember the block-height before XMR lock for generated monero wallet restore height
...
Speeds up wallet creation, because only the blocks after the recorded height will be scanned.
2021-01-12 13:18:49 +11:00
bors[bot]
ca6ba78862
Merge #123
...
123: Small fixes after testnet usage r=da-kami a=D4nte
Co-authored-by: Franck Royer <franck@coblox.tech>
2021-01-11 04:25:26 +00:00
Daniel Karzel
664958939d
Create network::Seed from swap::Seed instead of abstracting over byte array
2021-01-11 12:03:29 +11:00
Daniel Karzel
f18d01dfaf
Deterministic peer id from seed for bob
2021-01-11 12:03:29 +11:00
Daniel Karzel
0a21040e08
Deterministic peer id from seed for alice
...
This includes the introduction of the --data-dir parameter instead of the --database.
Both the seed file and the database are stored in the data-dir, the database in sub-folder `database`.
2021-01-11 12:00:48 +11:00
Franck Royer
6ffc66867c
Typo
...
Co-authored-by: Daniel Karzel <daniel.karzel@coblox.tech>
2021-01-11 11:39:21 +11:00
Franck Royer
047f990d05
Improve error reporting on signature verification
2021-01-11 11:39:18 +11:00
Franck Royer
ef906876a0
Increase timelocks on testnet
...
To allow time for stagenet Monero transaction to be mined.
2021-01-11 11:35:52 +11:00
Franck Royer
17356eaff9
Do not guard waiting for encrypted signature with arbitrary timeout
...
We already select waiting for this message with the cancellation expiry,
we do not need add another guard that tries to guess how long it would
for the Monero transaction to be finalised.
2021-01-11 11:35:52 +11:00
Franck Royer
95ecb02e7a
Small changes to make debugging easier and tests
2021-01-11 11:35:51 +11:00
Franck Royer
9d8f8b0a1f
P2p socket should be listening for external connections
2021-01-11 11:35:51 +11:00
rishflab
1c644cb377
Rename message behaviours
2021-01-09 11:47:23 +11:00
rishflab
5d7d72c826
Remove unused import
2021-01-09 10:10:48 +11:00
rishflab
387a4da2f6
Make modules private
2021-01-08 12:34:36 +11:00
rishflab
dcea54dbf1
Move protocol parent states into appropriate module
2021-01-08 12:34:36 +11:00
rishflab
f64eede5d8
Move monero ser/deser to monero module
2021-01-08 12:34:36 +11:00
rishflab
e7c00d742e
Re-export bitcoin and monero types
2021-01-08 12:34:36 +11:00
rishflab
c900d12593
Merge xmr_btc crate
...
Created network, storage and protocol modules. Organised
files into the modules where the belong.
xmr_btc crate moved into isolated modulein swap crate.
Remove the xmr_btc module and integrate into swap crate.
Consolidate message related code
Reorganise imports
Remove unused parent Message enum
Remove unused parent State enum
Remove unused dependencies from Cargo.toml
2021-01-08 12:34:33 +11:00
Daniel Karzel
487b880371
Cleanup unused config param that was accidentally introduced
2021-01-07 12:23:29 +11:00
Daniel Karzel
e031681369
Add minimum monero confirmations to config use it for Bob
2021-01-06 17:17:37 +11:00
Daniel Karzel
c6bc45e7a0
Wait for bitcoin tx finality before locking XMR
2021-01-05 14:31:10 +11:00
Daniel Karzel
30dd15774e
Log Bitcoin and Monero transaction IDs on info instead of debug
2021-01-05 14:11:26 +11:00
Daniel Karzel
0977d36703
Set log level to info instead of trace
2021-01-05 14:00:07 +11:00
Daniel Karzel
8a2128e93a
Correct monero-wallet-rpc parameter name
2021-01-05 11:00:15 +11:00
Daniel Karzel
4d9559fc2e
Monero network settings and testnet
2021-01-04 20:30:47 +11:00
Daniel Karzel
1f7e72b230
Log bitcoin harness and monero harness
2021-01-04 20:30:46 +11:00
Franck Royer
dd10e68db4
Merge pull request #113 from comit-network/clippy
2021-01-04 10:10:19 +11:00
Franck Royer
bcbc54b569
Type timelock and block height
...
To ensure no mistake is made (and none were!)
2021-01-04 08:40:53 +11:00
Franck Royer
81cbc24c46
Use action to name trait
2020-12-23 15:40:56 +11:00
Franck Royer
e1e8533862
Embed state mod in database mod
...
The `Swap` struct is now database specific, no need to have a 20 lines
module.
2020-12-23 15:30:23 +11:00
Franck Royer
59708c57e6
Move Alice and Bob db states in separate modules
2020-12-23 15:26:08 +11:00
Franck Royer
b410de01df
Move state.rs under database module
...
The types in state are only used for the database
2020-12-23 15:20:24 +11:00
Franck Royer
8c7964bfee
Rename storage.rs to database.rs to reduce terminology variants
2020-12-23 15:17:27 +11:00
Franck Royer
5ed18469e4
Move db state conversion with db type definition
...
Those conversion are specific to the database and should be defined with
in the database module.
2020-12-23 15:11:09 +11:00
Franck Royer
2a778f5644
Remove overzealous clippy overrides
...
We have overridden a number of clippy warnings such as
"large enum variant".
Considering that we have a number of issues
with the stack size in CI, it is more prudent to follow clippy's advice
and box larger items so that the enum does not take larger space.
Do note that an instance of the enum always takes as much space as its
largest variant.
2020-12-23 15:06:43 +11:00
Franck Royer
cdf2800fa5
Align clippy lints
...
Lints in `main.rs` are not used if there is a `lib.rs` file.
2020-12-23 14:33:29 +11:00
Franck Royer
ece689f5ca
There is only one binary, we should use main.rs
naming convention
2020-12-23 14:22:04 +11:00
Franck Royer
4150e75488
Replace Try_From
state conversion with From
for Bob
2020-12-23 14:12:29 +11:00
Franck Royer
5d1b10cc58
Align Bob DB states with swap states
2020-12-23 14:12:29 +11:00
Franck Royer
e541f7b83d
Replace TryFrom
with From
for Alice states
2020-12-23 14:12:29 +11:00
Franck Royer
69e1c2bb27
Align Alice DB states with swap states
2020-12-23 14:12:29 +11:00
Franck Royer
a31db63e54
Improve state names and display
2020-12-23 14:12:29 +11:00
Franck Royer
f0736d0906
Remove Refund timelock and T0/T1/T2
...
There are no refund timelock, only a cancellation timelock and punish
timelock.
Refund can be done as soon as the cancellation transaction is published.
2020-12-23 14:12:26 +11:00
Franck Royer
405e377f79
Rename EncSign
to EncSig
...
`EncSig` means "encrypted signature", the item,
not be confused with "signing", the action
2020-12-23 13:41:55 +11:00
bors[bot]
9c83ca52ad
Merge #107
...
107: Ensure that Bob can cancel correctly if T1 expired and Alice did not … r=da-kami a=da-kami
Bob has to check for the possibility to cancel in every state after he locked the BTC.
Otherwise Bob will try to perform actions that don't have any point and it might be impossible to use the `resume` command because it will always fail in trying to go on with Alice even though that might not be possible.
Co-authored-by: Daniel Karzel <daniel@comit.network>
2020-12-23 01:16:42 +00:00
Franck Royer
297b15e3ce
Remove async block when it is not needed
2020-12-23 09:17:56 +11:00
Franck Royer
e079b84500
Ensure we wait for other party to complete
...
Before we check the balances.
2020-12-23 09:17:41 +11:00
Franck Royer
1fa812b727
Separate Buy/Sell for resume command
...
To avoid confusing the user on whether person should enter a listen addr
or a connect peer id and address
2020-12-23 09:17:39 +11:00