Franck Royer
4ed2b5877b
Save Bob state during swap
2020-12-10 17:07:39 +11:00
Franck Royer
ba887fc2e3
Remove generator for bob
2020-12-10 17:07:38 +11:00
Franck Royer
fb3d3c940e
Introduce test where alice restarts before all communications are done
2020-12-10 17:07:38 +11:00
Franck Royer
f56e26f578
Add test where Alice restart after encsign is learned
2020-12-10 17:07:38 +11:00
Franck Royer
968728efbf
Remove unneeded peer id argument
2020-12-10 17:07:38 +11:00
Franck Royer
4bf4f5ba29
Reorder calls
2020-12-10 17:07:38 +11:00
Franck Royer
eca2dff71e
Remove unneeded as_ref_calls
2020-12-10 17:07:38 +11:00
Franck Royer
7535da1413
Scope futures' instanciation
2020-12-10 17:07:37 +11:00
Franck Royer
a67f9c8a27
Introduce test where alice restart mid-swap
2020-12-10 17:07:37 +11:00
Franck Royer
24ddbc7efe
Add zero const to monero::Amount
2020-12-10 17:07:37 +11:00
Franck Royer
23543aa3fa
Save Alice states in db
2020-12-10 16:53:01 +11:00
Franck Royer
b5a80462e9
Extract spend key as soon as possible
2020-12-10 16:53:01 +11:00
Franck Royer
fb83d1fbaf
Refund swap if resumed from a step that requires further communication
2020-12-10 16:53:00 +11:00
Franck Royer
744fc625aa
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-10 14:59:09 +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
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
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
Franck Royer
78674818c2
Upgrade bitcoin-harness
2020-12-07 12:31:25 +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
rishflab
5fef68322a
Allow Alice to exit execution at a specified state
2020-12-04 17:16:03 +11:00
rishflab
584cc22024
Allow Bob to exit execution at a specified state
2020-12-04 17:16:03 +11:00
Franck Royer
cfcd1e7170
Clean-up dep versions
...
- Use bitcoin-harness 0.2
- Use cross-curve-dleq latest master commit
2020-12-04 16:56:08 +11:00
Franck Royer
624716d8a7
Upgrade rust-bitcoin to 0.25
2020-12-04 08:11:55 +11:00
Franck Royer
c3e43f50aa
Update bitcoin-harness to specific revision
2020-12-02 11:32:34 +11:00
Franck Royer
765482b0aa
Implement wait_for_transaction_finality
2020-12-02 10:02:20 +11:00
rishflab
1c401aad31
Fix clippy warnings and formatting
2020-12-01 15:38:24 +11:00
rishflab
b06321a40f
WIP: cleanup
2020-12-01 14:46:53 +11:00
rishflab
47c3ddc6f7
Fix happy path test
...
Poll bob swarm to send encsig after calling send message3. Comment
out unimplmented wait for transaction finality trait. Dial alice.
2020-12-01 14:30:02 +11:00
Franck Royer
2abeba17f9
Save state0 in the swarm to process message0
2020-12-01 10:41:10 +11:00
rishflab
d8218a7bea
Remove mspc channel from new executor
2020-11-30 15:16:56 +11:00
Franck Royer
2db9ebd28b
make new_swarm public
2020-11-30 15:13:20 +11:00
Franck Royer
9e13034e54
Extract execution details from driving loop
2020-11-30 15:13:20 +11:00
rishflab
24631d464d
Add test for recursive executor
2020-11-30 15:13:20 +11:00
rishflab
dca15b6872
Removed unused binary
2020-11-30 15:13:20 +11:00
rishflab
3b005bd15c
Resolve rebase issues, restructure code and fix warnings
2020-11-30 15:13:20 +11:00
Franck Royer
437c1cbb80
Started to extract some steps
...
Tealised that the whole point is for them to be idempotent to be useful
2020-11-27 09:34:36 +11:00
Franck Royer
66866f8fbd
Remove rng argument
2020-11-27 09:34:36 +11:00
Franck Royer
6c0df836ca
Deal with Btc Punished.
2020-11-27 09:34:36 +11:00
Franck Royer
6437b529eb
Punish Bob if t2 is reached
2020-11-27 09:34:36 +11:00