Commit Graph

47 Commits

Author SHA1 Message Date
Philipp Hoenisch
e67e940768
Split authenticated struct into unauthenticated struct to make it usage more obvious 2020-10-22 08:01:59 +11:00
Philipp Hoenisch
a73f1fcc6f
Start tor from test 2020-10-22 08:01:59 +11:00
Philipp Hoenisch
295216a8ee
Add Tor feature flag and only run test if enabled 2020-10-21 18:18:25 +11:00
Philipp Hoenisch
5e19949d71
Add library to create a Tor service via Tor control port 2020-10-21 18:18:25 +11:00
Lucas Soriano
ea064c95b4
Merge pull request #16 from comit-network/update-deps
Update dependency to cross-curve-dleq and ecdsa_fun
2020-10-21 16:33:35 +11:00
Lucas Soriano del Pino
e5ddec76f7 Increase Rust minimum stack size in CI 2020-10-21 16:09:24 +11:00
Lucas Soriano del Pino
5250e16b64 Update dependency to cross-curve-dleq and ecdsa_fun 2020-10-21 15:28:50 +11:00
Philipp Hoenisch
e2bf429fb7
Merge pull request #11 from comit-network/gpl-v3
Change license to GPLv3
2020-10-12 17:16:38 +11:00
Philipp Hoenisch
753a049952
Change license to GPLv3 2020-10-12 17:13:25 +11:00
Philipp Hoenisch
1ee060b535
Merge pull request #9 from comit-network/re-order-send-recv
Re-order send/receive
2020-10-12 13:07:35 +11:00
Tobin C. Harding
fc12b0d9fd Re-order send/receive
There are no guarantees that send_message and receive_massage do not block
the flow of execution. Therefore they must be paired between Alice/Bob, one
send to one receive in the correct order.

Define Alice to call `receive_message` first, with Bob sending the message. Do
this because we are expecting Alice to be have a well known address, there is no
currently such assumption for Bob.
2020-10-12 08:53:21 +11:00
Tobin C. Harding
911ff396db
Merge pull request #3 from comit-network/readme 2020-10-12 07:35:55 +11:00
rishflab
36608657a5
Merge pull request #2 from comit-network/async-squashed
Execute Alice and Bob state machines concurrently
2020-10-09 12:14:45 +11:00
rishflab
c778f4e204 Remove incorrect todo 2020-10-09 11:46:33 +11:00
rishflab
2c6bb8fa19 Remove redundant attribute 2020-10-09 11:40:00 +11:00
rishflab
51760041f0 Remove duplicated macro definitions 2020-10-09 11:40:00 +11:00
rishflab
666c121bb3 Implement transport traits with generics 2020-10-09 11:40:00 +11:00
rishflab
bf576bf251 Move test functions out of lib 2020-10-09 11:40:00 +11:00
rishflab
61a8a3e428 Improve formatting of tests 2020-10-09 11:40:00 +11:00
rishflab
9f046944a5 Add context to log messages 2020-10-09 11:40:00 +11:00
rishflab
48e5eb8d6c Remove redundant type declarations 2020-10-09 11:40:00 +11:00
rishflab
154b3edcf9 Split SendReceive into seperate traits 2020-10-09 11:40:00 +11:00
rishflab
6b7193b974 Fix clippy warnings 2020-10-09 11:40:00 +11:00
rishflab
697e1195cd Fix Cargo.toml fmt 2020-10-09 11:40:00 +11:00
rishflab
a759f39b1d Fix module ambiguity in tests 2020-10-09 11:40:00 +11:00
rishflab
36ed3a0b8b Rename ImportOutput to reflect purpose 2020-10-09 11:40:00 +11:00
rishflab
213034dc1f Remove unused clone from states 2020-10-09 11:40:00 +11:00
rishflab
d01c05e5f5 Use intellij rust gitignore 2020-10-09 11:40:00 +11:00
rishflab
25edd90fb0 Remove empty lines between imports 2020-10-09 11:40:00 +11:00
rishflab
4e031ff9a2 Loop on blockchain call instead of delaying
Previously there was a delay making a get raw transaction call to
give some time for a transaction to be confirmed on the blockchain.
This has been replaced with a loop that waits until the call is
succesful.
2020-10-09 11:40:00 +11:00
rishflab
f6f4ec2bdb Fix dependencies 2020-10-09 11:40:00 +11:00
rishflab
148e49a959 Remove redundant lifetime parameter 2020-10-09 11:40:00 +11:00
rishflab
8754a9931b Execute Alice and Bob state machines concurrently
Previously we were testing the protocol by manually driving Alice and
Bob's state machines. This logic has now be moved to an async state
transition function that can take any possible state as input. The
state transition function is called in a loop until it returns the
desired state. This allows use to interrupt midway through the protocol
and perform refund and punish tests. This design was chosen over a
generator based implementation because the the generator based
implementation results in a impure state transition function that is
difficult to reason about and prone to bugs.

Test related code was extracted into the tests folder.

The 2b and 4b states were renamed to be consistent with the rest.

Macros were used to reduce code duplication when converting
child states to their parent states and vice versa.

Todos were added were neccessary.
2020-10-09 11:40:00 +11:00
Tobin C. Harding
3d3864807d
Merge pull request #7 from comit-network/debug-ci 2020-10-09 11:31:33 +11:00
Tobin C. Harding
e17575304b Add 60 sleep to workflow
There is some sort of timing issue when spinning up the monero containers on
github CI. I do not know exactly what is the cause but we have a configurable
'additional sleep time' already available for `testcontainers` that can resolve
this issue.

Use the environment variable MONERO_ADDITIONAL_SLEEP_PERIOD to tell
`testcontainers` to wait an additional 60 while bringing up the monero
container.
2020-10-09 11:16:15 +11:00
Tobin C. Harding
2064bfed5b Revert "Merge pull request #5 from comit-network/fix-ci"
This reverts commit 3b0b722d46, reversing
changes made to 93f1d960f5.
2020-10-09 09:57:28 +11:00
Tobin C. Harding
bfeb460073 Fix typo 2020-10-09 09:49:39 +11:00
Tobin C. Harding
30767ec755 Move alice/bob definition comment 2020-10-09 09:46:44 +11:00
Tobin C. Harding
1f89ea122e Fix embedded image 2020-10-09 09:45:48 +11:00
Tobin C. Harding
861dcc4a56 Update README
Update the readme inline with review suggestions by doing:

- Copy 'long story short' text from blog post
- Correct the erroneous description of watching blockchains
- Fix gramar
2020-10-09 09:34:24 +11:00
Philipp Hoenisch
3b0b722d46
Merge pull request #5 from comit-network/fix-ci
Run CI tests on one thread
2020-10-08 15:51:22 +11:00
rishflab
e8ffed6979 Run CI tests on one thread
This is quick and dirty fix to resolve xmr-btc-swap and
monero-harness tests failing in CI when run concurrently.
2020-10-08 15:37:39 +11:00
Tobin C. Harding
65b0e54a5f Add a README.md file
Add a readme that describes the project. Specifically

- module structure
- what we prove and do not prove
- how we test
2020-10-08 09:17:39 +11:00
Lucas Soriano
93f1d960f5
Merge pull request #1 from comit-network/actual-work
Swap Monero for Bitcoin
2020-09-28 17:56:48 +10:00
Lucas Soriano del Pino
b9c202efc9 Remove redundant license 2020-09-28 17:18:02 +10:00
Lucas Soriano del Pino
1f99cf001c Swap Monero for Bitcoin
Co-authored-by: rishflab <rishflab@hotmail.com>
Co-authored-by: Philipp Hoenisch <philipp@hoenisch.at>
Co-authored-by: Tobin C. Harding <tobin@coblox.tech>
2020-09-28 17:15:57 +10:00
rishflab
818e522bd4
Initial commit 2020-09-28 15:55:08 +10:00