feat(gui): Change Monero node while running#502
Conversation
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. Caution Review failedThe pull request is closed. WalkthroughAdds runtime Monero node switching (GUI → Tauri → backend → wallet), exposes pool server info, makes wallet daemon SSL-aware via FFI, wraps daemon in Arc for atomic updates, and adds a monero_seed RPC/CLI to export wallet seed and restore height. Changes
Sequence Diagram(s)sequenceDiagram
participant GUI
participant Tauri
participant CLI_API as Context
participant Wallets
participant MoneroFFI as Monero FFI
GUI->>Tauri: change_monero_node(nodeConfig)
Tauri->>CLI_API: ChangeMoneroNodeArgs
CLI_API->>Wallets: change_monero_node(Daemon{address, ssl})
Wallets->>Wallets: write lock daemon = new
Wallets->>MoneroFFI: setWalletDaemon(address, ssl)
MoneroFFI-->>Wallets: Result
Wallets-->>CLI_API: Ok
CLI_API-->>Tauri: { success: true }
Tauri-->>GUI: resolved
sequenceDiagram
participant Shell as Controller CLI
participant ASBClient as AsbApiClient
participant ASBServer as ASB RPC Server
participant Wallet as Monero Wallet
Shell->>ASBClient: monero_seed()
ASBClient->>ASBServer: JSON-RPC monero_seed
ASBServer->>Wallet: seed(), get_restore_height()
Wallet-->>ASBServer: {seed, restore_height}
ASBServer-->>ASBClient: MoneroSeedResponse
ASBClient-->>Shell: print seed and restore height
sequenceDiagram
participant Pool as monero-rpc-pool
participant Listener as TCP Listener
participant Handle as PoolHandle
Pool->>Listener: bind 0.0.0.0:0
Listener-->>Pool: local_addr() -> actual_port
Pool->>Handle: update server_info{host, actual_port}
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Possibly related PRs
Suggested reviewers
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (15)
✨ Finishing Touches
🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
|
bugbot run |
02bb2bb to
d5046ef
Compare
|
bugbot run |
Summary by CodeRabbit