Franck Royer
2dbd43e2c0
Only pass btc amount to CLI
...
The CLI requests a quote to nectar to know how much xmr it can get.
Also align terminology with the sequence diagram.
2021-02-15 16:20:34 +11:00
Franck Royer
b8a84aa34b
Avoid possible mix up between timelocks
...
Introduce new type to ensure no mix up happens when ordering the fields
in function calls.
2021-02-15 16:20:31 +11:00
Franck Royer
65e0e5b731
Use Remote handle to access ongoing swaps on Alice
2021-02-15 15:00:47 +11:00
Franck Royer
8fada42074
Make config
argument global
...
The `config` argument apply to all commands. It is now optional and
needs to be passed before a command.
E.g. `cli --config ./config.toml history`
2021-02-15 11:01:50 +11:00
Franck Royer
6e6dc320b4
Alice event loop now handles the creation of new swaps
2021-02-10 16:42:55 +11:00
Daniel Karzel
c9adbde5d5
Add test for Bob's manual cancel and refund
2021-02-08 21:17:56 +11:00
Franck Royer
c316ea5244
Upgrade toolchain
...
Needed to use libp2p-async-await
2021-02-04 15:18:33 +11:00
Daniel Karzel
89b3775e05
Rename config to execution_params
2021-01-29 17:27:50 +11:00
Daniel Karzel
802dc61e7e
Configuration for RPC urls and Bitcoin wallet name
2021-01-29 17:21:19 +11:00
Franck Royer
108cc1e6cc
Use trait instead of passing struct
2021-01-29 15:41:49 +11:00
Franck Royer
b8a9356d1b
Change expiries depending on the test goal
2021-01-29 13:29:24 +11:00
Franck Royer
49b8d19e41
test: Log state on failure
2021-01-29 11:36:13 +11:00
rishflab
1597f5336b
Restart event loop in tests
...
Alice was attempting to create a new event loop using the same listen addr as the old one which was still running. This commit aborts the event loop before creating a new one.
2021-01-29 11:36:13 +11:00
rishflab
77fc5743a2
Upgrade tokio to 1.0
...
Upgrade bitcoin harness dependency to latest commit
Upgrade backoff to fix failing tests. The previous version of backoff had a broken version of the retry function. Upgraded to a newer comit which fixes this problem.
Upgrade hyper to 0.14 as the 0.13 was bringing in tokio 0.2.24
Upgraded bitcoin harness to version that uses tokio 1.0 and reqwest 0.11
Upgrade reqwest to 0.11. Reqwest 0.11 uses tokio 1.0
Upgrade libp2p to 0.34 in preparation for tokio 1.0 upgrade
2021-01-29 11:36:10 +11:00
Franck Royer
f2a25ee49b
Move definitions out of lib.rs
2021-01-22 09:00:46 +11:00
Daniel Karzel
33a9057b1f
Move run_until is_target_state comparison functions into testutils
2021-01-21 23:39:55 +11:00
Daniel Karzel
8a7d746e96
Wait for Bob's refund finality
...
For Alice we ensure to wait for redeem/punish finality, so it should be the same for Bob.
2021-01-21 10:36:08 +11:00
Franck Royer
94045b9a69
Use builder in tests
2021-01-20 21:42:35 +11:00
Franck Royer
c11042ff0d
Use builder
terminology instead of factory
...
This is not really a factory as a factory design pattern is about
producing several instances.
In the current usage, we are only interested in one swap instance. Once
the swap instance is created, the factory becomes useless. Hence, it is
more of a builder pattern.
2021-01-20 14:56:06 +11:00
Franck Royer
9148af2dbe
bob::SwapFactory
should be consumed once a swap is returned
2021-01-20 14:51:37 +11:00
Franck Royer
b21dc03ed0
alice::SwapFactory
should be consumed once a swap is returned
2021-01-20 14:51:36 +11:00
Franck Royer
9e3ef7ea24
Remove StartingBalances
from release code
2021-01-20 14:51:35 +11:00
Franck Royer
181999e04f
Remove unnecessary alice
qualifiers in alice::SwapFactor
2021-01-20 14:51:35 +11:00
Franck Royer
f0e6e45d56
Remove unecessary bob
qualifier
2021-01-20 14:51:34 +11:00
Franck Royer
e26629b593
Remove unecessary fields from bob::SwapFactory
2021-01-20 14:51:34 +11:00
Franck Royer
96b1b18037
Keep terminology consistent
...
Also avoid redundant qualifiers.
2021-01-20 14:51:33 +11:00
Daniel Karzel
37f619dbfc
Move StartingBalances into protocol module
2021-01-20 13:29:46 +11:00
Daniel Karzel
acfd43ee79
Rename Test to TestContext and argument to ctx
2021-01-20 10:40:40 +11:00
Daniel Karzel
82974412b2
Remove roles from SwapFactory name as implied by module and cleanup
2021-01-19 09:43:50 +11:00
Daniel Karzel
75f89f3b25
Use Bob swap factory in production
2021-01-19 09:16:05 +11:00
Daniel Karzel
3398ef8236
Use Alice swap factory in production
2021-01-19 09:16:05 +11:00
Daniel Karzel
67e925fe1f
Refactor Bob's peer-id and identity to be handled on the outside
...
Doing this in the behaviour is a weird indirection that is not needed.
2021-01-19 09:16:04 +11:00
Daniel Karzel
0c19af9090
Refactor Alice's peer-id and identity to be handled on the outside
...
Doing this in the behaviour is a weird indirection that is not needed.
2021-01-19 09:16:04 +11:00
Daniel Karzel
8bf467b550
Make the factory code usable in production
...
- Introduce Test abstraction instead of tow harnesses, move test specific data into Test
- Change the abstraction from actors to swap, because we are creating swaps, not actors
- rename actor::swap to run, because we are running a swap
2021-01-19 09:16:04 +11:00
Franck Royer
9a823dca4c
Do not introduced State6
2021-01-18 15:27:38 +11:00
Daniel Karzel
8615aaed6e
Make lock-tx id available in redeem/punish state to be able to assert exact fees
2021-01-18 14:45:47 +11:00
Daniel Karzel
317b251302
Re-arrange order of structs/functions in testutils
...
move important things to the top and harmonize structure for alice and bob.
2021-01-18 14:10:17 +11:00
Daniel Karzel
7832ee94f3
Remove unused code and only expose necessary functionality
2021-01-18 14:10:17 +11:00
Daniel Karzel
8ef8240771
Refactor refund test
2021-01-18 14:10:16 +11:00
Daniel Karzel
55024572ae
Refactor punish test and punish assertions
2021-01-18 14:10:16 +11:00
Daniel Karzel
8a2eb07928
Harmonize names and structure
...
Simple renames and structure changes, no logical changes.
2021-01-15 19:34:51 +11:00
Daniel Karzel
bede1c13dd
Refactor Bob's side (happy path + alice restart)
...
Refactor Bob's test setup in the same way as Alice's.
Introduce BobHarness that allows creating and restarting as well as asserting redeemed for Bob.
2021-01-15 19:29:26 +11:00
Daniel Karzel
59f9a1c286
Fix usage of StartingBalance in Alice and Bob
2021-01-15 19:03:11 +11:00
Daniel Karzel
87edec0d50
Rename Alice's factory to harness and include redeem assertions
...
This makes the redeem assertion reusable for all tests with a redeem scenario.
Since the factory was not a clean factory before and is now doing even more it was renamed to harness.
2021-01-15 18:46:14 +11:00
Daniel Karzel
152c8d7eba
Refactor Alice restart test by introducing factory for creating Alices
...
The factory keeps all static state of Alice to be able to simulate a restart.
2021-01-15 18:14:19 +11:00
rishflab
537d05e01e
Add reusable test function
...
We introduce a reusable test function to make it easier to add new tests and make our existing tests more readable.
2021-01-15 11:26:32 +11:00
rishflab
f5cfe014be
Fix imports
2021-01-15 10:13:39 +11: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