Skip to content

feat(exo-408): Settings shows the Bitcoin address a split's share is paid from - #289

Closed
corpetty wants to merge 2 commits into
mainfrom
feat/btc-payer-address
Closed

corpetty wants to merge 2 commits into
mainfrom
feat/btc-payer-address

Conversation

@corpetty

Copy link
Copy Markdown
Owner

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() and settings() return it as btcPayers: [{network, chain, address}].
  • Settings lists one address per bech32 prefix, naming the networks that share it (testnet, testnet4 and signet all use 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.
  • The Bitcoin tests pass (8/8).
  • nim check of the hosted module is clean, and ui-lint has no findings.
  • A new gallery fixture, settings-btc-payer, was recorded from scripts/split-self-test.sh on a runner built with this change and asserts the rows are visible.

🤖 Generated with Claude Code

…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
corpetty added a commit that referenced this pull request Oct 17, 2026
feat(exo-408): Settings shows the Bitcoin address a split's share is paid from (revives #289)
@corpetty

Copy link
Copy Markdown
Owner Author

Superseded by #330, the same commits rebased onto main (Settings.qml resolved into main's layout), re-tested on display and merged.


Generated by Claude Code

@corpetty corpetty closed this Oct 17, 2026
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