Commit Graph

745 Commits

Author SHA1 Message Date
rishflab
ae94b170fd Cleanup
Move state machine executors into seperate files

Remove check for ack message from Alice. Seems like a bad idea to
rely on an acknowledgement message instead of looking at the
blockchain.

Fix warnings
2020-11-27 09:34:35 +11:00
rishflab
ff7daf16f3 WIP: Test simplified swap execution 2020-11-27 09:21:21 +11:00
rishflab
dd07e2f882 Add Alice execution path
Consolidate and simplify swap execution. Generators are no longer
needed. Consolidate recovery and swap data structures. The
recursive calls can be replaced with a loop if returning prior to
completion is desired for testing purposes.

Fill out alice abort path

Move state machine executors into seperate files

Not compiling due to recursion/async issues

Fix async recursion compilation errors

Fix Bob swap execution

Remove check for ack message from Alice. Seems like a bad idea to
rely on an acknowledgement message instead of looking at the
blockchain.

Fix Bob abort

Fix warnings

Xmr lock complete

Add TxCancel submit to XmrLocked

Bob swap completed

Remove alice
2020-11-27 09:21:21 +11:00
Daniel Karzel
95c4e5d809
Merge pull request #45 from comit-network/user-interface-feedback-validation
Collect validation questions and map them to prototypes
2020-11-24 16:20:51 +11:00
Daniel Karzel
8addecc927 Collect validation questions and map them to prototypes 2020-11-24 11:23:44 +11:00
Daniel Karzel
96e984794d
Merge pull request #42 from comit-network/xmr-btc-user-interface-definition
XMR<>BTC user interface prototype details
2020-11-23 13:36:32 +11:00
Daniel Karzel
075e17029e
Apply suggestions from code review
Co-authored-by: Philipp Hoenisch <philipp@coblox.tech>
2020-11-23 10:28:39 +11:00
Daniel Karzel
2548283c13
Apply suggestions from code review
Co-authored-by: Franck Royer <franck@coblox.tech>
2020-11-20 18:17:22 +11:00
Daniel Karzel
2de8093659 Re-word the CORS header issue and add some fixes 2020-11-19 16:50:05 +11:00
Daniel Karzel
4b6f914409 XMR<>BTC user interface prototype details
This document sums up assumptions and limitations of the current setup and protocol.
It outlines how the UI prototypes for XMR<>BTC swaps are planned and why.
2020-11-17 20:09:18 +11:00
rishflab
9542f162f6
Merge pull request #35 from comit-network/no-transfer-proof
No need to send Monero transfer proof from Alice to Bob
2020-11-13 14:30:58 +11:00
rishflab
379aff50cf Fix rebase conflicts 2020-11-13 13:33:36 +11:00
Lucas Soriano del Pino
620216a596 Remove need to send Monero transfer proof from Alice to Bob 2020-11-13 13:15:02 +11:00
Lucas Soriano del Pino
0288e004c5 Make Alice watch for Monero lock transaction without transfer proof 2020-11-13 13:10:12 +11:00
Lucas Soriano del Pino
7371dfb055 Test that a watch only wallet can be loaded from address + view key 2020-11-13 13:09:16 +11:00
rishflab
e7682a42a4
Merge pull request #36 from comit-network/recovery
Recover from a failed swap
2020-11-12 14:39:39 +11:00
Lucas Soriano del Pino
483c819e17 Correctly re-export types from bitcoin and monero modules 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
f5ff50157e Some more fixes and comments after testing Alice's recovery 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
bea99185ed Use correct default values for monerod_url*
*`monerod_url` is an incorrect name as it's actually a
`monero_wallet_rpc_url`. This is fixed in another branch.
2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
5930af3587 Move some things around in recover module 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
33b36c98fa Configure binary tracing level for xmr_btc and monero_harness 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
5dede0f361 Add more logging to recovery
Also, remove redundant timelock check.
2020-11-12 13:49:07 +11:00
rishflab
11a7963081 Fix bugs 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
f0d90130ad Add recovery command 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
09773dd15b Re-introduce history command 2020-11-12 13:49:07 +11:00
rishflab
0f1a77fa21 Fix Alice's btc redeem recovery path 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
6db40dce2a Implement swap recover function for Bob 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
28225f8643 Implement swap recover function for Alice
This introduces a lot of duplication between the binary and the
library, but it's okay because this module should only be a temporary
measure until we allow recovery to be handled by the original state
machine.

Also, fix a bug in `xmr_btc::alice::action_generator` caused by the
incorrect assumption that Alice's ability to punish Bob could be
determined before the cancel transaction hits the blockchain.
2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
b989e94322 Remove stale TODO 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
33a111d879 Move Swap state out of storage 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
ac2cfd7f65 Print swap history on --history flag 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
ecbfed9c11 Add Database API to fetch all swaps 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
f9cfc2abe3 Remove generics from Database 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
02075c2a1d Support saving multiple swaps
By replacing `LAST_STATE_KEY` with a swap ID passed as an argument to
inserting and reading from the database.
2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
823add218e Remove temporary test tracing guards 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
a26890001b Fix swap e2e test 2020-11-12 13:49:07 +11:00
Lucas Soriano del Pino
934ddb366a Save state for Alice at specific points in the swap 2020-11-12 13:49:07 +11:00
rishflab
ea08778b2f Save state for Bob at specific points in the swap 2020-11-12 13:49:07 +11:00
rishflab
5cb2f451d0
Merge pull request #40 from comit-network/attach-bins
Attach binaries when doing CI run
2020-11-12 11:33:20 +11:00
Franck Royer
9ebacd8ccb
Attach binaries when doing CI run
To make it easier to deploy the binary on a less powerful machine when
doing mainnet try outs.

Also add CI for mac os.
2020-11-10 20:24:58 +11:00
Lucas Soriano
b7651e8653
Merge pull request #39 from comit-network/fix-compile-times
Update cross-curve-dleq dependency
2020-11-09 14:22:07 +11:00
Lucas Soriano del Pino
4790d701e5 Update cross-curve-dleq dependency
Making build times considerably faster.

On my machine, after running `cargo clean`, `cargo build -p swap`
takes 2min 19s.

The updated dependency also comes with a critical fix to the `Scalar`
type, which originally wrongly assumed that secp256k1 and ed25519
scalars had the same endianness. For this reason, we now have to
reverse the bytes of recovered scalars if we are to use them on a
different chain.

Finally, there is no need to append `RUST_MIN_STACK=100000000` to
avoid stack overflows in tests and when running the binary.
2020-11-09 13:14:09 +11:00
Philipp Hoenisch
713658244d
Merge pull request #33 from comit-network/monerod 2020-11-03 17:43:02 +11:00
Philipp Hoenisch
bca439ada5
Use random prefix 2020-11-03 16:52:00 +11:00
Philipp Hoenisch
981fcacc95
Make swap e2e test work with new monerod lib 2020-11-03 16:52:00 +11:00
Philipp Hoenisch
70d64f74ae
Testcontainers upgrade 2020-11-03 16:52:00 +11:00
Philipp Hoenisch
1a38bf57f2
Rename inner to client 2020-11-03 16:51:26 +11:00
Philipp Hoenisch
f0fbe785c8
Remove Alice and Bob from utility struct 2020-11-03 16:51:26 +11:00
Philipp Hoenisch
306176b3e6
PR feedback:
Removed network prefix and use the same for container and network.
Add sentence explaining prefix
2020-11-03 16:51:26 +11:00
Philipp Hoenisch
a04f04f1a5
Fix failing test due to uninitialized miner 2020-11-03 16:51:26 +11:00