• 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: btcutil-js
CHANGE BRANCH
x
Reset
Sync Branches
  • btcutil-js
  • base58-fix
  • bip-322
  • bip-322-oldmodules
  • bip-musig2-psbt
  • bitcoind-v30-error
  • btcec-fix
  • btcec-v2-no-circular-dep
  • 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 btcutil-js
  • 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
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
29566485718 btcutil-js psbt: fix import push 17 Jul 2026 08:29AM UTC guggero github
52.43
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