Skip to content

feat(monero): Pay with Monero Wallet fills its Send tab, where the wallet can - #342

Merged
corpetty merged 1 commit into
mainfrom
feat/xmr-wallet-prefill
Oct 23, 2026
Merged

corpetty merged 1 commit into
mainfrom
feat/xmr-wallet-prefill

Conversation

@corpetty

Copy link
Copy Markdown
Owner

The card's Pay with Monero Wallet asks Monero Wallet to fill its Send tab with the agreed address and amount, through monero.wallet.send. That intent is proposed upstream as logos-co/logos-monero-wallet-ui#11. The person checks both in the wallet and sends from there; Muster sends nothing.

Fallback. A wallet without that intent answers unavailable; the released Monero Wallet 0.1.1 is one. Muster then falls back to the path from #341:

  • the wallet is brought up on its own view (basecamp.apps.launch);
  • the card's steps say what to type;
  • the address is copied either way.

A refusal from the wallet itself (a view-only wallet, or a send already on screen) is shown as its own reason. ui/metadata.json declares monero.wallet.send in uses.

Tested

Not driven: Muster raising the intent from a Monero card, in either case (prefilled, or the fallback with the stock wallet). No recorded Monero room exists, and the runner bundles no Monero wallet. This is on the release check's list.

🤖 Generated with Claude Code

…llet can (exo-914)

The card's button asks Monero Wallet to fill its Send tab with the agreed address and
amount, through monero.wallet.send (logos-co/logos-monero-wallet-ui#11). The person
checks both there and sends; Muster sends nothing and approves nothing (ADR-018).

A wallet without that intent (Monero Wallet 0.1.1, the released one) answers
unavailable. Muster then falls back to #341's path: the wallet is brought up on its own
view (basecamp.apps.launch), and the card's steps say what to type. The address is
copied either way. A refusal from the wallet itself (a view-only wallet, a send already
on screen) is shown as its own reason. The card's steps say which happened:
"Monero Wallet's Send is filled in with <payee>'s address and N XMR" or the copy-and-
paste steps. ui/metadata.json declares monero.wallet.send in uses.

The wallet's side was driven in Basecamp 0.3.2 with the #11 build: the intent filled
Send with the address and amount, and waited for a wallet to open when none was.
Muster raising it from a Monero card has not been driven: no recorded Monero room
exists, and the runner bundles no Monero wallet. The release check covers it.

Tested-Behavior: ui-lint 0 new; gallery card-mark-received, card-status-split-agreed and flow-approve ok with 0 QML warnings; the wallet half in Basecamp 0.3.2 (logos-monero-wallet-ui#11): a monero.wallet.send request filled Send with the address and 0.0005, and refilled it with 0.0001; a 13-place amount refused

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Session-Id: 836705fe-fda9-501b-8ac2-1ce50b5af64a
@corpetty
corpetty merged commit cbadd92 into main Oct 23, 2026
Fergulati added a commit to Fergulati/muster that referenced this pull request Oct 24, 2026
Main moved three PRs past this branch's base 67701f8 (corpetty#341, corpetty#342, corpetty#343: Send money fixes,
Pay with Monero Wallet filling its Send tab, the pebbles for 0.3.3), which left PR 340
conflicting. The one conflict was ui/tests/gallery/FakeBackend.qml, which both sides had
regenerated with FileShare's props and slots; it is generated from ui/src/muster_ui.rep,
which main does not touch, so it is regenerated here (python3 ui/tools/gen-fake-backend.py)
and comes out byte-identical to this branch's. Main.qml, Room.qml, RoomThread.qml,
RoomComposer.qml, MusterCard.qml and CardProposal.qml merged on their own.

TDD-Exempt: a merge of main; the regenerated fake backend is checked by gen-fake-backend.py --check, and the merged QML by the gallery fixtures run after it.

Co-Authored-By: Claude Opus 5.5 <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.

1 participant