Commit graph

3513 commits

Author SHA1 Message Date
Mohan
b4472a15e8
Update swap.rs 2025-11-10 17:24:39 +01:00
Mohan
59449b0397
Update draft-new-release.yml 2025-11-10 17:19:30 +01:00
einliterflasche
10a039a22e
Merge branch 'master' of https://github.com/UnstoppableSwap/core 2025-11-10 16:45:05 +01:00
einliterflasche
e229b0d8bb
fix homebrew template (include darwin in filename_ 2025-11-10 16:44:58 +01:00
наб
9c139423be
Embed version into flatpaks. Export them as stable branch from CI (#696) 2025-11-10 16:26:03 +01:00
Mohan
833fc0ab24
refactor(p2p): cleanup redial behaviour (#698)
* refactor(p2p): cleanup redial behaviour

* lower REQUEST_RESPONSE_MAX_RETRY_INTERVAL to 10s

* add changelog

* add some comments

* fmt

* cleanup retry in cli/event_loop.rs

* revert changelog

* small refactor

* progress

* add changelog

* move retry helpers out of event loop handle

* fix compile errors
2025-11-10 10:54:16 +01:00
Raphael
5247781468
fix(monero-sys): Correctly handle multiple transaction keys (#629)
* start adding support for subaddresses

* add happy_path_alice_developer_tip_subaddress

* remove redundant addSubaddressAccount bridge

* document multiple tx keys

* don't autoformat c++ files

* update PendingTransaction::txKeys() to return the output address and the transaction id for each tx key as well

* fix c++ include error, update bridge.rs

* make TxReceipt have a map of transfer keys

* fix derive_puclic_key function call

* add undo-git-changes to justfile (restores unstaged changes in git submodule)

* don't autoformat c/c++ files

This is annoying because it's increasing the diff size when I really
just want to extract the changes into a patch.

* Change the txKeys method to correctly identify the tx key for each output.

Caviat: we currently skip all outputs that belong to the primary address.
This means we won't have a tx key when sending to our own main address or
for change outputs. Transactions which try anyway will fail in the rust
verification step.

* add a simple test casse

* update error message to reflect caviat of not beign able to send to your own main address

* un-hardcode path in transaction_keys.rs

* update patch to throw an exception in txKeys() when a crypto operation fails
(instead of ignoring it)

* cleanup

* add a new crate monero-tests for monero integration tests

* add monero-tests/transactions to ci

* add comment to tx_keys map

* fix compilation, add test case for wrong transfer key

* fix ci

* add new test and explanatory comments

* Add explanatory comment

* rename test to avoid name abiguity

* silence some monero c++ spam

* start updating distribute function to use integers

* Revert "start updating distribute function to use integers"

This reverts commit b69ec7c44cee3c19001001c36cc62f3ce5ec4c74.

* update rust to 1.88

---------

Co-authored-by: Binarybaron <binarybaron@protonmail.com>
Co-authored-by: Mohan <86064887+binarybaron@users.noreply.github.com>
2025-11-09 21:01:40 +01:00
Gecko Botty
4a11c4de28
Prepare release 3.2.11 (#691)
Co-authored-by: UnstoppableSwap Botty <help@unstoppableswap.net>
2025-11-09 13:15:58 +01:00
Mohan
4998b1d0ac
Update CHANGELOG.md 2025-11-09 13:12:20 +01:00
Mohan
27d81aad1e
feat(defaults, gui): add bluewallet and cakewallet electrum servers (#686)
* feat(defaults, gui): add bluewallet and cakewallet electrum servers

* progress

* fix circular dependency

* detect import cycles

* add changelog entry

* move DEFAULT_RENDEZVOUS_POINTS into defaults.ts

* move defaults.rs and types.ts one level higher

* rename

* collapse PRESET_RENDEZVOUS_POINTS and DEFAULT_RENDEZVOUS_POINTS
2025-11-09 11:41:55 +01:00
Binarybaron
294b9985cf feat: assume xmr double spend safety after 6 confirmations 2025-11-09 02:34:00 +01:00
наб
111a5a3271
feat(CI): build + upload flatpak to gh-pages in build-gui-release-binaries.yml (#688)
* fix(flatpak): remove unused net.unstoppableswap.gui.json

This is the same as o.e.a.json just with a different id,
is unused, and was clearly supposed to be a rename,
not a copy, in the referenced commit

Fixes: 517a4fa574

* refactor(CI): clean up build-gui-release-binaries.yml

* refactor(publish_flatpak): deslopify. NFC

* refactor(publish_flatpak): lift out .flatpakrepo & .flatpakref

Common bits at the top for convenience

* feat(CI): build + upload flatpak to gh-pages in build-gui-release-binaries.yml

This is equivalent to the current flatpak releases except it also has
the icon
2025-11-08 19:04:16 +01:00
Mohan
1f2a0605bc
refactor(bob): EventLoop concurrency (#642)
* progress

* fix race condition where EventLoopHandle::swap_handle would take forever if event loop was not running

* add trace statements in bob event loop, inform swarm about redials

* progress

* revamp of protocols/swap_setup, reliable error propagation, slowly getting this to work...

* some formatting

* fix react shengigans

* If a connection handler died which had an assigned swap setup request, notify the swarm that the request failed

* key inflight swap setup request by (PeerId, SwapID) instead of just peer id

* add min height to swap state page

* extract should_acknowledge_transfer_proof out of event loop, propagate swap setup errors to event loop with context

* add --trace to justfile

* remove docker_test_all.sh

* add back the correct connection_keep_alive swap_setup/alice.rs

* fix some memory leaks

* let swarm_setup behaviour instruct swarm to dial peer

* fmt

* reduce diff

* remove redial::Redialing

* add trace statements to swap_setup/bob.rs

* extract swap setup protocol itself into run_swap_setup

* make queues unbounded, small nitpicks

* do not buffer transfer proof acknowledgements

* prevent swap_setup/bob.rs from keeping all connections alive

* buffer transfer proofs

* do not redial ALL peers

* keep all connections alive with swap_setup/bob.rs

* add comment
2025-11-08 17:48:15 +01:00
Gecko Botty
c0235827f0
Prepare release 3.2.10 (#687)
Co-authored-by: UnstoppableSwap Botty <help@unstoppableswap.net>
2025-11-08 04:38:48 +01:00
Mohan
2a2bda305e
feat(env): reduce monero_finality_confirmations and monero_double_spend_safe_confirmations to 15 (#683) 2025-11-06 21:41:55 +01:00
Mohan
513fbe6544
Update CHANGELOG.md 2025-11-06 19:50:30 +01:00
Mohan
84057d567e
fix(bob): Retries in state machine (#677)
* fix(bob): Retries in state machine

* just fmt and add more retries

* fix conflicts

* merge conflicts

* minimize diff

* remove duplicate asb-testnet-controller in justfile

* fix few compiler errors

* fmt

* move timelocks into swap-core/src/bitcoin.rs

* add log statements
2025-11-06 19:49:38 +01:00
Binarybaron
4a9e90f99a amend: remove more dead frontend code 2025-11-05 19:17:37 +01:00
Gecko Botty
f67e908fb6
Release version 3.2.9 (#680)
* Prepare release 3.2.9

* Update CHANGELOG.md

---------

Co-authored-by: UnstoppableSwap Botty <help@unstoppableswap.net>
Co-authored-by: Mohan <86064887+binarybaron@users.noreply.github.com>
2025-11-05 19:10:12 +01:00
Binarybaron
2f5f521009 feat(gui): add knip for checking for unused dead code, remove dead code 2025-11-05 19:08:43 +01:00
Mohan
5948a40c8d
fix(gui): Strictly enforce UI types with Typescript (#678)
* fix(gui): we were not checking for null everywhere

* add more null checks, enable tsconfig strict

* remove dead code

* more nullish checks

* remove unused JSONViewTree.tsx

* fix a bunch of small typescript lints

* add explanations as to why LabeledMoneroAddress.address is non-nullish but we pass in null due to typeshare limitation

* remove @mui/lab from yarn.lock

* re-add SortableQuoteWithAddress

* add guard function for ExportBitcoinWalletResponseExt ("wallet_descriptor")

* fix remaining linter errors

* remove duplicate XMR

* fix hasUnusualAmountOfTimePassed in SwapStatusAlert.tsx
2025-11-05 18:38:00 +01:00
einliterflasche
3ce8e360c5 add einliterflasche gpg key 2025-11-05 15:52:22 +01:00
Mohan
2259f295c8
fix(ci): homebrew recipe wrong filenames 2025-11-04 20:25:28 +01:00
наб
a056ae3a47
fix(CI): request libwebkit2gtk=2.44.0-2 to fix AppImages on Fedora ~43 (#674)
The CI builds the GUI on ubuntu noble, which contains
  2.44.0-2
in universe and
  2.48.7-0ubuntu0.24.04.2
in security. Naturally, the bigger version is picked by default.

The same thing happens when building on bookworm (2.48.1-2~deb12u1).

This version causes the GUI to crash just after creating a blank window,
yielding no logs and stderr of
  Could not create default EGL display: EGL_BAD_PARAMETER. Aborting...

This is a known issue in the Tauri/AppImage world,
and downgrading to 2.44 is likewise a known fix, cf.
  https://github.com/gitbutlerapp/gitbutler/issues/5282
and all the referencing issues.

On bookworm this can be fixed by installing 2.44.3-1
off snapshot.d.o at 20240909T145608Z.

On noble, we can just ask for the older version, since both are visible.

Only pin on noble: we only ever request noble,
but some third-party workflows are on jammy.
The version doesn't matter there.

Closes #594
Closes #582
2025-11-04 20:08:14 +01:00
Mohan
c2dff5c07f
Update CHANGELOG.md 2025-11-02 23:25:55 +01:00
Gecko Botty
ea6d9bc2b2
Prepare release 3.2.8 (#672)
Co-authored-by: UnstoppableSwap Botty <help@unstoppableswap.net>
2025-11-02 23:25:28 +01:00
Mohan
1026a51c98
feat(asb): Add registration-status controller cmd (#671)
* feat(asb): Add registration-status controller cmd

* fmt

* add changelog entry

* condense

* remove redundant attributes

* rename

* add comment
2025-11-02 23:13:28 +01:00
Mohan
7ca9c1442c
feat: seperate rolling log files (#669)
* feat: seperate rolling log files

* clean up

* fix(gui): missing null check

* turn off all crates by default

* add changelog entry

* nitpcik
2025-11-02 23:00:37 +01:00
Mohan
33662b0a06
refactor(gui): seperate get info and get timelock to speed up display of swaps (#661)
* refactor(gui): seperate get info and get timelock to speed up display of swaps

* progress

* progress

* remove unused function useSwapInfoWithTimelock

* use GetSwapTimelockArgs and GetSwapTimelockResponse types
2025-11-02 19:41:21 +01:00
Mohan
0fec5d556d
refactor(alice): concretize enc sig publication requirement (#664)
* refactor(alice): concretize enc sig publication requirement

* add changelog entry
2025-11-01 00:44:58 +01:00
Gecko Botty
d9438c5913
Prepare release 3.2.7 (#658)
Co-authored-by: UnstoppableSwap Botty <help@unstoppableswap.net>
2025-10-29 15:35:40 +01:00
Gecko Botty
36144b6a06
Prepare release 3.2.6 (#657)
Co-authored-by: UnstoppableSwap Botty <help@unstoppableswap.net>
2025-10-28 00:45:19 +01:00
Binarybaron
cd3c32ba81 fix(gui): yarn install --frozen-lockfile 2025-10-28 00:36:18 +01:00
Mohan
c3f3623b6e
refactor (#656) 2025-10-28 00:33:47 +01:00
Binarybaron
6db365bf23 fix(gui): add padding between Tx Info Box and Stepper on WithdrawDialogContent 2025-10-27 00:03:45 +01:00
Gecko Botty
0a62cefc5b
Prepare release 3.2.5 (#655)
Co-authored-by: UnstoppableSwap Botty <help@unstoppableswap.net>
2025-10-26 23:42:33 +01:00
Mohan
6cc17dad37
amend: changelog 2025-10-26 23:33:41 +01:00
Binarybaron
9fda3dde42 fix: add back --data-dir to rendezvous-node 2025-10-26 23:11:08 +01:00
Mohan
cdb9a6cbd9
feat(alice): Concurrently send transfer proof and receive encrypted signature (#651)
* feat(alice): Concurrently send transfer proof and receive encrypted signature

* fmt

* add changelog entry

* add todo comment
2025-10-26 16:36:00 +01:00
Gecko Botty
aaff3e5f9b
Prepare release 3.2.4 (#650)
Co-authored-by: UnstoppableSwap Botty <help@unstoppableswap.net>
2025-10-26 13:31:57 +01:00
Binarybaron
8ec318f2c5 fix(rendezvous-node): fix docker image 2025-10-26 13:29:35 +01:00
Gecko Botty
e0e9bb2805
Prepare release 3.2.3 (#649)
Co-authored-by: UnstoppableSwap Botty <help@unstoppableswap.net>
2025-10-26 12:40:28 +01:00
Binarybaron
1774309ab1 amend: changelog 2025-10-26 11:11:38 +01:00
Binarybaron
d47504685c fix(rendezvous-node): spelling mistake in Dockerfile 2025-10-26 11:09:43 +01:00
Gecko Botty
208efc0369
Prepare release 3.2.2 (#648)
Co-authored-by: UnstoppableSwap Botty <help@unstoppableswap.net>
2025-10-26 00:08:04 +02:00
Binarybaron
d48a99802a feat(orchestrator): expose rendezvous-node port 2025-10-25 23:59:36 +02:00
Binarybaron
bb6021eb23 feat(orchestrator): add rendezvous-node service 2025-10-25 23:51:56 +02:00
Binarybaron
5c3a9789ea refactor: rename "rendezvous-server" to "rendezvous-node" 2025-10-25 23:50:16 +02:00
Mohan
d0758d73e9
feat(rendezvous): Register rendezvous points at bootstrap nodes (#645)
* feat(rendezvous): Register rendezvous points at bootstrap nodes

* We don't want to register at our own rendezvous point

* fix
2025-10-25 22:31:30 +02:00
Mohan
af39712d3e
refactor(swap-p2p): Extract rendezvous::register behaviour (#644)
* refactor(swap-p2p): Extract rendezvous::register behaviour

* fix: rendezvous::register unit tests

* downgrade home to 0.5.11 for rustmsvc compat
2025-10-25 18:25:02 +02:00