From 9fa23634667234d2854966b3d8e9cd69365f016b Mon Sep 17 00:00:00 2001 From: Mohan <86064887+binarybaron@users.noreply.github.com> Date: Fri, 8 Aug 2025 10:29:35 +0200 Subject: [PATCH] chore(rendezvous): add observer rendezvous point (#503) * chore(rendezvous): list all default rendezvous points * remove old discover_and_take.sh --- CHANGELOG.md | 1 + dev-docs/asb/README.md | 1 + dev-docs/cli/README.md | 4 +- dev-docs/cli/discover_and_take.sh | 39 ------------------- docs/pages/becoming_a_maker/overview.mdx | 15 +++++-- .../components/pages/help/SettingsBox.tsx | 2 +- src-gui/src/renderer/rpc.ts | 1 + src-gui/src/store/features/settingsSlice.ts | 3 ++ swap-env/src/defaults.rs | 1 + 9 files changed, 23 insertions(+), 44 deletions(-) delete mode 100644 dev-docs/cli/discover_and_take.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index c00c82f4..4a8b36da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] - GUI: Add white background to QR code modal to make it better scannable +- GUI + CLI + ASB: Add `/dns4/rendezvous.observer/tcp/8888/p2p/12D3KooWMjceGXrYuGuDMGrfmJxALnSDbK4km6s1i1sJEgDTgGQa` to the default list of rendezvous points ## [3.0.0-beta.6] - 2025-08-07 diff --git a/dev-docs/asb/README.md b/dev-docs/asb/README.md index 46bd3586..3408c888 100644 --- a/dev-docs/asb/README.md +++ b/dev-docs/asb/README.md @@ -64,6 +64,7 @@ rendezvous_point = [ "/dns4/darkness.su/tcp/8888/p2p/12D3KooWFQAgVVS9t9UgL6v1sLprJVM7am5hFK7vy9iBCCoCBYmU", "/dns4/eigen.center/tcp/8888/p2p/12D3KooWS5RaYJt4ANKMH4zczGVhNcw5W214e2DDYXnjs5Mx5zAT", "/dns4/swapanarchy.cfd/tcp/8888/p2p/12D3KooWRtyVpmyvwzPYXuWyakFbRKhyXGrjhq6tP7RrBofpgQGp", + "/dns4/rendezvous.observer/tcp/8888/p2p/12D3KooWMjceGXrYuGuDMGrfmJxALnSDbK4km6s1i1sJEgDTgGQa", ] external_addresses = ["/dns4/example.com/tcp/9939"] ``` diff --git a/dev-docs/cli/README.md b/dev-docs/cli/README.md index 25c2bad7..24c43053 100644 --- a/dev-docs/cli/README.md +++ b/dev-docs/cli/README.md @@ -100,7 +100,9 @@ OPTIONS: --tor-socks5-port Your local Tor socks5 proxy port [default: 9050] ``` -Running `swap --testnet list-sellers --rendezvous-point /dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE` will give you something like: +Running `swap --testnet list-sellers --rendezvous-point /dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE` +or `swap --testnet list-sellers --rendezvous-point /dns4/rendezvous.observer/tcp/8888/p2p/12D3KooWMjceGXrYuGuDMGrfmJxALnSDbK4km6s1i1sJEgDTgGQa` +will give you something like: ``` Connected to rendezvous point, discovering nodes in 'xmr-btc-swap-testnet' namespace ... diff --git a/dev-docs/cli/discover_and_take.sh b/dev-docs/cli/discover_and_take.sh deleted file mode 100644 index 6aca6475..00000000 --- a/dev-docs/cli/discover_and_take.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -# This is a utility script to showcase how the swap CLI can discover sellers and then trigger a swap using the discovered sellers -# -# 1st param: Path to the "swap" binary (aka the swap CLI) -# 2nd param: Multiaddress of the rendezvous node to be used for discovery -# 3rd param: Your Monero stagenet address where the XMR will be received -# 4th param: Your bech32 Bitcoin testnet address that will be used for any change output (e.g. refund scenario or when swapping an amount smaller than the transferred BTC) -# -# Example usage: -# discover_and_take.sh "PATH/TO/swap" "/dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE" "YOUR_XMR_STAGENET_ADDRESS" "YOUR_BECH32_BITCOIN_TESTNET_ADDRESS" - -CLI_PATH=$1 -RENDEZVOUS_POINT=$2 -YOUR_MONERO_ADDR=$3 -YOUR_BITCOIN_ADDR=$4 - -CLI_LIST_SELLERS="$CLI_PATH --testnet --json --debug list-sellers --rendezvous-point $RENDEZVOUS_POINT" -echo "Requesting sellers with command: $CLI_LIST_SELLERS" -echo - -BEST_SELLER=$($CLI_LIST_SELLERS | jq -s -c 'min_by(.status .Online .price)' | jq -r '.multiaddr, (.status .Online .price), (.status .Online .min_quantity), (.status .Online .max_quantity)') -read ADDR PRICE MIN MAX < <(echo $BEST_SELLER) - -echo - -echo "Seller with best price:" -echo " multiaddr : $ADDR" -echo " price : $PRICE sat" -echo " min_quantity: $MIN sat" -echo " max_quantity: $MAX sat" - -echo - -CLI_SWAP="$CLI_PATH --testnet --debug buy-xmr --receive-address $YOUR_MONERO_ADDR --change-address $YOUR_BITCOIN_ADDR --seller $ADDR" - -echo "Starting swap with best seller using command $CLI_SWAP" -echo -$CLI_SWAP diff --git a/docs/pages/becoming_a_maker/overview.mdx b/docs/pages/becoming_a_maker/overview.mdx index 11591171..82c7d8a4 100644 --- a/docs/pages/becoming_a_maker/overview.mdx +++ b/docs/pages/becoming_a_maker/overview.mdx @@ -222,7 +222,12 @@ listen = ["/ip4/0.0.0.0/tcp/9939"] # the rendezvous points the asb will connect to (address, port and peer id) rendezvous_point = [ - "/dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE" + "/dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE", + "/dns4/discover2.unstoppableswap.net/tcp/8888/p2p/12D3KooWGRvf7qVQDrNR5nfYD6rKrbgeTi9x8RrbdxbmsPvxL4mw", + "/dns4/darkness.su/tcp/8888/p2p/12D3KooWFQAgVVS9t9UgL6v1sLprJVM7am5hFK7vy9iBCCoCBYmU", + "/dns4/eigen.center/tcp/8888/p2p/12D3KooWS5RaYJt4ANKMH4zczGVhNcw5W214e2DDYXnjs5Mx5zAT", + "/dns4/swapanarchy.cfd/tcp/8888/p2p/12D3KooWRtyVpmyvwzPYXuWyakFbRKhyXGrjhq6tP7RrBofpgQGp", + "/dns4/rendezvous.observer/tcp/8888/p2p/12D3KooWMjceGXrYuGuDMGrfmJxALnSDbK4km6s1i1sJEgDTgGQa" ] # the external addresses the asb will advertise to the rendezvous points (only address) @@ -273,8 +278,12 @@ dir = "/asb-data/" [network] listen = ["/ip4/0.0.0.0/tcp/9939"] rendezvous_point = [ - "/dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE", - "/dns4/eratosthen.es/tcp/7798/p2p/12D3KooWAh7EXXa2ZyegzLGdjvj1W4G3EXrTGrf6trraoT1MEobs" + "/dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE", + "/dns4/discover2.unstoppableswap.net/tcp/8888/p2p/12D3KooWGRvf7qVQDrNR5nfYD6rKrbgeTi9x8RrbdxbmsPvxL4mw", + "/dns4/darkness.su/tcp/8888/p2p/12D3KooWFQAgVVS9t9UgL6v1sLprJVM7am5hFK7vy9iBCCoCBYmU", + "/dns4/eigen.center/tcp/8888/p2p/12D3KooWS5RaYJt4ANKMH4zczGVhNcw5W214e2DDYXnjs5Mx5zAT", + "/dns4/swapanarchy.cfd/tcp/8888/p2p/12D3KooWRtyVpmyvwzPYXuWyakFbRKhyXGrjhq6tP7RrBofpgQGp", + "/dns4/rendezvous.observer/tcp/8888/p2p/12D3KooWMjceGXrYuGuDMGrfmJxALnSDbK4km6s1i1sJEgDTgGQa" ] external_addresses = [] ``` diff --git a/src-gui/src/renderer/components/pages/help/SettingsBox.tsx b/src-gui/src/renderer/components/pages/help/SettingsBox.tsx index 230bf5d7..b4ddd8aa 100644 --- a/src-gui/src/renderer/components/pages/help/SettingsBox.tsx +++ b/src-gui/src/renderer/components/pages/help/SettingsBox.tsx @@ -834,7 +834,7 @@ function RendezvousPointsSetting() { label="Add new rendezvous point" value={newPoint} onValidatedChange={setNewPoint} - placeholder="/dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE" + placeholder="/dns4/rendezvous.observer/tcp/8888/p2p/12D3KooWMjceGXrYuGuDMGrfmJxALnSDbK4km6s1i1sJEgDTgGQa" fullWidth isValid={isValidMultiAddressWithPeerId} variant="outlined" diff --git a/src-gui/src/renderer/rpc.ts b/src-gui/src/renderer/rpc.ts index 316cffa5..bed3db42 100644 --- a/src-gui/src/renderer/rpc.ts +++ b/src-gui/src/renderer/rpc.ts @@ -105,6 +105,7 @@ export const PRESET_RENDEZVOUS_POINTS = [ "/dns4/darkness.su/tcp/8888/p2p/12D3KooWFQAgVVS9t9UgL6v1sLprJVM7am5hFK7vy9iBCCoCBYmU", "/dns4/eigen.center/tcp/8888/p2p/12D3KooWS5RaYJt4ANKMH4zczGVhNcw5W214e2DDYXnjs5Mx5zAT", "/dns4/swapanarchy.cfd/tcp/8888/p2p/12D3KooWRtyVpmyvwzPYXuWyakFbRKhyXGrjhq6tP7RrBofpgQGp", + "/dns4/rendezvous.observer/tcp/8888/p2p/12D3KooWMjceGXrYuGuDMGrfmJxALnSDbK4km6s1i1sJEgDTgGQa", ]; export async function fetchSellersAtPresetRendezvousPoints() { diff --git a/src-gui/src/store/features/settingsSlice.ts b/src-gui/src/store/features/settingsSlice.ts index aeac5818..b391fd24 100644 --- a/src-gui/src/store/features/settingsSlice.ts +++ b/src-gui/src/store/features/settingsSlice.ts @@ -7,6 +7,9 @@ const DEFAULT_RENDEZVOUS_POINTS = [ "/dns4/discover.unstoppableswap.net/tcp/8888/p2p/12D3KooWA6cnqJpVnreBVnoro8midDL9Lpzmg8oJPoAGi7YYaamE", "/dns4/discover2.unstoppableswap.net/tcp/8888/p2p/12D3KooWGRvf7qVQDrNR5nfYD6rKrbgeTi9x8RrbdxbmsPvxL4mw", "/dns4/darkness.su/tcp/8888/p2p/12D3KooWFQAgVVS9t9UgL6v1sLprJVM7am5hFK7vy9iBCCoCBYmU", + "/dns4/eigen.center/tcp/8888/p2p/12D3KooWS5RaYJt4ANKMH4zczGVhNcw5W214e2DDYXnjs5Mx5zAT", + "/dns4/swapanarchy.cfd/tcp/8888/p2p/12D3KooWRtyVpmyvwzPYXuWyakFbRKhyXGrjhq6tP7RrBofpgQGp", + "/dns4/rendezvous.observer/tcp/8888/p2p/12D3KooWMjceGXrYuGuDMGrfmJxALnSDbK4km6s1i1sJEgDTgGQa", ]; export interface SettingsState { diff --git a/swap-env/src/defaults.rs b/swap-env/src/defaults.rs index 23ac005f..f40d8f0e 100644 --- a/swap-env/src/defaults.rs +++ b/swap-env/src/defaults.rs @@ -19,6 +19,7 @@ pub fn default_rendezvous_points() -> Vec { "/dns4/darkness.su/tcp/8888/p2p/12D3KooWFQAgVVS9t9UgL6v1sLprJVM7am5hFK7vy9iBCCoCBYmU".parse().unwrap(), "/dns4/eigen.center/tcp/8888/p2p/12D3KooWS5RaYJt4ANKMH4zczGVhNcw5W214e2DDYXnjs5Mx5zAT".parse().unwrap(), "/dns4/swapanarchy.cfd/tcp/8888/p2p/12D3KooWRtyVpmyvwzPYXuWyakFbRKhyXGrjhq6tP7RrBofpgQGp".parse().unwrap(), + "/dns4/rendezvous.observer/tcp/8888/p2p/12D3KooWMjceGXrYuGuDMGrfmJxALnSDbK4km6s1i1sJEgDTgGQa".parse().unwrap(), ] }