• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

guggero / btcd
52%
master: 52%

Build:
Build:
LAST BUILD BRANCH: btcutil-js
DEFAULT BRANCH: master
Repo Added 12 Apr 2022 02:05PM UTC
Token LqMC78wwxge4t7A4Td6pTUDCsnI7JunFJ regen
Build 208 Last
Files 362
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH btcutil-js
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • base58-fix
  • bip-322
  • bip-322-oldmodules
  • bip-musig2-psbt
  • bitcoind-v30-error
  • btcec-fix
  • btcec-v2-no-circular-dep
  • btcutil-js
  • build-improvements
  • getnetworkinfo-warnings
  • gettxoutproof
  • gettxoutproof-block-dn
  • integration-harness-fixes
  • master
  • miniscript
  • miniscript-cache-wip
  • netsync-simnet-sync-candidate
  • pow-no-retargeting
  • psbt-export
  • psbt-improvements
  • psbt-serialization-fix
  • psbt-size-check
  • script-builder-alloc
  • silent-payments
  • silent-payments-receive
  • taproot-psbt
  • unit-tests
  • upgrade-v2-scripted-diff
  • v0-23-3-branch

19 Jul 2026 10:48AM UTC coverage: 52.315% (-0.1%) from 52.43%
29686067987

push

github

guggero
silentpayments: add batched filter candidate derivation

Scanning derives candidate output keys for every served transaction
tweak, so per-tweak overhead multiplies by hundreds of thousands over
a spam-heavy block range. TransactionOutputKeysForFilterBatch derives
the candidates of many tweaks in one call and exploits two batch-level
shortcuts the per-tweak variant cannot:

  - The output tweak t_0 depends only on the shared secret, not on the
    spend key, so its point is computed once per transaction and the
    per-address candidates become cheap point additions instead of
    full base multiplications.

  - All per-point affine conversions (one modular inversion each, both
    for the ECDH shared secrets and for the candidate keys) collapse
    into two inversions for the entire batch via Montgomery's trick.

Benchmarks show 1.4x faster candidate derivation per tweak (102us to
72us native, 177us to 126us in wasm, for the base+change address
pair); the remaining cost is ~90% the one irreducible ECDH scalar
multiplication per tweak. Equivalence with the per-tweak variant is
tested against random keys, all official vectors and the
point-at-infinity corner case.

36581 of 69925 relevant lines covered (52.31%)

354391.51 hits per line

Relevant lines Covered
Build:
Build:
69925 RELEVANT LINES 36581 COVERED LINES
354391.51 HITS PER LINE
Source Files on master
  • Tree
  • List 362
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
29686067987 btcutil-js silentpayments: add batched filter candidate derivation Scanning derives candidate output keys for every served transaction tweak, so per-tweak overhead multiplies by hundreds of thousands over a spam-heavy block range. TransactionOutputKeysForFi... push 19 Jul 2026 11:59AM UTC guggero github
52.31
29686072520 silent-payments-receive silentpayments: add batched filter candidate derivation Scanning derives candidate output keys for every served transaction tweak, so per-tweak overhead multiplies by hundreds of thousands over a spam-heavy block range. TransactionOutputKeysForFi... push 19 Jul 2026 11:59AM UTC guggero github
52.3
29683309761 silent-payments-receive silentpayments: add cross-implementation edge case tests Add test cases distilled from comparing this package against the BIP-0352 reference implementation, the secp256k1 silentpayments module and independent Go/Rust scanners: - Annex handling... push 19 Jul 2026 10:27AM UTC guggero github
52.18
29683270553 btcutil-js silentpayments: add cross-implementation edge case tests Add test cases distilled from comparing this package against the BIP-0352 reference implementation, the secp256k1 silentpayments module and independent Go/Rust scanners: - Annex handling... push 19 Jul 2026 10:26AM UTC guggero github
52.43
29577469424 btcutil-js silentpayments: add scan support [fixup] push 17 Jul 2026 11:40AM UTC guggero github
52.37
29572096385 silent-payments-receive silentpayments: add scan support This commit adds helper functions that can be used by clients (including light clients) to scan the chain for potential Silent Payment outputs. push 17 Jul 2026 10:05AM UTC guggero github
52.29
29572105130 silent-payments psbt: fix independent typo allowing duplicate xPubs Fixes an independent issue discovered while reviewing and testing the code that failed to detect duplicate xPubs because the wrong variable (keyData holding the nil value of the global unsigned ... push 17 Jul 2026 10:04AM UTC guggero github
52.17
29566485718 btcutil-js psbt: fix import push 17 Jul 2026 08:29AM UTC guggero github
52.43
29562600744 master Merge pull request #2567 from starius/psbt-trailing2 psbt: reject trailing final witness data push 17 Jul 2026 07:19AM UTC web-flow github
52.09
29329796980 silent-payments-receive silentpayments: add scan support This commit adds helper functions that can be used by clients (including light clients) to scan the chain for potential Silent Payment outputs. push 14 Jul 2026 11:44AM UTC guggero github
52.02
See All Builds (189)

Badge your Repo: btcd

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc