Andreas Schildbach
142efee42f
AbstractBitcoinNetParams: Rename parameter of isRewardHalvingPoint() and isDifficultyTransitionPoint() to make unexpected API more obvious.
2020-05-12 11:43:39 +02:00
Andreas Schildbach
fa16458c2f
build.gradle: Update OkHttp to 3.12.11.
2020-05-09 22:54:55 +02:00
Bartosz Milczarek
f76e13c495
HDKeyDerivation: Fix incorrect HDPath for private key created by createMasterPrivateKey().
...
This also removes the static contructor variant with a path. Master private keys always have the same path.
2020-05-03 20:28:41 +02:00
Andreas Schildbach
e218cbb3f2
ChildKeyDerivationTest: Remove commented-out test for child numbers marger than max int.
2020-05-03 20:26:55 +02:00
Sean Gilligan
86bdc1d119
README.md: Add GitHub Actions and Travis CI badges
...
Badges? We got your stinkin’ badges!
2020-04-27 00:44:42 +02:00
Sean Gilligan
7c30810ae9
gradle.yml: Add JDK 14 to GitHub Actions build matrix.
2020-04-25 12:05:24 +02:00
Sean Gilligan
d61880b52e
gradle.yml: Disable windows-latest
as a workaround for the build failures.
2020-04-25 12:00:29 +02:00
Sean Gilligan
b4d3372198
build.gradle: Update ZXing (only in wallettemplate) to 3.4.0.
...
Release notes:
https://github.com/zxing/zxing/releases/tag/zxing-3.4.0
2020-04-23 08:54:29 +02:00
Sean Gilligan
0d3a767cd4
build.gradle: Update JavaFX to 14.0.1.
...
This is a bug fix release:
https://github.com/openjdk/jfx/blob/jfx14/doc-files/release-notes-14.0.1.md#release-notes-for-javafx-1401
2020-04-23 08:51:08 +02:00
Sean Gilligan
8dbe23c9db
build.gradle: Properly declare API dependencies in bitcoinj-core
...
Properly declare Bouncy Castle, protobuf-java, and OkHttp as Gradle `api`
dependencies.
2020-04-23 00:07:38 +02:00
Mike Mancini
f48a8e1eff
PostgresFullPrunedBlockStore: Enquote 'index' column name to make it compatible with CockroachDB.
2020-04-16 17:33:01 +02:00
Andreas Schildbach
1ce45ef679
Update Guava to 29.0-android.
2020-04-16 17:28:30 +02:00
Andreas Schildbach
f925c6313c
Update BouncyCastle to 1.65.
2020-04-13 10:23:54 +02:00
Andreas Schildbach
80cd521cc3
PeerGroup: Increase precision of download speed calculation by a bit.
2020-04-08 18:24:01 +02:00
Sean Gilligan
47a2335a73
Update JavaFX to 14, JavaFX Plugin to 0.0.8.
2020-03-19 10:59:08 +01:00
Andreas Schildbach
1bfd5a5b60
Wallet: Demote log level of script cannot be parsed in markKeysAsUsed().
2020-03-13 21:17:11 +01:00
Andreas Schildbach
67034e68aa
Transaction: Fix missing newline in toString().
2020-03-13 21:11:20 +01:00
Andreas Schildbach
8018cb2786
Transaction: In toString() print outputs of coinbase.
2020-03-13 21:10:40 +01:00
Andreas Schildbach
0b7bdff6de
Script: Make a ScriptException message more elaborate.
2020-03-13 18:40:05 +01:00
John L. Jegutanis
c6a096678d
Transaction: Make zero inputs/outputs transactions parsable.
...
Switch to the bitcoin core reference segwit parsing algorithm because
some no-segwit transactions with no inputs are incorrectly parsed as
segwit.
This change is to be 100% compatible with the reference implementation
and to be compatible with the PSBT implementation.
2020-03-13 09:44:41 +01:00
Sean Gilligan
c53b0382a2
build.gradle: Update Protobuf Plugin for Gradle to 0.8.10.
...
The current latest version is 0.8.12, but version 0.8.11
and later require Gradle 5.6 or later which will change our
build requirements and documentation.
See:
https://github.com/google/protobuf-gradle-plugin/releases/tag/v0.8.11
2020-03-12 01:07:59 +01:00
Sean Gilligan
33a1c949b0
Rename .github/workflow to .github/workflows
...
This should fix GitHub Actions.
2020-03-12 00:34:54 +01:00
Sean Gilligan
0aef9836db
build.gradle: Add 'application' plugin to tools subproject.
...
* Enable and configure Gradle application plugin
* Add wallet-tool instructions in project README.md
2020-03-12 00:25:19 +01:00
Craig Raw
bc46e8518d
Transaction: Use VarInt not opcode for script length in hashForWitnessSignature().
2020-03-08 22:43:56 +01:00
Andreas Schildbach
049c2f177d
PeerGroup: Add a method for gracefully dropping all connected peers.
2020-03-08 00:20:01 +01:00
Andreas Schildbach
b86f3e70ae
PeerGroup: Only drop peers after broadcast if the transaction has no broadcast confirmations.
...
Otherwise, peers might be continuously dropped when transactions are re-sent.
2020-03-08 00:20:01 +01:00
Andreas Schildbach
a4f241ef29
TransactionBroadcast: Don't complete the broadcast future early in the single peer case.
...
If you want to rely on the future it's better to drop peers after broadcast.
2020-03-08 00:20:01 +01:00
Andreas Schildbach
a867a80b76
TransactionBroadcast: Add a short delay before broadcast peers are dropped.
2020-03-08 00:19:07 +01:00
Andreas Schildbach
2054f22c85
.travis.yml: Use Ubuntu Bionic image for building.
2020-03-06 23:03:30 +01:00
Andreas Schildbach
3bab49d4b1
PeerGroup: Introduce a priority for connecting and being picked as a download peer.
2020-03-05 10:24:33 +01:00
Andreas Schildbach
70559a3140
DnsDiscovery: Implement service bit filtering.
2020-03-05 01:14:06 +01:00
Andreas Schildbach
7d9f109ee1
Peer: Deprecate a redundant constructor.
2020-03-04 17:34:11 +01:00
Andreas Schildbach
57f53f038c
Peer: Prevent connecting to remote peers if required services are not supported.
2020-03-04 17:34:11 +01:00
Andreas Schildbach
c967fda4d6
HttpDiscovery: Improve logging in getPeers().
2020-03-04 15:53:45 +01:00
Andreas Schildbach
e8adb94a95
VersionMessage: In toString(), print services in textual form too.
2020-03-04 15:18:53 +01:00
Andreas Schildbach
b4bd43d428
VersionMessage: Move toStringServices() from Peer to here.
2020-03-04 15:14:03 +01:00
Andreas Schildbach
16fda8ffcb
TestNet3Params: Add testnet.httpseed.bitcoin.schildbach.de HTTP seed.
2020-03-04 14:47:04 +01:00
Andreas Schildbach
06bd0a841e
PeerDiscovery: Change getPeers() return type from array to list.
...
This gets rid of a lot of array/list conversions.
2020-03-04 12:35:02 +01:00
Andreas Schildbach
a165fb1834
MultiplexingDiscovery: Allow serially queried seeds, too.
2020-03-04 11:49:11 +01:00
Andreas Schildbach
4e41a51657
MultiplexingDiscovery: Make shuffling of queried peers optional.
2020-03-04 11:26:07 +01:00
Sean Gilligan
e4c6b98536
Make Guava an api
dependency using java-library
...
Use the Gradle java-library plugin to make Guava an `api`
dependency since Guava types are used in the bitcoinj public API.
This allows us to remove explicit dependencies on
Guava in the other modules.
2020-02-29 15:28:09 -08:00
Sean Gilligan
5ade97b5b3
build.gradle: Make the 'core' submodule use the 'java-library' plugin, rather than 'java'.
2020-02-29 21:01:13 +01:00
Andreas Schildbach
65c1b8ca25
DefaultCoinSelector: Require only one broadcast confirmation when spending our own change.
...
This will improve the user experience when connected to only one peer (e.g. a trusted peer).
2020-02-28 15:59:37 +01:00
Andreas Schildbach
fb2d983b54
PeerGroup, TransactionBroadcast: Drop any peer a transaction has been broadcast to.
...
These peers will not send us back useful broadcast confirmations.
2020-02-28 15:59:37 +01:00
Andreas Schildbach
afb376fc07
MessageWriteTarget: Return a future from writeBytes() that completes when all bytes have been written to the OS network buffer.
2020-02-28 15:59:37 +01:00
Andreas Schildbach
0a085fde6d
Peer: If a bloom filter is set on a peer that doesn't support filtering, disconnect.
2020-02-27 23:32:50 +01:00
Andreas Schildbach
95e08ef86c
PeerGroup: Require SegWit protocol and service when selecting a download peer.
...
Those nodes are extremely common now.
2020-02-27 23:32:50 +01:00
Andreas Schildbach
8d983649d3
PeerGroup: Don't immediately select a download peer in startBlockChainDownload(). Wait for enough peers to be connected.
2020-02-27 23:13:26 +01:00
Andreas Schildbach
98f8c42140
TestWithPeerGroup: Time out this group of tests after 10 seconds.
2020-02-27 23:11:28 +01:00
John L. Jegutanis
1991d8a882
MessageSerializer: Move protocolVersion from Message to here.
...
This change moves protocolVersion from Message to MessageSerializer.
The main reason is to support parsing transactions as non-segwit.
This is impossible to do otherwise, as MessageSerializer#makeTransaction()
does not accept a protocolVersion parameter.
Additionally this change makes the MessageSerializer similar to the
Stream in Bitcoin Core, where the protocol version can be modified.
2020-02-16 18:03:10 +01:00