Skip to content

feat: wormhole#944

Draft
binarybaron wants to merge 13 commits intomasterfrom
feat/personal-hidden-service
Draft

feat: wormhole#944
binarybaron wants to merge 13 commits intomasterfrom
feat/personal-hidden-service

Conversation

@binarybaron
Copy link
Copy Markdown

@binarybaron binarybaron commented Apr 2, 2026

Closes #913.

@binarybaron binarybaron changed the title feat/personal hidden service feat(asb): personal hidden service Apr 2, 2026
@binarybaron binarybaron force-pushed the feat/personal-hidden-service branch from 446758c to 9d0734a Compare April 2, 2026 21:05
@binarybaron binarybaron changed the title feat(asb): personal hidden service feat: wormhole Apr 2, 2026
binarybaron and others added 11 commits April 2, 2026 23:12
…config

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move the peer trust query out of the Database trait into a dedicated
PeerTrust trait owned by the wormhole module. open_db now returns
Arc<SqliteDatabase> so callers can coerce to either trait object.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Alice wraps request-response internally and pushes the wormhole address
to every connected peer. Bob's behaviour receives it, persists via
WormholeStore trait, and provides the address via
handle_pending_outbound_connection.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Replace tokio::spawn with polled futures in both behaviours
- Remove nickname from ServiceRequest, derive in transport
- Bob ignores active flag in memory, just stores and provides address

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Rename behaviour.rs → alice.rs
- Add BackoffTracker for failed pushes
- Track inflight requests via OutboundRequestId
- Track last successfully sent state per peer to avoid redundant pushes
- Use to_dispatch queue with connected-peer filtering (quotes pattern)
- Re-schedule push on failure with exponential backoff

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Pushes now flow through: pending (FuturesHashSet with backoff sleep)
→ to_dispatch (ready queue) → dispatch to connected peers.

Immediate pushes on new connection or state change, backoff on failure.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

ASB: Custom onion service for honest peers

1 participant