Commit Graph

344 Commits

Author SHA1 Message Date
Franck Royer
c095693a5f
Refund swap if resumed from a step that requires further communication 2020-12-15 09:17:12 +11:00
Franck Royer
11cea9ba69
Remove passing alice peer id
The usage of the peer id is incorrect as we do not even check it when
dialing. For now, we can ignore it.
We can then re-introduce it and use it properly at a later stage.
2020-12-15 09:15:38 +11:00
bors[bot]
bbe454d269
Merge #72
72: Add refund test and complete punish test r=da-kami a=rishflab

Added a test for the scenario when both Alice and Bob refund

Added assertions to check balances are correct after the Alice punish test

Co-authored-by: rishflab <rishflab@hotmail.com>
2020-12-14 01:03:41 +00:00
rishflab
d8d6477ee9 Remove and fix comments 2020-12-14 11:56:14 +11:00
rishflab
6ff440d0cc Remove unused function 2020-12-14 11:28:52 +11:00
rishflab
082f4eb005 Use unused port in refund test 2020-12-11 17:36:28 +11:00
rishflab
9b7b44ceba Remove old refund test 2020-12-11 17:19:46 +11:00
rishflab
7af4b6980a Test Alice refunds after Bob refund
Reworked Alice XmrLocked state transition handler to handle the
scenario when Alice received the encsig but Bob refunds.
Previously Alice was trying to redeem after receiving the encsig
without checking if t1 had elapsed.
2020-12-11 17:05:34 +11:00
rishflab
773390886b Test that Bob refunds if Alice fails to act 2020-12-11 16:59:29 +11:00
rishflab
78c6a1a78f Add Bob refund execution 2020-12-11 16:59:29 +11:00
rishflab
f806ad7231 Assert balances after punish 2020-12-11 16:59:29 +11:00
bors[bot]
9fecf7008e
Merge #61
61: Prepare CLI for mainnet swap r=da-kami a=da-kami



Co-authored-by: Daniel Karzel <daniel@comit.network>
2020-12-11 03:48:01 +00:00
Daniel Karzel
03b8e5f52e Upgrade CLI for mainnet test 2020-12-11 14:46:29 +11:00
bors[bot]
12b7fc1196
Merge #66
66: Utility function for initializing tracing for tests r=da-kami a=da-kami

Will rebase once https://github.com/comit-network/xmr-btc-swap/pull/54 merged.

Co-authored-by: Daniel Karzel <daniel@comit.network>
2020-12-11 02:36:30 +00:00
Daniel Karzel
aad7a22f81 Utility function for initializing tracing for tests 2020-12-11 13:35:47 +11:00
bors[bot]
9d564b73bf
Merge #74
74: Update bors with the current jobs r=D4nte a=D4nte



Co-authored-by: Franck Royer <franck@coblox.tech>
2020-12-10 05:47:33 +00:00
Franck Royer
1d806b9661
Update bors with the current jobs 2020-12-10 16:46:02 +11:00
rishflab
c2956b9d2c
Merge pull request #71 from comit-network/eventloop-review
Few improvements on event loop
2020-12-10 15:19:16 +11:00
Franck Royer
c0478d7191
Move expiries to config
So they can be different for mainnet and regtest
2020-12-10 14:43:17 +11:00
rishflab
205b879967
Merge pull request #65 from comit-network/eventloop
Drive swarm in separate async task
2020-12-10 14:38:20 +11:00
rishflab
8f5eac8201
Merge pull request #68 from comit-network/ci-time
Improve CI execution time
2020-12-10 14:37:34 +11:00
Franck Royer
ef6e8fc723
Clean-up unused code 2020-12-10 14:28:54 +11:00
Franck Royer
e71bf7d8e9
Add comment regarding processing in network behaviour 2020-12-10 14:03:45 +11:00
Franck Royer
2c9fb7b1da
Rename var to match type name 2020-12-10 14:03:45 +11:00
Franck Royer
91d28682ed
Remove comments 2020-12-10 14:00:48 +11:00
Franck Royer
53aae5cf5f
Use anyhow macro as intended 2020-12-10 14:00:48 +11:00
Franck Royer
51cc44484b
Remove unneeded pub qualifiers 2020-12-10 14:00:47 +11:00
Franck Royer
43ffccff78
Remove duplicate happy and punish tests 2020-12-10 13:39:18 +11:00
Franck Royer
989d9d08d3
Reduce verbosity of monero block generate trace 2020-12-10 13:39:12 +11:00
rishflab
9ba89194b0 Rename swarm driver to event loop 2020-12-10 13:29:53 +11:00
rishflab
f5d3d54b13 Prevent premature Bob t1 timeout
Bob was hitting the t1 timeout and entering cancel
instead of redeem. This was resolved by increasing
the timeouts to 50.
2020-12-10 13:29:53 +11:00
rishflab
27d1334726 Init Alice behaviour with state0
Previously state0 had to be set after creating Alice's behaviour.
With the event loop we no longer has access to the swarm so
set_state0() has to be called indirectly through a channel. This
means it is difficult to guarantee state0 is being set due to the
asynchronous nature of channels. This was solved by initialising
Alice with state0.
2020-12-10 13:29:53 +11:00
rishflab
3d8866f1a0 Convert event loop to use fused futures select
Co-authored-by: Daniel Karzel <daniel@comit.network>
2020-12-10 13:29:53 +11:00
rishflab
58da1df9dc Create SwarmDriverHandle to resolve ownership issues 2020-12-10 11:24:08 +11:00
rishflab
6f7408ecce Drive swarm in seperate async task
Previously the libp2p swarm had to be manually polled within the
protocol execution code to execute actions such as sending a
message. The swarm is now wrapped in SwarmDriver which polls the
swarm in a seperate task
2020-12-10 11:24:05 +11:00
Franck Royer
2541fad40f
Report times in CI 2020-12-09 17:33:24 +11:00
rishflab
f88ed9183b
Merge pull request #54 from comit-network/bob-unhappy-paths
Punish Test
2020-12-09 15:51:16 +11:00
rishflab
bd8e6e36e0 Fix monero blocktime config 2020-12-09 15:10:29 +11:00
Daniel Karzel
1a2857af29 Properly init tracing per test and reverse the filter to be exclusive
Tracing should be initialized by test and the `_guard` kept alive within the test.
Re-using this code in different tests does not really have any additional value.

Instead of specifying what messages we want to include, I went for a filter that excludes noise.
That way we get more useful logging.
2020-12-09 11:48:53 +11:00
rishflab
883a913f30 Remove nonsensical monero * monero multiplication 2020-12-08 16:12:00 +11:00
Franck Royer
b47c6cad37
Merge pull request #64 from comit-network/bitcoin-harness-rpc-client
Upgrade bitcoin-harness
2020-12-07 14:22:19 +11:00
rishflab
627b1a9f00 Remove unnecessary execution restart 2020-12-07 14:03:50 +11:00
rishflab
8592ef5f79 Address PR feedback
Add context to logging statements. Use amount type for monero in tests. Remove stale
code and comments.
2020-12-07 13:55:13 +11:00
rishflab
282997c105 Make monero finality calculation clearer 2020-12-07 13:43:23 +11:00
Franck Royer
78674818c2
Upgrade bitcoin-harness 2020-12-07 12:31:25 +11:00
Daniel Karzel
84ce9cd27d
Merge pull request #58 from comit-network/feature-anonymity
Add potential feature section on improving anonymity
2020-12-07 11:57:17 +11:00
Franck Royer
5a1fff5ee3
Merge pull request #62 from D4nte/clean-up-versions
Clean-up dep versions
2020-12-07 10:28:24 +11:00
rishflab
b4ac69fa9c Reduce stack size to prevent CI resource issues 2020-12-07 09:44:26 +11:00
rishflab
e4eed7b1a5 Change multiaddr for test runs 2020-12-05 14:06:08 +11:00
rishflab
c91e9652aa Add alice punish test
Use reusable test init functions for happy path test

Extract tracing setup to reusable function

Move test initialization to seperate functions

Increase stack size in CI

Fix monero max finality time

Force Bob swarm polling to send message 2

Run Bob state to xmr_locked in punish test to force the sending of
message2. Previously Bob state was run until btc_locked. Although
this was the right thing to do, message2 was not being sent as the
swarm was not polled in btc_locked. Alice punish test passes.

Add info logging to executor
2020-12-04 17:23:37 +11:00