Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
04c9d7c
wip: migrate to libp2p 0.53.2
binarybaron Aug 7, 2024
7029b7d
remove submodule
binarybaron Oct 10, 2024
fec79f6
update Cargo.lock
binarybaron Oct 10, 2024
33598ab
Upgrade libp2p to 0.53.2 and update related code
binarybaron Oct 16, 2024
4c28dcb
fix: custom impl_from_rr_event macro
binarybaron Oct 16, 2024
0d3424d
work in progress
binarybaron Oct 16, 2024
70ea2f1
fix(libp2p): impl AsRef<str> instead of ProtocolName trait (See: http…
binarybaron Oct 17, 2024
b483168
fix(libp2p): Rename out_event to to_swarm in NetworkBehaviour derive …
binarybaron Oct 17, 2024
eea7ddc
fix(libp2p): Handle Io errors in impl_from_rr_event macro (See: https…
binarybaron Oct 17, 2024
a7e394d
fix(libp2p): Replace RequestId with OutboundRequestId in cli/event_lo…
binarybaron Oct 17, 2024
c1b6607
refactor(libp2p): Use new request_response imports, syntax. Use inter…
binarybaron Oct 17, 2024
df64e76
fix(libp2p): Use native json request_response impl, remove custom one
binarybaron Oct 18, 2024
0b8f578
wip(libp2p): Use new API for swap/src/network/swap_setup/bob.rs (See …
binarybaron Oct 18, 2024
bdd67a1
fix(libp2p): Use new API for mplex, yamux, noise in transport setup f…
binarybaron Oct 18, 2024
26da7d0
fix(lip2p): Use new NetworkBehaviour API for swap/src/network/redial.rs
binarybaron Oct 18, 2024
2a7bdf2
fix(libp2p): Omit removed argument from Swarm::add_external_address
binarybaron Oct 18, 2024
f402c1a
fix(libp2p): Destructure libp2p::rendezvous::client::Event::RegisterF…
binarybaron Oct 21, 2024
93cb6cb
fix(libp2p): Use new Transport API for TorDialOnlyTransport
binarybaron Oct 21, 2024
b06ecc7
fix(libp2p): Remove deprecated mplex
binarybaron Oct 21, 2024
5676596
refactor: fix alice swap_setup behaviour and handler, maybe. TODO: ke…
Einliterflasche Oct 22, 2024
26de166
fix more error, mostly add StreamProtocol
Einliterflasche Oct 22, 2024
d9679f3
refactor: uncomment NetworkBehaviourEventProcess
Einliterflasche Oct 22, 2024
adc254a
fix(libp2p): Use new SwarmBuilder API for constructing ASB/CLI swarms
Einliterflasche Oct 22, 2024
a6d0035
fix(libp2p): Fix extrtact_peer_id util function
binarybaron Oct 22, 2024
b8323d4
fix(libp2p): Use new identity::Keypair::ed25519_from_bytes API for de…
binarybaron Oct 22, 2024
82947f5
fix(libp2p): Remove websocket transport for asb, use correct API for …
binarybaron Oct 22, 2024
8e1c0a7
fix(libp2p): Use unsigned_varint and asynchronous_codex to replace up…
binarybaron Oct 23, 2024
fcd489b
fix(libp2p): Use .boxed() to create transport
binarybaron Oct 23, 2024
7a01b5c
fix(libp2p): Use correct Outbound/InboundRequestId in swap/src/cli/ev…
binarybaron Oct 23, 2024
988255e
fix(libp2p): Set max buffer length for unsigned_varint codex
binarybaron Oct 23, 2024
d3a681a
fix(libp2p): Construct dummy connection handler directly without call…
binarybaron Oct 23, 2024
03367ba
fix(libp2p): Vendor from_fn, FromFnUpgrade which were removed
binarybaron Oct 23, 2024
01e8810
fix(libp2p): Use Instant instead of KeepAlive in swap/src/network/swa…
binarybaron Oct 23, 2024
d9efc5d
fix(libp2p): Call .into to convert None into OptionFuture, use new Co…
binarybaron Oct 23, 2024
bdedafe
fix(libp2p): Fix all remaining compiler errors, quote requests work!!!!
binarybaron Oct 23, 2024
ad760d7
fix(libp2p): Fetch entries from new_swaps in src/network/swap_setup/b…
binarybaron Oct 24, 2024
60123b4
lint: dprint fmt
binarybaron Oct 24, 2024
fcce5f7
debug statement: log libp2p tracing messages at all levels
binarybaron Oct 24, 2024
dfd6180
fix(libp2p): Swarm keeps connections alive forever instead of ping be…
binarybaron Oct 24, 2024
37fe6de
Merge branch 'master' into libp2p/upgrade
binarybaron Oct 24, 2024
59b3b26
fix: increase testnet timelocks, reformat todo comments
binarybaron Oct 24, 2024
fe1867c
refactor(libp2p): Re-order function impl in swap_setup handlers to ma…
binarybaron Oct 24, 2024
96fa4e3
fix(libp2p): Bob should not support inbound connections on swap setup
binarybaron Oct 24, 2024
b663c80
fix(libp2p): Remove old TODO comments about ping keep alive behaviour…
binarybaron Oct 24, 2024
816500f
fix(libp2p): Use Swarm::add_peer_address instead of behaviour::add_ad…
binarybaron Oct 24, 2024
100de69
refactor(libp2p): Remove disable redundant asynchronous-codec feature
binarybaron Oct 24, 2024
6bea244
unreachable! if dummy connection handler emits event to behaviour
binarybaron Oct 24, 2024
849fe0a
refactor(libp2p): Move quote protocol id out of struct impl and make …
binarybaron Oct 24, 2024
239af00
lint: dprint fmt, cargo clippy fix
binarybaron Oct 24, 2024
ff60cee
fix(libp2p): Remove unused await_events_or_timeout test helper, remov…
binarybaron Oct 24, 2024
1f0be4b
fix(libp2p): Remove ping behaviour from test behaviours because peers…
binarybaron Oct 24, 2024
28e11d2
fix(docker): Use Bookworm-Slim
binarybaron Oct 25, 2024
d4fa5a4
libp2p: Disable websocket feature, enable RSA for libp2p crate
binarybaron Oct 25, 2024
f2cc2c3
libp2p: increase request_response timeouts to 60s
binarybaron Oct 27, 2024
aa272a1
fix(libp2p): Fix compile errors in unit tests
binarybaron Oct 28, 2024
a8ea94a
feat(libp2p): Send request response error through MSCP channel to inv…
binarybaron Oct 29, 2024
d930ec6
docs: add some comments about the transfer proof buffering logic
binarybaron Oct 29, 2024
e3c4884
feat(asb): Retry sending transfer proof indefinitely
binarybaron Oct 29, 2024
1b3e0da
feat(asb, cli): Retry sending encrypted signature
binarybaron Oct 29, 2024
7ae58b1
fix(libp2p): Rename send_transfer_proof to outgoing_transfer_proof_queue
binarybaron Oct 29, 2024
f29b7ba
feat(cli, libp2p): Acknowledge transfer proof immediately if Bob has …
binarybaron Oct 30, 2024
cccc0af
feat(asb): Listen for encrypted signature in XmrLocked state
binarybaron Oct 30, 2024
7f48045
fix: comment out compiler error
binarybaron Oct 30, 2024
b803412
fix(wip): rendezvous register
binarybaron Oct 30, 2024
3591f71
Comments in asb/event_loop.rs, stop retrying sending transfer proof i…
binarybaron Oct 31, 2024
55555ea
dprint fmt
binarybaron Oct 31, 2024
309fe76
feat(libp2p): Attach protocol name to Inbound/OutboundRequestResponse…
binarybaron Oct 31, 2024
2590a12
feat(libp2p): Add some comments to network/swap_setup/*
binarybaron Oct 31, 2024
c9f8c5d
feat(libp2p, bob): Never stop re-dialing Alice
binarybaron Oct 31, 2024
3e457ed
fix(libp2p): Remove timeout from transfer_proof bmrng channel, panic …
binarybaron Oct 31, 2024
df681fc
dprint fmt
binarybaron Oct 31, 2024
92ce1b3
fix missing comma, import cli in redial.rs
binarybaron Oct 31, 2024
2ff8bc0
fix: use Display to format state in tracing log in li/event_loop.rs
binarybaron Oct 31, 2024
7ecd03f
fix(libp2p, asb): increase bmrng channel timeout for wallet snapshot …
binarybaron Oct 31, 2024
9c1f2e3
feat(libp2p, cli): Propogate quote request-response errors through BM…
binarybaron Oct 31, 2024
1a438fc
fix: unnest the error handling in cli/event_loop.rs
binarybaron Oct 31, 2024
dce3788
wip: replace outgoing transfer proof FuturesUnordered with mpsc queue…
binarybaron Oct 31, 2024
5c2ac38
feat(cli, libp2p): Propagate network errors for cooperative xmr redee…
binarybaron Nov 1, 2024
58c2793
refactor: add comments to event_loop.rs to document channels used to …
binarybaron Nov 1, 2024
317af9b
dprint fmt
binarybaron Nov 1, 2024
614df5e
fix(cli, libp2p): Remove timeout from event loop channel to relay coo…
binarybaron Nov 1, 2024
147c3c4
refactor: destructure bmrng channel in asb EventLoopHandle
binarybaron Nov 1, 2024
9ca133a
feat(asb, libp2p): Build transfer proof within EventLoopHandle, remov…
binarybaron Nov 1, 2024
fcf8170
feat(asb, libp2p): Acknowledge encrypted signature if we are in a sta…
binarybaron Nov 1, 2024
1c59eab
refactor: remove unused OutgoingTransferProof type
binarybaron Nov 1, 2024
0a5bde6
refactor: Use tokio oneshot channel to relay transfer proof acknowled…
binarybaron Nov 1, 2024
c3a4b10
refactor: Add comments to transfer proof event loop logic
binarybaron Nov 2, 2024
f2c88d7
refactor: add comments in asb/event_loop.rs::EventLoopHandle::recv_en…
binarybaron Nov 2, 2024
97206e7
refactor(cli/event_loop.rs): Rename variables in EventLoop, EventLoop…
binarybaron Nov 2, 2024
d328bf8
refactor: Add comments in asb/event_loop.rs, swap_setup/bob.rs, alice…
binarybaron Nov 2, 2024
00085ae
refactor: comments in asb/event_loop.rs
binarybaron Nov 2, 2024
ce850e5
refactor(asb): make some code blocks in rendezvous::Behaviour more id…
Einliterflasche Nov 3, 2024
fdd8a42
feat(libp2p): Increase ping timeout to 60s
binarybaron Nov 3, 2024
688c72c
feat: add changelog entries
binarybaron Nov 4, 2024
555d5f6
fix: bail instead of panic if fee returned by electrum server is nega…
Nov 8, 2024
9114bb0
fix(libp2p): Use Swarm::add_peer_address instead of Behaviour::add_ad…
binarybaron Nov 8, 2024
df1720b
fix(gui): Initiate context only after redux persist has been loaded. …
binarybaron Nov 8, 2024
e3bff92
fix: clippy warnings
binarybaron Nov 8, 2024
74e211d
refactor(libp2p): Print errors during negotiation in swap_setup/bob.rs
binarybaron Nov 8, 2024
c8a0fb1
Merge branch 'master' into libp2p/upgrade
binarybaron Nov 9, 2024
b21f58c
fix(asb): Remove websocket listen address from default config
binarybaron Nov 9, 2024
988fd57
refactor(cli): Do not match cancel/refund states as has_already_proce…
binarybaron Nov 9, 2024
c39d097
refactor(asb): Add TODO for listening to enc signature before acknowl…
binarybaron Nov 9, 2024
3f95985
refactor: Remove Cargo.lock from subdirectory
binarybaron Nov 9, 2024
88614a7
refactor: Fix clippy errors
binarybaron Nov 9, 2024
aa8c1a9
fix(clippy): Remove redundant .into()
binarybaron Nov 9, 2024
aec6bac
feat(asb): Warn instead of bail, if we cannot listen on a particular …
binarybaron Nov 9, 2024
8f09dda
Merge branch 'master' into libp2p/upgrade
binarybaron Nov 10, 2024
e3c7256
Merge branch 'master' into libp2p/upgrade
binarybaron Nov 10, 2024
0163eab
feat(cli, libp2p): Retry outgoing requests
binarybaron Nov 10, 2024
601f375
refactor(cli/event_loop.rs): Move timeouts into static
binarybaron Nov 10, 2024
04cac99
fix(libp2p): Redial behaviour
binarybaron Nov 10, 2024
32b6ee3
fix(swap_setup/alice.rs): Create swap_setup ConnectionHandler even fo…
binarybaron Nov 10, 2024
005e869
fix(swap_setup/bob.rs): Do not panic on inbound connection as it is d…
binarybaron Nov 10, 2024
230265a
remaining leftovers
binarybaron Nov 10, 2024
15b30e3
dprint fmt
binarybaron Nov 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
target
target
.vscode
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

- Breaking network protocol change: The libp2p version has been upgraded to 0.53 which includes breaking network protocol changes. ASBs and CLIs will not be able to swap if one of them is on the old version.
- ASB: Transfer proofs will be repeatedly sent until they are acknowledged by the other party. This fixes a bug where it'd seem to Bob as if the Alice never locked the Monero. Forcing the swap to be refunded.
- CLI: Encrypted signatures will be repeatedly sent until they are acknowledged by the other party
- ASB: We now retry indefinitely to lock Monero funds until the swap is cancelled. This fixes an issue where we would fail to lock Monero on the first try (e.g., due to the daemon not being fully synced) and would never try again, forcing the swap to be refunded.
- ASB + CLI: You can now use the `logs` command to retrieve logs stored in the past, redacting addresses and id's using `logs --redact`.
- ASB: The `--disable-timestamp` flag has been removed
Expand Down
Loading