Skip to content

feat(gui): circuit connections - #1198

Merged
binarybaron merged 2 commits into
masterfrom
feat/gui-circuit-relay
Aug 28, 2026
Merged

feat(gui): circuit connections#1198
binarybaron merged 2 commits into
masterfrom
feat/gui-circuit-relay

Conversation

@binarybaron

Copy link
Copy Markdown

Summary

  • add the libp2p circuit relay client transport and behaviour to the GUI swarm
  • validate that relayed maker multiaddrs end with the destination peer ID
  • leave the ASB swarm and behaviour unchanged

A relayed maker address has the form <relay-address>/p2p/<relay-peer-id>/p2p-circuit/p2p/<maker-peer-id>.

Testing

  • cargo check --all-features
  • cargo check --tests
  • cargo check --all-targets
  • yarn test --run src/utils/parseUtils.test.ts
  • yarn tsc
  • yarn eslint src/utils/parseUtils.ts src/utils/parseUtils.test.ts
  • yarn build

The Docker happy_path test was started, but its native Monero dependency build had not completed when this PR was opened.

AI assistance: OpenAI Codex was used to help implement and test this change.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying eigenwallet-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: f498d46
Status:⚡️  Build in progress...

View logs

@binarybaron binarybaron changed the title Enable circuit relay connections for GUI feat(gui): circuit connections Aug 28, 2026
@binarybaron
binarybaron merged commit 0e17c7f into master Aug 28, 2026
59 of 77 checks passed

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit f498d46. Configure here.

Comment thread swap/src/network/swarm.rs
.with_other_transport(|_| transport)?
.with_behaviour(|_| behaviour)?
.with_relay_client(noise::Config::new, yamux::Config::default)?
.with_behaviour(|_, relay| build_behaviour(relay))?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Relay hop exhausts yamux stream limit

Medium Severity

Outbound circuit dials open a long-lived hop stream on the existing connection to the relay, which still uses the CLI transport’s yamux cap of MAX_NUM_STREAMS (5). That cap was sized for a couple of short-lived protocol streams, not one hop stream per relayed peer. Connecting to more than a few makers through the same relay, which is the usual public-relay layout, will fail stream opens and drop those dials.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit f498d46. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant