Skip to content

Full Silent Payment Implementation#145

Open
notTanveer wants to merge 8 commits into
diybitcoinhardware:masterfrom
notTanveer:feat/silent-payments-V2
Open

Full Silent Payment Implementation#145
notTanveer wants to merge 8 commits into
diybitcoinhardware:masterfrom
notTanveer:feat/silent-payments-V2

Conversation

@notTanveer

@notTanveer notTanveer commented Jul 9, 2026

Copy link
Copy Markdown

This PR contains the complete Silent Payments implementation with a clean, linear commit history to make the review process easier.. covers PRs #64, #87, #95, #96, #125, #126, #130, #133,

also includes a number of fixes by @odudex , squashed into their corresponding feat: commits to make the review process easier.

@notTanveer
notTanveer requested review from miketlk and odudex as code owners July 9, 2026 14:17
@notTanveer notTanveer changed the title Feat/silent payments v2 [FEAT] Full Silent Payment Implementation Jul 9, 2026
@notTanveer notTanveer changed the title [FEAT] Full Silent Payment Implementation Full Silent Payment Implementation Jul 9, 2026
@odudex

odudex commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

It's great to make it more digestible for review!
One detail, I spent some days rebasing scattered PRs and did tens of bugfixes. None of this work is present in this PR?

@notTanveer
notTanveer force-pushed the feat/silent-payments-V2 branch from 08a5d40 to 2d1da69 Compare July 13, 2026 14:34
@notTanveer

notTanveer commented Jul 13, 2026

Copy link
Copy Markdown
Author

One detail, I spent some days rebasing scattered PRs and did tens of bugfixes. None of this work is present in this PR?

I did include all of your fixes. a few might have been dropped during the cleanup since I removed a number of functions we no longer needed and moved helper functions that were only used by tests into their respective test files. if you notice anything specific that's missing, let me know and I'll take another look.

(i squashed the fix: commits into the corresponding `feat' commit)

- replaced None with error messages.
- made Bech32DecodeError an EmbitError.
- Subclass EmbitError so existing except EmbitError callers still catch
  malformed-address errors (e.g. script.address_to_scriptpubkey).
- Restore the BIP-141 2-40 byte witness program limit in decode() and
  drop the sp/tsp special-casing; SP addresses are not witness programs.
- Replace the 118 length cap with BIP-352's recommended 1023 so valid
  higher-version silent payment addresses decode; cite BIP-173/BIP-352.
@notTanveer
notTanveer force-pushed the feat/silent-payments-V2 branch from 043a824 to 3105a96 Compare July 13, 2026 20:40
Comment thread src/embit/silent_payments/psbt.py Fixed
Comment thread src/embit/silent_payments/psbt.py Fixed
Comment thread src/embit/silent_payments/psbt.py Fixed
Comment thread src/embit/silent_payments/psbt.py Fixed
Comment thread src/embit/silent_payments/psbt.py Fixed
Comment thread src/embit/silent_payments/signing.py Fixed
Comment thread src/embit/psbt.py Fixed
Comment thread src/embit/psbt.py
if not fingerprint and hasattr(root, "my_fingerprint"):
fingerprint = root.my_fingerprint
return fingerprint, True, root

Comment thread src/embit/silent_payments/signing.py Fixed
Comment thread src/embit/silent_payments/sp.py Fixed
notTanveer and others added 3 commits July 14, 2026 22:39
Co-authored-by: odudex <5049478+odudex@users.noreply.github.com>
Co-authored-by: odudex <5049478+odudex@users.noreply.github.com>
Co-authored-by: odudex <5049478+odudex@users.noreply.github.com>
@notTanveer
notTanveer force-pushed the feat/silent-payments-V2 branch from 3105a96 to c9f4918 Compare July 14, 2026 17:10



class SilentPaymentsPSBT(PSBT):
notTanveer and others added 2 commits July 14, 2026 23:22
Co-authored-by: odudex <5049478+odudex@users.noreply.github.com>
Co-authored-by: odudex <5049478+odudex@users.noreply.github.com>
@notTanveer
notTanveer force-pushed the feat/silent-payments-V2 branch from c9f4918 to f20926b Compare July 14, 2026 17:52
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.

5 participants