Daniel Karzel
43d05935e7
Remove tor module
2020-12-17 18:50:15 +11:00
Daniel Karzel
093cbaa4b4
Introduce T1Expired state for Bob properly and check expiries in states after both locked
2020-12-17 15:17:15 +11:00
Daniel Karzel
6d03d1bbff
Resume command and global database cl-parameter
2020-12-15 21:40:52 +11:00
bors[bot]
6ef6fc894f
Merge #85
...
85: Database & Swap Resume r=da-kami a=D4nte
- Introduce Database for Alice and Bob
- Save states in database
- Resume from database (broken for Bob, will create test + fix it in follow-up) PR
- Tests when alice restarts: Both happy and refund path
Co-authored-by: Franck Royer <franck@coblox.tech>
Co-authored-by: rishflab <rishflab@hotmail.com>
Co-authored-by: Daniel Karzel <daniel@comit.network>
2020-12-15 06:13:47 +00:00
Franck Royer
71cf501c29
Delete bob::negotiate
...
This module was intended to contain helper functions for each step.
However, those are not needed except for the negotiate step.
A dedicated module is not needed for one function.
2020-12-15 16:53:50 +11:00
Franck Royer
19066200d1
Add a TODO to use existing helper functions
...
Helper functions already exist on the xmr-btc crate states, use them
like it is done in the bob module.
2020-12-15 16:51:23 +11:00
Franck Royer
84bec0631b
Rename alice::negotiate to steps
...
This module includes helper function for each state.
2020-12-15 16:49:38 +11:00
Franck Royer
53d13330c2
Remove dupe code
2020-12-15 16:45:06 +11:00
rishflab
9d266fc648
Add balance assertions to restart tests
2020-12-15 13:11:16 +11:00
Franck Royer
5ba830f3bf
Replace swap recover
terminology with resume
2020-12-15 11:52:00 +11:00
Franck Royer
8cc470a80e
Use -ed
terminology for cancel state
2020-12-15 11:47:05 +11:00
Daniel Karzel
b83ab71669
Split up tests into separate files to overcome CI failure
2020-12-15 11:43:28 +11:00
Daniel Karzel
7cae6a9e4d
Add Bob restart test
2020-12-15 11:43:28 +11:00
Daniel Karzel
4ec2da29a0
Modularize Bob's test setup (separate init for state, event_loop)
2020-12-15 11:43:28 +11:00
Daniel Karzel
9a930af33f
Remove duplicated restart+refund test, move tests into separate files
2020-12-15 11:43:28 +11:00
Daniel Karzel
91d4d5da25
Cleanup swap execution to not return EventLoopHandle, refactor both_refund test
2020-12-15 11:43:28 +11:00
Daniel Karzel
3692046758
Bob's recover function
2020-12-15 11:43:27 +11:00
Daniel Karzel
bf39c34ada
Alice restart and refund test if restarted before encsig learner
2020-12-15 11:43:27 +11:00
Daniel Karzel
8c929564ef
Refactor container initialization
2020-12-15 11:43:27 +11:00
rishflab
143d8bc07d
Move message0 response handler out of NB
2020-12-15 11:43:24 +11:00
Daniel Karzel
4143394767
Add recovery function for Alice
2020-12-15 11:40:40 +11:00
rishflab
4b00141c29
Fix happy path test
2020-12-15 11:40:36 +11:00
Franck Royer
7092af457a
Introduced DB for Alice & Bob
2020-12-15 11:38:36 +11:00
Franck Royer
4ce8695dfc
Align with origin/database
2020-12-15 11:29:38 +11:00
Franck Royer
1a5b9f9fa9
Update tests after rebase
2020-12-15 10:19:45 +11:00
Franck Royer
c4cdd098fd
Use from instead of try_from for Alice state conversion
2020-12-15 10:19:03 +11:00
Franck Royer
caf903acda
wip: Add test for when bob restarts
2020-12-15 10:18:48 +11:00
Franck Royer
905fc6cf35
Save Bob state during swap
2020-12-15 10:18:46 +11:00
Franck Royer
7e0a1ffe84
Remove generator for bob
2020-12-15 10:14:43 +11:00
Franck Royer
c6af5eb9ac
Introduce test where alice restarts before all communications are done
2020-12-15 10:10:43 +11:00
Franck Royer
3580b7ed2c
Add test where Alice restart after encsign is learned
2020-12-15 10:10:42 +11:00
Franck Royer
a22efaa7bc
Remove unneeded peer id argument
2020-12-15 10:10:42 +11:00
Franck Royer
9323f22009
Reorder calls
2020-12-15 10:10:42 +11:00
Franck Royer
a24d1a49b9
Remove unneeded as_ref_calls
2020-12-15 10:10:42 +11:00
Franck Royer
1c7cc7ee46
Scope futures' instanciation
2020-12-15 10:10:42 +11:00
Franck Royer
6226e5789f
Introduce test where alice restart mid-swap
2020-12-15 10:10:42 +11:00
Franck Royer
71a0832ef4
Add zero const to monero::Amount
2020-12-15 10:10:42 +11:00
Franck Royer
64b021daf4
Save Alice states in db
2020-12-15 10:10:40 +11:00
Franck Royer
238f6a989d
Extract spend key as soon as possible
2020-12-15 09:18:23 +11:00
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