Lucas Soriano del Pino
9f32cd988e
wip: Use same timelock value for refund and punish
2020-10-30 14:05:45 +11:00
Lucas Soriano del Pino
ae87c10cae
wip: fixed message0
2020-10-30 14:05:45 +11:00
Tobin C. Harding
119f2a7c54
Add error logging to request_response
2020-10-30 14:05:45 +11:00
Tobin C. Harding
b8ab4b4eee
wip: add env filter
2020-10-30 14:05:45 +11:00
Tobin C. Harding
3e2f0b74a2
Do not trace events meant for other NBs
2020-10-30 14:05:45 +11:00
Tobin C. Harding
c464555f5e
Enable trace output
2020-10-30 14:04:27 +11:00
Tobin C. Harding
39f86154ce
Use serde_cbor instead of serde_json
...
We have serde trait implementations that use `serde_cbor` which is a superset of
josn. We cannot use `serder_json` to ser/deser these objects.
2020-10-30 14:04:27 +11:00
Tobin C. Harding
2bd4977fe4
Increase read buffer size
...
Our messages are quite big, increase the read buffer to 1 megabyte to
accommodate them.
2020-10-30 14:04:27 +11:00
Lucas Soriano del Pino
9384b0cf3c
[WIP] Swap app e2e test
2020-10-30 14:04:27 +11:00
Lucas Soriano del Pino
9e30bd5151
Generate addresses as late as possible
2020-10-30 14:04:27 +11:00
Lucas Soriano del Pino
3f43581da7
Implement traits Receive{BitcoinRedeemEncsig, TransferProof}
...
Unfortunately, I had to put the wrap the swarm in Alice's `Network`
struct in an `Arc<Mutex<T>>` in order to be able to use `backoff` to
control the retry mechanism. This is because the stream of events
cannot be turned into a `SharedFuture` (unlike Bob's).
It would be good to find an alternative solution.
2020-10-30 14:03:27 +11:00
Lucas Soriano del Pino
a4e4c27bee
Execute Bob's on-chain protocol after handshake
...
Co-authored-by: Tobin C. Harding <tobin@coblox.tech>
2020-10-30 14:03:27 +11:00
Lucas Soriano del Pino
4ee82a5a2a
Execute Alice's on-chain protocol after handshake
...
Co-authored-by: Tobin C. Harding <tobin@coblox.tech>
2020-10-30 14:00:39 +11:00
Philipp Hoenisch
b8fd9a734f
Use full path imports for dependencies to reduce cfg hell
2020-10-28 11:18:14 +11:00
Tobin C. Harding
a1351e5461
Do not declare 'port' variable
2020-10-28 10:11:04 +11:00
Tobin C. Harding
464b699426
Fail if user passes in local port for non-tor usage
...
Local port is only used when running behind tor. Fail if user passes a local
port number when running in non-tor mode.
2020-10-28 09:46:25 +11:00
Tobin C. Harding
42d194f758
Use fully qualified path for bail
2020-10-28 09:21:37 +11:00
Tobin C. Harding
5e35904101
Use an option for the local port
...
We can wrap the local port in an option and pass None when we are not using Tor.
This reduces code duplication.
2020-10-28 08:41:23 +11:00
Philipp Hoenisch
8811a0a205
Add Tor to main
2020-10-27 15:03:59 +11:00
Lucas Soriano
cf8accf30d
Merge pull request #28 from comit-network/re-work-swap-functions
...
Re work swap functions
2020-10-27 13:27:52 +11:00
Tobin C. Harding
b22f265cf3
Send back an empty response to Message2
...
Alice does not respond with anything when receiving message 2 from Bob. We don't
want to leave Bob's request/response protocol waiting so send an empty response
back.
2020-10-27 10:26:54 +11:00
Tobin C. Harding
194a19cf1d
Add todos
2020-10-27 10:26:51 +11:00
Tobin C. Harding
6be5d64c1c
Remove stale, ugly, type conversion
2020-10-27 10:26:46 +11:00
Lucas Soriano
58aa2b5a2b
Merge pull request #23 from comit-network/remove-re-export
...
Do not re-export curve25519_dalek
2020-10-27 10:21:58 +11:00
Tobin C. Harding
8f5a989ad1
Use 'amounts' for local varibale name
2020-10-27 10:05:20 +11:00
Tobin C. Harding
b8130d23a6
Only break if Bob has requested amounts already
...
We don't want Bob to be able to crash us by sending an out of
order message. Only break if Bob has not requested amounts.
2020-10-27 10:02:03 +11:00
Tobin C. Harding
5da84a3d48
Merge pull request #25 from comit-network/unused-assigments
...
Remove allow(unused_assignments) attribute
2020-10-27 09:55:32 +11:00
Lucas Soriano del Pino
ba4ae09cd1
Remove allow(unused_assignments) attribute
...
It looks like the compiler can ascertain that `message0` will be
initialised by the time we use it, so it doesn't need to be an
`Option` and it doesn't need to be declared as mutable.
2020-10-26 15:21:32 +11:00
Tobin C. Harding
cbccc282ef
Send Message2 from Bob to Alice
...
In order for Alice to complete the handshake she needs to transition to state 3,
for this she needs message 2 from Bob.
Send `bob::Message2` to Alice and transition to `State3` - completing the
handshake.
2020-10-26 14:30:41 +11:00
Lucas Soriano del Pino
0dd01c3a3b
Do not re-export curve25519_dalek
...
Anything that needs to be re-exported by this crate from
`curve25519_dalek` can be re-exported from the `monero` module. In
fact, the `Scalar` type was already being re-exported.
2020-10-26 13:06:20 +11:00
rishflab
ec71f98252
Revert re-imports to qualified paths
2020-10-26 11:45:27 +11:00
rishflab
fea6b29da9
Test monero amount serialisation
2020-10-26 11:39:54 +11:00
Franck Royer
9ea708b2a5
Remove custom implementation of bitcoin amount serde
...
This is unnecessary as rust-bitcoin provides it.
2020-10-26 11:36:40 +11:00
rishflab
c781ee949d
Move storage into application crate
2020-10-26 10:32:54 +11:00
Philipp Hoenisch
17b32fed90
Moving tor into swap
2020-10-23 12:47:52 +11:00
Tobin C. Harding
97363cb05c
Fix build after merge
2020-10-22 14:43:58 +11:00
Tobin C. Harding
19f065575d
Do a bunch of cleanups
2020-10-22 14:30:10 +11:00
Tobin C. Harding
6e34f9c978
Use const TIMEOUT instead of an argument
2020-10-22 14:12:49 +11:00
Tobin C. Harding
cc61079826
Use VerifiedAmounts
2020-10-22 13:55:50 +11:00
Tobin C. Harding
eed5e8e9a4
Move monero serde code to lib
2020-10-22 13:54:13 +11:00
Tobin C. Harding
30298bdf1f
Do some more cleanups
2020-10-22 13:48:30 +11:00
Tobin C. Harding
2059158dad
Bump to libp2p v29
2020-10-22 13:39:18 +11:00
Tobin C. Harding
ad006fae6a
Do a bunch of cleanups
2020-10-22 13:35:55 +11:00
Tobin C. Harding
0f17ec076c
Add message1
2020-10-22 13:23:12 +11:00
Tobin C. Harding
ad0d8d5713
Emit message0 out of NB (both parties)
2020-10-22 11:04:49 +11:00
Tobin C. Harding
bb94643943
Remove data from message until Message0 impl serde
2020-10-22 09:58:22 +11:00
Tobin C. Harding
e7504de76c
Add state0 -> state1 messages
2020-10-21 15:02:52 +11:00
Tobin C. Harding
08ec776daa
Move monero/bitcoin modules to files
2020-10-21 13:13:01 +11:00
Tobin C. Harding
aaf1363c05
Refine peer tracker and amounts protocol
...
We model the getting of amounts as a network behaviour even though conceptually
it is a protocol. Refine/refactor the code a bit to make this more obvious.
- Use `Amounts` instead of `Messenger`
We only ever connect to a single peer, update peer tracker to reflect this. This
is a single patch because the handling of the two network behaviours is a
intertwined.
- Only track one peer connection
- Track the peer id and the multiaddr of the counterparty
- Emit an event for connection established on Alice's side as well as Bob's side
2020-10-21 10:11:24 +11:00
Tobin C. Harding
47eaa44f76
Remove unneeded From<Never> impl
2020-10-21 10:11:24 +11:00
Tobin C. Harding
40e97ffdc3
Add todo to check amounts calculation
2020-10-21 10:11:24 +11:00
Tobin C. Harding
1251681cfd
Calculate amounts from BTC
2020-10-16 12:42:47 +11:00
Tobin C. Harding
3492c46e71
Verify amounts with user
2020-10-16 10:49:19 +11:00
Tobin C. Harding
05766d3146
Add swap/
...
Add a binary crate `swap` that implements two nodes (Alice and Bob). With this
applied we can start up a node for each role and do:
- Bob: Requests current amounts using BTC is input
- Alice: Responds with amounts
- Bob: (mock) get user input to Ok the amounts
... continue with swap (TODO)
2020-10-16 10:05:06 +11:00