Commit Graph

145 Commits (53aae5cf5fa402068449a656426658c3d7e985b6)

Author SHA1 Message Date
Franck Royer 53aae5cf5f
Use anyhow macro as intended 4 years ago
Franck Royer 51cc44484b
Remove unneeded pub qualifiers 4 years ago
rishflab 9ba89194b0 Rename swarm driver to event loop 4 years ago
rishflab f5d3d54b13 Prevent premature Bob t1 timeout
Bob was hitting the t1 timeout and entering cancel
instead of redeem. This was resolved by increasing
the timeouts to 50.
4 years ago
rishflab 27d1334726 Init Alice behaviour with state0
Previously state0 had to be set after creating Alice's behaviour.
With the event loop we no longer has access to the swarm so
set_state0() has to be called indirectly through a channel. This
means it is difficult to guarantee state0 is being set due to the
asynchronous nature of channels. This was solved by initialising
Alice with state0.
4 years ago
rishflab 3d8866f1a0 Convert event loop to use fused futures select
Co-authored-by: Daniel Karzel <daniel@comit.network>
4 years ago
rishflab 58da1df9dc Create SwarmDriverHandle to resolve ownership issues 4 years ago
rishflab 6f7408ecce Drive swarm in seperate async task
Previously the libp2p swarm had to be manually polled within the
protocol execution code to execute actions such as sending a
message. The swarm is now wrapped in SwarmDriver which polls the
swarm in a seperate task
4 years ago
rishflab f88ed9183b
Merge pull request #54 from comit-network/bob-unhappy-paths
Punish Test
4 years ago
rishflab bd8e6e36e0 Fix monero blocktime config 4 years ago
Daniel Karzel 1a2857af29 Properly init tracing per test and reverse the filter to be exclusive
Tracing should be initialized by test and the `_guard` kept alive within the test.
Re-using this code in different tests does not really have any additional value.

Instead of specifying what messages we want to include, I went for a filter that excludes noise.
That way we get more useful logging.
4 years ago
rishflab 883a913f30 Remove nonsensical monero * monero multiplication 4 years ago
rishflab 627b1a9f00 Remove unnecessary execution restart 4 years ago
rishflab 8592ef5f79 Address PR feedback
Add context to logging statements. Use amount type for monero in tests. Remove stale
code and comments.
4 years ago
Franck Royer 78674818c2
Upgrade bitcoin-harness 4 years ago
rishflab b4ac69fa9c Reduce stack size to prevent CI resource issues 4 years ago
rishflab e4eed7b1a5 Change multiaddr for test runs 4 years ago
rishflab c91e9652aa Add alice punish test
Use reusable test init functions for happy path test

Extract tracing setup to reusable function

Move test initialization to seperate functions

Increase stack size in CI

Fix monero max finality time

Force Bob swarm polling to send message 2

Run Bob state to xmr_locked in punish test to force the sending of
message2. Previously Bob state was run until btc_locked. Although
this was the right thing to do, message2 was not being sent as the
swarm was not polled in btc_locked. Alice punish test passes.

Add info logging to executor
4 years ago
rishflab 5fef68322a Allow Alice to exit execution at a specified state 4 years ago
rishflab 584cc22024 Allow Bob to exit execution at a specified state 4 years ago
Franck Royer cfcd1e7170
Clean-up dep versions
- Use bitcoin-harness 0.2
- Use cross-curve-dleq latest master commit
4 years ago
Franck Royer 624716d8a7
Upgrade rust-bitcoin to 0.25 4 years ago
Franck Royer c3e43f50aa
Update bitcoin-harness to specific revision 4 years ago
Franck Royer 765482b0aa
Implement `wait_for_transaction_finality` 4 years ago
rishflab 1c401aad31 Fix clippy warnings and formatting 4 years ago
rishflab b06321a40f WIP: cleanup 4 years ago
rishflab 47c3ddc6f7 Fix happy path test
Poll bob swarm to send encsig after calling send message3. Comment
out unimplmented wait for transaction finality trait. Dial alice.
4 years ago
Franck Royer 2abeba17f9
Save state0 in the swarm to process message0 4 years ago
rishflab d8218a7bea Remove mspc channel from new executor 4 years ago
Franck Royer 2db9ebd28b make new_swarm public 4 years ago
Franck Royer 9e13034e54 Extract execution details from driving loop 4 years ago
rishflab 24631d464d Add test for recursive executor 4 years ago
rishflab dca15b6872 Removed unused binary 4 years ago
rishflab 3b005bd15c Resolve rebase issues, restructure code and fix warnings 4 years ago
Franck Royer 437c1cbb80 Started to extract some steps
Tealised that the whole point is for them to be idempotent to be useful
4 years ago
Franck Royer 66866f8fbd Remove rng argument 4 years ago
Franck Royer 6c0df836ca Deal with Btc Punished. 4 years ago
Franck Royer 6437b529eb Punish Bob if t2 is reached 4 years ago
Franck Royer 8ff1824126 Remove abort function 4 years ago
Franck Royer 58ca33dd04 Remove warnings 4 years ago
Franck Royer c501d84278 Park abort function for now 4 years ago
Franck Royer 4c4a10098c Complete Refund path 4 years ago
Franck Royer bff83bbe99 Progress on Cancellation path 4 years ago
Franck Royer 8e31a3af6a Add steps from `EncSignLearned` 4 years ago
Franck Royer 8976a03b3d Implemented Alice transition from `BtcLocked` to `XmrLocked` 4 years ago
Franck Royer 75e7fedfed Implemented Alice transition from `Negotiated` to `BtcLocked` 4 years ago
Franck Royer c4cd64d134 Implemented Alice transition from `Started` to `Negotiated` 4 years ago
Franck Royer 0fe5131a8a Fix import format 4 years ago
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
4 years ago
rishflab ff7daf16f3 WIP: Test simplified swap execution 4 years ago