A decentralized bitcoin exchange network
Go to file
Steven Barclay 0bec4824bf
Fix broken low-R signing with a password encrypted wallet
Prevent 'KeyIsEncryptedException' from being thrown when signing with a
'LowRSigningKey'-wrapped, encrypted HD key, due to breakage of the
apparent invariant that the 'keyCrypter' field of 'ECKey' should be null
whenever the key isn't encrypted.

When signing with a wrapped, encrypted HD key, the original key is
decrypted and then re-wrapped as a 'LowRSigningKey' instance. This was
blindly copying the 'keyCrypter' property of the decrypted key. But
'DeterministicKey::getKeyCrypter' returns non-null if its parent does,
even if the actual field is null, and the decrypted HD key has the same
parent as the encrypted original. Thus, blindly copying the property
(rather than the field) breaks the above invariant.

Fixes issue #7241 with blind voting, caused by the earlier PR #7238
which introduced low-R nonce grinding.
2024-09-13 08:59:49 +08:00
.github build(deps): bump actions/setup-java from 4.2.1 to 4.2.2 2024-08-05 14:43:07 +00:00
.idea Enforce Official Kotlin Codestyle 2023-09-10 18:30:06 +02:00
apitest Tidy logback files & add space back to log pattern 2024-05-02 01:56:32 +02:00
assets Move hamcrest dependency definition to bisq.java-conventions 2023-05-08 17:51:05 +10:00
btcnodemonitor Improve btc monitor 2024-07-05 16:11:25 +07:00
build-logic Add missing isBmFullNode parameter 2024-09-06 12:59:22 +07:00
cli Tidy logback files & add space back to log pattern 2024-05-02 01:56:32 +02:00
code-coverage-report Create standalone code coverage aggregation module 2023-07-06 17:52:54 +02:00
common Merge pull request #7196 from HenrikJannsen/Avoid-color-artefacts-at-antialias 2024-07-19 00:17:42 +00:00
core Fix broken low-R signing with a password encrypted wallet 2024-09-13 08:59:49 +08:00
daemon Optimise/simplify some stream filtering for the REST API 2024-07-28 22:05:29 +02:00
desktop Use LowRSigningKey elsewhere ECKeys are used for signing 2024-09-04 23:46:22 +08:00
docs Add missing isBmFullNode parameter 2024-09-06 12:59:22 +07:00
gradle Add dependency to bitcoinj 2024-07-21 15:16:26 +07:00
inventory Remove emzy seednodes from inventory monitor 2024-07-01 10:20:14 +07:00
p2p Dont log bridges if empty 2024-07-05 16:11:14 +07:00
persistence persistence: Implement RollingBackups 2024-02-26 08:39:21 +01:00
platform Declare global protobuf-java in Java Platform Plugin 2023-07-06 18:18:59 +02:00
proto Add uid to Filter 2024-06-12 00:06:43 +00:00
regtest Create regtest-mempool docker-compose 2023-12-30 07:56:42 +01:00
restapi Optimise/simplify some stream filtering for the REST API 2024-07-28 22:05:29 +02:00
scripts seednode: Install openjdk-11-jdk from OS repository 2023-10-31 16:52:15 +01:00
seednode Add missing isBmFullNode parameter 2024-09-06 12:59:22 +07:00
statsnode Move duplicated code to super class 2024-06-28 21:41:41 +07:00
.editorconfig Do not strip trailing whitespace in Git diffs 2020-01-10 19:48:26 +01:00
.gitattributes Not use git lfs anymore 2022-09-15 09:21:37 +02:00
.gitignore Add restapi module (code from dao-node) 2024-06-07 22:53:32 +07:00
.travis.yml Not use git lfs anymore 2022-09-15 09:21:37 +02:00
Bisq1_icon.svg Add project icon (can be used in Intellij for the project) 2023-12-10 11:23:19 +07:00
build.gradle Implement startBitcoindRegtest Gradle Task 2023-09-11 16:55:11 +02:00
CODEOWNERS Remove @cbeams as build and pricenode code owner 2020-06-28 11:23:36 +02:00
CONTRIBUTING.md Remove references to keybase and switch to Matrix 2022-02-02 16:57:06 +01:00
gradle.properties Enforce Gradle Dependency Verification 2022-12-06 21:21:39 +02:00
gradlew Update to Gradle 7.6.3 2023-10-17 00:25:21 +02:00
gradlew.bat Update to Gradle 7.6.3 2023-10-17 00:25:21 +02:00
LICENSE add basic wallet, update nav buttons, move unused img 2014-04-24 16:55:55 +02:00
Makefile Add missing isBmFullNode parameter 2024-09-06 12:59:22 +07:00
pull_request_template.md Added a Pull Request template 2019-11-27 13:46:54 +01:00
README.md Replace Travis build icon with the Github Actions svg 2022-04-12 17:57:12 +02:00
settings.gradle Add btxnodemonitor module 2024-06-10 20:29:57 +07:00

Actions Status

What is Bisq?

Bisq is a safe, private and decentralized way to exchange bitcoin for national currencies and other digital assets. Bisq uses peer-to-peer networking and multi-signature escrow to facilitate trading without a third party. Bisq is non-custodial and incorporates a human arbitration system to resolve disputes.

To learn more, see the doc and video at https://bisq.network/intro.

Get started using Bisq

Follow the step-by-step instructions at https://bisq.network/get-started.

Contribute to Bisq

See CONTRIBUTING.md and the developer docs.