mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-10 00:16:59 +00:00
Lightning payment targets already route into the Send Payment screen; this extends the same treatment to bitcoin targets. Tapping a profile's bitcoin payment-target chip (or its pay action in the wallet-button dialog) now opens the Send Payment screen with the on-chain rail locked to that announced address, paid directly from the user's NIP-BC Taproot wallet — falling back to the external bitcoin: URI when the chain backend is missing or the address isn't a payable native-segwit mainnet address. - quartz: SegwitAddress.scriptPubKeyFor/isPayableMainnetAddress; OnchainZapBuilder.buildToScripts core shared by the pubkey paths. - commons: OnchainZapSender.sendToAddress — plain wallet send with the same fund-safety signing contract but no kind:8333 receipt (the destination isn't pubkey-derived, so none is possible); the signing block is now a single shared helper across send/sendSplit/sendToAddress and Success.receiptEventId is nullable for receipt-less sends. - amethyst: Account.sendOnchainToAddress; Route.SendPayment gains btcAddressOverride; a shared inAppPaymentRouteFor() decides which payment targets the user's wallets can pay in-app (used by both the target chips and the payment-targets dialog). - Send Payment screen: with an address override the on-chain rail shows the target address, hides the message field (no receipt to carry it), explains that no zap receipt is published, and dispatches the plain address send. https://claude.ai/code/session_01UERRsbDoRPz46Qx5HCXgAa