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

bitcoinj / bitcoinj / 1704
61%

Build:
DEFAULT BRANCH: master
Ran 12 Aug 2016 05:24PM UTC
Jobs 1
Files 209
Run time 10s
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

pending completion
1704

Pull #1281

travis-ci

web-flow
Bugfixes for signature verification with native secp256k1 library

Calling verify(byte[], ECDSASignature, byte[]) with the native secp256k1 library would fail on non-canonicalized (not low-S) signatures. The Java counterpart ECDSASigner.verifySignature() allows non-canonical signatures. When relaying and mining, non-canonical signatures are not allowed, but this is checked for in TransactionSignature.decodeFromBitcoin(). The fix is to canonicalize the signature.

Calling verify(byte[], byte[], byte[]) with the native secp256k1 library would ignore the FAKE_SIGNATURES flag. Since this method also needs to allow low-S signatures, it has been modified to instead chain to verify(byte[], ECDSASignature, byte[]).

To improve native performance, it would be best if the canonicalizing happened in the native library via secp256k1_ecdsa_signature_normalize(ctx, &sig, &sig). However, it would require an API change in both bitcoinj and secp256k1 because the expected behavior in secp256k1 is to fail non-normalized signatures (this is evident in their testing suite). The API change could be either a normalization flag passed to the verify method, or a new method (normalize a byte[] signature).
Pull Request #1281: Check if open transaction exists before inserting (Postgresql-specific)

248 of 248 new or added lines in 2 files covered. (100.0%)

15009 of 21015 relevant lines covered (71.42%)

0.71 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
65
100.0
core/src/main/java/org/bitcoinj/store/DatabaseFullPrunedBlockStore.java
99
100.0
core/src/main/java/org/bitcoinj/store/PostgresFullPrunedBlockStore.java

Uncovered Existing Lines

Lines Coverage ∆ File
2
100.0
core/src/main/java/org/bitcoinj/core/PeerGroup.java
4
100.0
core/src/main/java/org/bitcoinj/net/BlockingClient.java
7
100.0
core/src/main/java/org/bitcoinj/store/DatabaseFullPrunedBlockStore.java
7
100.0
core/src/main/java/org/bitcoinj/store/PostgresFullPrunedBlockStore.java
8
100.0
core/src/main/java/org/bitcoinj/core/PeerSocketHandler.java
36
100.0
core/src/main/java/org/bitcoinj/core/ECKey.java
Jobs
ID Job ID Ran Files Coverage
1 1704.1 12 Aug 2016 05:24PM UTC 0
71.42
Travis Job 1704.1
Source Files on build 1704
Detailed source file information is not available for this build.
  • Back to Repo
  • Travis Build #1704
  • Pull Request #1281
  • PR Base - master (#1696)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc