Repository navigation
feat(exo-408): Settings shows the Bitcoin address a split's share is paid from (revives #289) - #330
Merged
Merged
Conversation
…paid from Item 12 of exo-408. A Bitcoin split's debtor pays from wpkh(<their muster key>), coins from their own node, but no screen showed that address, only the key. payerAddresses (bitcoin/script) gives wpkh of the key on every network; identity() and settings() return it as btcPayers; Settings lists one address per bech32 prefix, naming the networks that share it, with Copy. identity()'s contract description, stale since the two-identity model, now names what it returns. Tested-Behavior: btc_payer_address_test 1-2 (BIP-173's mainnet and testnet vectors for the generator key; one row per network with its chain and prefix); Bitcoin tests 8/8; nim check of muster_module.nim clean; ui-lint 0 findings Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Session-Id: 4184ac11-a506-5256-a1c3-4f1e988410ce
Recorded from scripts/split-self-test.sh on a runner built with the change; the fixture asserts the payer rows are visible. Tested-Behavior: gallery settings-btc-payer (settingsBtcPayer visible, 0 QML warnings); settings fixture unchanged Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Session-Id: 4184ac11-a506-5256-a1c3-4f1e988410ce
TDD-Exempt: issue tracker only. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Session-Id: dae9f1e7-9a60-57e2-8d29-9afc3c6527d1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Revives #289 by rebasing it onto current main. The only conflict was
Settings.qml, where main had reorganized the identity section: the Bitcoin key row was already there, one level deeper. I kept main's layout and inserted only this PR's new block (the payer-address rows) after the key row, re-indented to match. Also carries a pebbles note (exo-80b) for #321.Re-tested on main (2026-10-17):
btc_payer_address_testwith BIP-173 vectors;.lgxpackages build;ui-linthas only the 2 baseline-new findings already on main;bc1q…, testnet · testnet4 · signettb1q…, regtestbcrt1q….Original description:
Item 12 of exo-408. A Bitcoin split's debtor pays from
wpkh(<their muster key>), with coins from their own node, but no screen showed that address, only the key.payerAddresses(bitcoin/script) gives wpkh of the key on every network, pinned to BIP-173's own vectors.identity()andsettings()return it asbtcPayers: [{network, chain, address}].tb1…), each with Copy.identity()'s contract description, stale since the two-identity model, now names what it returns.Tests:
btc_payer_address_test: the BIP-173 mainnet and testnet vectors, and one row per network with its own chain and prefix.nim checkof the hosted module is clean, andui-linthas no findings.settings-btc-payer, was recorded fromscripts/split-self-test.shon a runner built with this change and asserts the rows are visible.🤖 Generated with Claude Code