aboutsummaryrefslogtreecommitdiffstats
path: root/src/api.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-06-25 20:41:20 -0700
committerAdam Soltys <[email protected]>2026-06-25 20:41:20 -0700
commitaa044138337c947b26eea910db57f2d5b743b5b8 (patch)
tree0a0497e3cf6fc8198041d53913cc326ce86112c6 /src/api.js
parent1edb9ac5723f2d5fda5093437b2e375f98af3777 (diff)
downloadcoinosv3-aa044138337c947b26eea910db57f2d5b743b5b8.tar.gz
coinosv3-aa044138337c947b26eea910db57f2d5b743b5b8.zip
Add Silent Payments (BIP-352) sending
Pay sp1… addresses: the wallet derives the one-time taproot output from the recipient's address + the transaction's own input keys (ECDH), so payments are unlinkable on-chain with no interaction. New src/silentpay.js implements the sender derivation + bech32m address decode, validated against the official BIP-352 test vectors (all P2WPKH-input / single-recipient cases pass; the rest exercise input types Hal never spends). buildTx detects sp1… recipients, selects coins against a same-size placeholder taproot output, then swaps in the script derived from the final input set (updateOutput). Works for normal sends, multi-recipient, and send-max. The review screen shows the sp1… address with a 'Silent payment' label (the on-chain output is a derived one-time taproot address). End-to-end signing verified. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src/api.js')
0 files changed, 0 insertions, 0 deletions