aboutsummaryrefslogtreecommitdiffstats
path: root/src/format.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2026-06-27 14:34:59 -0700
committerAdam Soltys <[email protected]>2026-06-27 14:34:59 -0700
commit6c817756c5cca849864119405be9fa3f9e968057 (patch)
tree0ceec5f40a6090bba0b54e54dba9641aecb9eec9 /src/format.js
parent342987a97dfa031e43e370b593bc9b57012dcc71 (diff)
downloadcoinosv3-6c817756c5cca849864119405be9fa3f9e968057.tar.gz
coinosv3-6c817756c5cca849864119405be9fa3f9e968057.zip
Add BIP-352 receiving crypto (scan, tweak, keys, address)
silentpay.js gains the receiving half of silent payments, validated against all official BIP-352 vectors (29/29 receiving sub-cases): - inputPubKey(): recover the eligible input pubkey from P2PKH/P2WPKH/P2SH-P2WPKH/ P2TR inputs (skips uncompressed keys, excludes NUMS script-path, hash160-matches malleated P2PKH scriptSigs) - silentPaymentTweak(): the oracle tweak input_hash*A (sum over eligible inputs, input hash over all outpoints, point-at-infinity guarded) — used by the indexer - silentPaymentScan(): ecdh = scan_priv*tweak, derive P_k = B_spend + t_k*G, match the tx's taproot outputs, return per-output spend tweaks - silentPaymentOutputPrivKey(), deriveSilentPaymentKeys() (m/352' paths), encodeSilentPaymentAddress() Labels not yet implemented (wallet uses a single no-label address). Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src/format.js')
0 files changed, 0 insertions, 0 deletions