Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Permit listening to version messages #35

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
665 commits
Select commit Hold shift + click to select a range
0bd65ea
If possible, use generic type inference for constructing objects.
Feb 14, 2019
34e8bc2
build.gradle: Configure Eclipse plugin.
Feb 14, 2019
b5517a1
Update protobuf-gradle-plugin to 0.8.6.
Feb 14, 2019
f24a4aa
Update Guava to 27.0.1-android.
Feb 14, 2019
d4da021
Update OkHttp to 3.12.1.
Feb 14, 2019
225941d
Update protobuf-java to 3.6.1.
Feb 14, 2019
08bb331
Update jopt-simple to 5.0.4.
Feb 14, 2019
3dbc7ec
Wallet: In maybeRotateKeys(), fix logic to find out the preferred scr…
Feb 14, 2019
18e79b5
DeterministicKeyChain: Implement toString().
Feb 14, 2019
aec74e3
SPVBlockStoreTest: Fix missing close().
Feb 15, 2019
fc3d86b
Update AUTHORS from git.
Feb 14, 2019
4fb0e6e
.travis.yml: Bring up to date.
Feb 15, 2019
66d54c1
build.gradle: Print failed tests a bit more detailed.
oscarguindzberg Feb 15, 2019
4de860a
Wallet: Add back deprecated variants of isDeterministicUpgradeRequire…
Feb 16, 2019
f11667f
Wallet: Add back deprecated variant of isPubKeyHashMine() for compati…
Feb 16, 2019
d6513a3
Wallet: Add back deprecated findKeyFromPubHash() for compatibility.
Feb 16, 2019
1852ba7
TransactionTest: Add a couple of asserts for transaction size.
Feb 17, 2019
8910cd7
GetDataMessage: Support fetching of blocks with witnesses.
Feb 17, 2019
b303490
Block: In toString(), print newline between transactions.
Feb 17, 2019
30297af
Wallet: Add an assert calculateFee().
Feb 17, 2019
0317c19
Script: Fix getNumberOfBytesRequiredToSpend() for P2WPKH.
Feb 17, 2019
214e835
Transaction: In toString(), move purpose up.
Feb 17, 2019
23e6862
Wallet: Fix a reference in JavaDoc.
Feb 17, 2019
f94f8cd
Migrate usage of deprecated Transaction.getHash() to getTxId().
Feb 17, 2019
d7b2bea
Wallet: Fix getIssuedReceiveKeys() and getIssuedReceiveAddresses() to…
Feb 17, 2019
e68a24e
KeyChainGroup: Fix currentKey() and currentAddress() still vends old …
Feb 18, 2019
ff76b50
Transaction: Fix hashForSignature() by making sure no witnesses get i…
Feb 18, 2019
4af38b8
Transaction: Rename hashForSignatureWitness() to hashForWitnessSignat…
Feb 19, 2019
d7d6c3d
Wallet-tool: Allow comma, semicolon and double colon as separator for…
Feb 19, 2019
2502847
DeterministicKeyChain: In toString(), print lookahead size and thresh…
Feb 19, 2019
09d5d33
DeterministicKeyChain: Change return type of getKeys() and getIssuedR…
Feb 19, 2019
4baeeaf
DeterministicKey, ECKey: In toString(), add a comment so that the rol…
Feb 19, 2019
246fc5a
Wallet: In toString(), add a flag for including the lookahead keys in…
Feb 19, 2019
883ea24
WalletTest: Add test for roundtripping a wallet via its mnemonic code.
Feb 19, 2019
fa3a5b4
WalletAppKit: Fix wallet isn't moved out of the way on restore, preve…
Feb 19, 2019
e795ecb
WalletAppKit: Fix when restoring from seed, the fallback chain isn't …
Feb 19, 2019
23b4e31
PeerGroup: Fix ChainDownloadSpeedCalculator falsely detects end of sy…
Feb 19, 2019
b4891eb
PeerGroup: Improve logging in ChainDownloadSpeedCalculator.
Feb 20, 2019
ef6a214
PeerGroup: Lower stall download speed requirement from 20 to 10 block…
Feb 20, 2019
74e3c33
Remove deprecated BlockChainListener.
Feb 20, 2019
eaf7955
Remove deprecated PeerConnectionEventListener.
Feb 20, 2019
f74d155
Remove deprecated AbstractPeerEventListener and NativePeerEventListener.
Feb 20, 2019
53bd04e
WalletAppKit: Always use provideBlockStore() to simplify using a diff…
oscarguindzberg Feb 15, 2019
029d096
Sha256Hash: Remove deprecated methods.
Feb 21, 2019
0004ea4
ScriptPattern: Get rid of redundant BaseEncoding instance.
Feb 21, 2019
5749e37
NetworkParameters: Remove deprecated static methods.
Feb 21, 2019
533487b
Sha256Hash: Add twiceOf() and hashTwice() variants that simply take t…
Feb 22, 2019
11e4cb9
Transaction: Add findWitnessCommitment() to locate the witness commit…
Feb 22, 2019
b2fed78
Block: Add getWitnessRoot() to calculate the witness root hash, simil…
Feb 22, 2019
19e083c
Block: Add checkWitnessRoot() to verify the witness root.
Feb 22, 2019
fb8ac7b
PeerGroup, TransactionConfidence: Fix JavaDoc links.
msgilligan Feb 22, 2019
3974b38
.travis.yml: Run the JavaDoc again, so errors are exposed.
Feb 22, 2019
1d4c8e6
Bech32.Bech32Data: Make immutable fields hrp and data publicly access…
Feb 23, 2019
81ddd50
build.gradle: Make protobuf-gradle-plugin use protoc from the reposit…
Feb 23, 2019
4e52eb7
README.md: Add instructions for using Jitpack-powered SNAPSHOT builds.
msgilligan Feb 25, 2019
0be1008
build.gradle: Exclude the same set of integration tests as we did for…
Feb 25, 2019
4daf6de
settings.gradle: If at least Java 11 and Gradle 4.10 are detected, wa…
msgilligan Feb 23, 2019
21a32b5
MonetaryFormat: Add default format based on the Bitcoin symbol suppor…
Feb 27, 2019
bfafe01
Peer.PendingPing: Make future final.
Feb 27, 2019
a2e2a3a
Peer, PeerGroup: Use 'ms' rather than 'msec' in logs.
Feb 27, 2019
3e91372
Context: Remove a dangling bracket in JavaDoc.
rustin-bot Feb 28, 2019
ddca109
Release 0.15
Mar 1, 2019
937d93e
Prepare 0.15.1-SNAPSHOT
Mar 7, 2019
1d8c78f
Wallet: Fix crash when isAddressMine() is called with a P2SH or a P2W…
Mar 7, 2019
47858d1
LegacyAddressTest: Remove duplicate comparisonEqualTo() test.
rustin-bot Mar 4, 2019
f48bdf3
Release 0.15.1
Mar 8, 2019
8a20804
Prepare 0.15.2-SNAPSHOT
Mar 13, 2019
b3e33fe
Don't use the Gradle daemon for running any of the tools.
Mar 13, 2019
36c6c6e
Replace tabs with spaces.
oscarguindzberg Mar 13, 2019
533d6eb
Wallet: Fix logging in receivePending().
Mar 16, 2019
9d8bb0b
Transaction: In toString(), if a script type is unknown just say so.
Mar 17, 2019
7ca3dca
Transaction: In toString(), if an output is unconnected still print t…
Mar 17, 2019
f81eb9b
Wallet: Fix NullPointerException in isRequiringUpdateAllBloomFilter()…
Mar 19, 2019
c3b6e0d
Wallet: Fix handling of wallet without deterministic chains in checkF…
Mar 19, 2019
c7dfe59
KeyChainGroup: Fix NullPointerException in findRedeemDataFromScriptHa…
Mar 19, 2019
7747532
Use plain Gradle console for running any of the tools.
Mar 20, 2019
aba0007
BitcoinURI: Allow uppercase schema.
Mar 22, 2019
a9b40c3
PeerGroup.addAddress(): Don't increase max connections if address alr…
oscarguindzberg Feb 12, 2019
76f6f0c
PeerGroup: Don't stop peer discovery if one peer discoverer throws an…
oscarguindzberg Feb 12, 2019
9d1cff1
KeyCrypterScrypt: Migrate AESFastEngine to AESEngine.
matthewleon Mar 23, 2019
be40b7a
NetworkParameters: Make double-checked locking on defaultSerializer s…
matthewleon Mar 26, 2019
12f1670
MonetaryFormat: Fix equals() and hashCode().
matthewleon Mar 26, 2019
26b7d87
KeyChainGroup: Fix NullPointerExceptions in encrypt() for the case of…
matthewleon Mar 28, 2019
80dd4e3
KeyChainGroupTest: Extract AES_KEY used in tests to constant because …
Mar 28, 2019
c572bb5
KeyChainGroup: Be smarter about encryption order.
matthewleon Mar 29, 2019
3832353
KeyCrypterException: Introduce dedicated PublicPrivateMismatch except…
Mar 31, 2019
ddcaf22
KeyCrypterException: Introduce dedicated InvalidCipherText exception …
Mar 31, 2019
43a7df3
DeterministicKey: Decrypted deterministic keys must always be 32 byte…
Mar 31, 2019
f1e67fa
WalletTest: Be more specific about the expected exception in encrypti…
Mar 31, 2019
57d0eef
WalletTest: Be more specific about the expected exception in basicSpe…
Mar 31, 2019
f47badc
KeyChainGroup: Fix NullPointerExceptions in decrypt() for the case of…
matthewleon Mar 29, 2019
7dcbd3a
Transaction: Add missing @Nullable on getMemo().
matthewleon Apr 5, 2019
c509cdb
ECKey: Add missing @Nullable on toString().
matthewleon Apr 5, 2019
b567260
ECKey: Decrypted keys must always be 32 bytes long, otherwise likely …
Apr 6, 2019
55612cd
KeyCrypterScryptTest: Fix spurious test failure in testKeyCrypterWron…
Apr 9, 2019
0f5ac33
Wallet: Fix script type in deprecated findKeyFromPubHash().
oscarguindzberg Apr 11, 2019
e68cc44
WalletAppKit: Remove unnecessary call to KeyChainGroup.Builder.build().
oscarguindzberg Apr 12, 2019
d245944
Peer: Ignore incoming SendHeaders messages, because we don't announce…
Apr 14, 2019
d917264
LegacyAddressTest: Fix copy-paste error.
pvyhnal-generalbytes Apr 18, 2019
37f9571
.travis.yml: Specify exact Gradle version to use.
Apr 17, 2019
8b1c332
wallet-tool-help.txt: Move description of fee options to general opti…
Apr 22, 2019
11bbcbe
LegacyAddress: Update outdated JavaDoc reference.
matthewleon Apr 22, 2019
c5aa1a0
Fix unbalanced <p> tags in JavaDocs.
Apr 28, 2019
840e422
TransactionConfidence: Fix typo in JavaDoc.
oscarguindzberg Apr 26, 2019
4283d58
Script: Add links to new methods replacing deprecated methods.
oscarguindzberg Apr 22, 2019
7197534
HDKeyDerivation: Make precondition message more clear in deriveChildK…
May 3, 2019
0b26705
ChildKeyDerivationTest: Fix second testcase of testChildKeyDerivation…
May 3, 2019
ea3a70e
Release 0.15.2
May 4, 2019
90ae0d8
Prepare 0.15.3-SNAPSHOT
Jul 6, 2019
d36603c
Use Bouncy Castle's Scrypt implementation rather than the standalone …
May 1, 2019
d13b0cf
SegwitAddress: Don't encode witness version to OP_N when constructing.
matthewleon May 4, 2019
aaf2155
ECKey: Missing @Nullable on priv field.
matthewleon May 5, 2019
3e0a65f
Script: Remove mention of 'from addresses' in comment.
May 11, 2019
cb6d36f
ScriptChunk: Add missing @Nullable annotations to constructors.
matthewleon May 17, 2019
90b4b54
ScriptPattern: Correct and clarify the JavaDoc on isSentToMultisig()
matthewleon May 23, 2019
729b84e
ECKey: Fix JavaDoc encoding error on Windows.
May 30, 2019
11e8ec8
Transaction: Fix typos in JavaDoc.
cmackeen Jun 3, 2019
5bb5de3
AbstractBlockChain: Fix typos in JavaDoc.
msgilligan Jun 21, 2019
921a5d1
Fix NPE in o.b.c.Utils runtime and os detection
msgilligan Jul 3, 2019
242985f
Release 0.15.3
Jul 16, 2019
a29fdb7
Prepare 0.15.4-SNAPSHOT
schildbach Sep 11, 2019
386aeb6
KeyCrypterScrypt: Print all Scrypt parameters, not only N.
Jul 20, 2019
4e27e07
build.gradle: Specify javadoc encodings.
Jul 26, 2019
0b5a32e
Update slf4j to 1.7.28.
msgilligan Aug 26, 2019
21787c4
Peer: Raise log level when logging the setting of a filter.
schildbach Aug 31, 2019
4aaa754
AbstractBlockChain: Wrap log.debug() in log.isDebugEnabled().
schildbach Aug 31, 2019
10e22b6
Peer: Wrap log.debug() in log.isDebugEnabled().
schildbach Aug 31, 2019
9623461
Wallet: Improve JavaDoc for Wallet#commitTx and Wallet#maybeCommitTx.
msgilligan Jul 20, 2019
6d0cef6
Update BouncyCastle to 1.63.
schildbach Sep 11, 2019
9280c72
Update OkHttp to 3.12.3.
schildbach May 19, 2019
635ad60
Update Guava to 27.1-android.
schildbach Sep 11, 2019
221ce81
Release 0.15.4
schildbach Sep 11, 2019
8127cc0
Prepare 0.15.5-SNAPSHOT
schildbach Oct 1, 2019
11a4efc
Change wording p2pubkey to P2PK.
schildbach Oct 1, 2019
7d62fe4
PeerGroup: Make private walletCoinsReceivedEventListener also take ca…
schildbach Oct 1, 2019
9523fe0
Release 0.15.5
schildbach Oct 1, 2019
bd88115
Prepare 0.15.6-SNAPSHOT
Dec 8, 2019
b7a670b
BtcFormat: Fix "heading used out of sequence" JavaDoc error on JDK 13.
msgilligan Oct 1, 2019
f79fe76
Update OkHttp to 3.12.6.
Oct 21, 2019
085b87f
Update Guava to 28.1-android.
Oct 21, 2019
958dd89
MainNetParams, TestNet3Params: Sync DNS seeds with Bitcoin Core.
oscarguindzberg Dec 20, 2018
287940f
MainNetParams: Update hardcoded seed node addresses - Apr 2019.
oscarguindzberg Dec 17, 2018
90ce97b
Secp256k1Context: Use log.debug() instead of .info() when native secp…
oscarguindzberg Dec 17, 2018
a82efac
AbstractBlockChain: Print "Wallet/chain height mismatch" warning only…
oscarguindzberg Dec 17, 2018
b868975
CheckpointManager: Log time of latest checkpoint read.
Nov 20, 2019
5581aa8
CheckpointManager: Make clear that time is in seconds.
Nov 20, 2019
15ac6f5
CheckpointManager: Use a standard charset.
Nov 20, 2019
73790f0
Update slf4j to 1.7.29.
Nov 21, 2019
40ac403
Utils: Make mockTime field private.
Nov 26, 2019
a308cd7
Make a couple of tests use the mock clock to improve test reproducibi…
Nov 26, 2019
98152d2
Replace remaining System.currentTimeMillis() by the Utils equivalent.
Nov 26, 2019
d1131ec
DatabaseFullPrunedBlockStore implementations: Make sure SegWit addres…
Nov 29, 2019
c003b2e
PeerGroup: Move maxOfMostFreq() from Utils to here, as here is the on…
Dec 8, 2019
9dec511
PeerGroup: Be more careful about selecting download peer.
Dec 8, 2019
85ee413
PeerGroup: Only select a download peer if more than maxConnections/2 …
Dec 8, 2019
c8cc4aa
Release 0.15.6
Dec 8, 2019
6d187a7
Prepare 0.15.7-SNAPSHOT
Feb 27, 2020
3b797db
PeerGroup.ChainDownloadSpeedCalculator: Log chain height with end of …
Dec 14, 2019
1d4a402
MainNetParams: Add lightning-wallet.com HTTP seed.
akumaigorodski Jan 8, 2020
e9f8239
Update Guava to 28.2-android.
Jan 23, 2020
18dbaca
Update OkHttp to 3.12.8.
Jan 23, 2020
e7252ff
Update slf4j to 1.7.30.
Jan 23, 2020
4a373b6
Update JUnit to 4.13.
Jan 23, 2020
9e8710e
ChildMessage: Fix a missing @Nullable in constructor argument.
Feb 16, 2020
c119842
TestWithPeerGroup: Time out this group of tests after 10 seconds.
Feb 27, 2020
a932526
PeerGroup: Don't immediately select a download peer in startBlockChai…
Feb 27, 2020
389fcbe
PeerGroup: Require SegWit protocol and service when selecting a downl…
Feb 27, 2020
f4e5a82
Peer: If a bloom filter is set on a peer that doesn't support filteri…
Feb 27, 2020
3447725
MessageWriteTarget: Return a future from writeBytes() that completes …
Feb 28, 2020
efe96b2
PeerGroup, TransactionBroadcast: Drop any peer a transaction has been…
Feb 28, 2020
96ca38f
DefaultCoinSelector: Require only one broadcast confirmation when spe…
Feb 28, 2020
409f574
TestNet3Params: Add testnet.httpseed.bitcoin.schildbach.de HTTP seed.
Mar 4, 2020
77898c2
VersionMessage: Move toStringServices() from Peer to here.
Mar 4, 2020
c1202de
VersionMessage: In toString(), print services in textual form too.
Mar 4, 2020
62d54d2
HttpDiscovery: Improve logging in getPeers().
Mar 4, 2020
d4475fd
Peer: Prevent connecting to remote peers if required services are not…
Mar 4, 2020
8473d1c
DnsDiscovery: Implement service bit filtering.
Mar 4, 2020
1b343d1
PeerGroup: Introduce a priority for connecting and being picked as a …
Mar 5, 2020
5dfe2af
Release 0.15.7
Mar 5, 2020
50d06b4
Prepare 0.15.8-SNAPSHOT
Mar 8, 2020
06eca8c
TransactionBroadcast: Add a short delay before broadcast peers are dr…
Mar 7, 2020
e351396
TransactionBroadcast: Don't complete the broadcast future early in th…
Mar 7, 2020
22c96b3
PeerGroup: Only drop peers after broadcast if the transaction has no …
Mar 7, 2020
6ad159a
PeerGroup: Add a method for gracefully dropping all connected peers.
Mar 7, 2020
a3644e9
Release 0.15.8
Mar 8, 2020
dbf6c1c
Prepare 0.15.8.bisq.1-SNAPSHOT
oscarguindzberg Apr 8, 2019
7022b7f
AbstractBlockChain: Print error msg before throwing BlockVersionOutOf…
oscarguindzberg Dec 17, 2018
5eecb19
Add fileAbsolutePath in BlockStoreExeption.
ManfredKarrer Aug 7, 2016
df90326
Set monetaryFormat to BTC
ManfredKarrer Jun 23, 2017
2b41580
Exclude OP_RETURN from the MIN_ANALYSIS_NONDUST_OUTPUT check
ManfredKarrer Jan 18, 2016
db466de
Count confidence relative to latest block height
sqrrm Mar 20, 2018
37e11f7
Transaction.toString(): Print more info
oscarguindzberg Apr 8, 2019
be30977
Wallet: Add printAllPubKeysAsHex()
ManfredKarrer Nov 26, 2016
00b458a
Add fee to SendRequest
oscarguindzberg Apr 9, 2019
d8c30c9
BlockingClient: Do not write to socket if it is already closed.
ManfredKarrer Nov 26, 2017
ad73b86
Changes to support connecting to .onion addresses
oscarguindzberg Feb 12, 2019
d1e55d1
PeerGroup: Limit number of Bitcoin network peers at re-connect after …
oscarguindzberg Dec 20, 2018
321aa8a
PeerAddress: add equalsIgnoringMetadata() method.
oscarguindzberg Apr 1, 2019
76f589d
PeerGroup: Add check to not duplicate peers
ManfredKarrer Sep 24, 2018
ca65f0a
PeerGroup.addInactive(): Ignore metadata fields when checking for dup…
oscarguindzberg Apr 1, 2019
fa9b769
PeerGroup: Add addPeersFromAddressMessage.
oscarguindzberg Dec 19, 2018
5439721
Update harcoded seed node addresses comment
oscarguindzberg Dec 17, 2018
66ad127
Add block store deletion / windows hack unit test
oscarguindzberg Dec 28, 2018
89819c2
WalletAppKit: Clear the blockchain file (as opposed to delete it) in …
oscarguindzberg Feb 15, 2019
88cba01
Add Transaction.includedInBestChainAt
oscarguindzberg Jan 22, 2019
86c7094
Transaction.unCache() set confidence to null
oscarguindzberg Apr 4, 2019
4722324
Use protobuf-gradle-plugin 0.8.10
oscarguindzberg Sep 7, 2020
0d7762b
Set version to Prepare 0.15.8.bisq.1
oscarguindzberg Aug 27, 2020
e389f8d
Add PeerGroup.ignoreHttpSeeds
oscarguindzberg Sep 9, 2020
0d98efb
Set version to 0.15.8.bisq.2
oscarguindzberg Sep 9, 2020
6e08615
WalletAppKit create fallback keychain when using restoreFromKey
oscarguindzberg Sep 14, 2020
92aad15
Always use ConfidenceChange listener
oscarguindzberg Sep 22, 2020
a94ad23
Set version to 0.15.8.bisq.3
oscarguindzberg Sep 22, 2020
14a75f8
Revert "Always use ConfidenceChange listener"
oscarguindzberg Sep 24, 2020
3e52fcc
Revert "TransactionBroadcast: Don't complete the broadcast future ear…
oscarguindzberg Sep 24, 2020
2b206b3
Disable dropPeersAfterBroadcast feature
oscarguindzberg Sep 24, 2020
5312aa3
Set version to 0.15.8.bisq.4
oscarguindzberg Sep 24, 2020
aaec102
Set version to 0.15.8.bisq.5-SNAPSHOT
oscarguindzberg Sep 25, 2020
f95f3d2
Add Transaction.bitcoinSerialize()
oscarguindzberg Sep 28, 2020
9cdd3b4
Set version to 0.15.8.bisq.5
oscarguindzberg Sep 28, 2020
4b5f20f
PeerAddress.hostname: fix probuf serialization
oscarguindzberg Sep 30, 2020
44ddbdc
Set version to 0.15.8.bisq.6
oscarguindzberg Sep 30, 2020
14806a3
key chains: Keep listeners when decrypting/encrypting
oscarguindzberg Oct 7, 2020
a733034
Set version to 0.15.8.bisq.7
oscarguindzberg Oct 8, 2020
85424e2
Transaction: Use VarInt not opcode for script length in hashForWitnes…
Mar 6, 2020
1f6ee08
Transaction, LocalTransactionSigner: Fix P2WPKH signing.
schildbach Jul 2, 2020
3e2fac7
Add TransactionWitness.redeemP2WSH()
oscarguindzberg Oct 6, 2020
fcec3da
Set version to 0.15.8.bisq.8
oscarguindzberg Oct 15, 2020
2824953
Transaction: Add methods for calculating transaction weight and virtu…
Apr 20, 2019
be766f0
Transaction: Move sizes to top in toString(), and print the weight too.
Apr 28, 2019
3f1b3fd
Wallet: Implement witness fee discount.
Apr 22, 2019
f4a4533
Transaction: Fix missing newline in toString().
Mar 13, 2020
60b4f2f
Set version to 0.15.8.bisq.9
oscarguindzberg Oct 26, 2020
b9d95ce
Peer: Disconnect peers that doesn't send announced transactions.
pvyhnal-generalbytes Mar 14, 2019
f9bfede
Peer: Disconnect remote peers which repeatedly don't respond to pings.
pvyhnal-generalbytes Mar 11, 2019
3425c14
Set maxStalls to 10
oscarguindzberg Nov 20, 2020
6bbed06
Disconnect peer if sending too many txs per block
oscarguindzberg Nov 20, 2020
7752cb7
Set version to 0.15.8.bisq.10
oscarguindzberg Nov 23, 2020
12beae6
Use FilterRecalculateMode.SEND_IF_CHANGED
oscarguindzberg Dec 5, 2020
19c99da
Set version to 0.15.8.bisq.11
oscarguindzberg Dec 6, 2020
a3924ae
Readd return statement removed by mistake
oscarguindzberg Dec 7, 2020
dcf8af0
Set version to 0.15.8.bisq.12
oscarguindzberg Dec 7, 2020
902679f
Revert "Use FilterRecalculateMode.SEND_IF_CHANGED"
oscarguindzberg Dec 16, 2020
1a786a2
Update bloom filter if coins were sent
oscarguindzberg Dec 16, 2020
bc8d2e7
Include in the filter ouputs that are spent
oscarguindzberg Dec 16, 2020
2a80db4
Set version to 0.15.8.bisq.13
oscarguindzberg Dec 16, 2020
afa6202
Bump version string
dmos62 Feb 2, 2021
1f5bd62
Add VersionMessage received listener
dmos62 Feb 3, 2021
42b32f6
Account for early AlertMessage receival
dmos62 Feb 3, 2021
c29537c
Fix javadoc comment
dmos62 Feb 3, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Contributing Guidelines

We love pull requests from everyone! Bug reports are also welcome.

However if you've got a question or would like to start a discussion, please post to the
[bitcoinj google group](https://groups.google.com/forum/#!forum/bitcoinj) or the
[Bitcoin stack exchange](https://bitcoin.stackexchange.com/questions/tagged/bitcoinj).
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
target
build
.gradle
gradlew
gradlew.bat
gradle/wrapper
.project
.classpath
.settings
bin/
.idea
*.iml
out/
*.chain
*.spvchain
20 changes: 8 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
# configuration for https://travis-ci.org/bitcoinj/bitcoinj
sudo: false
dist: xenial
language: java
jdk: oraclejdk8
install: true # remove default
jdk:
- openjdk8
- openjdk11
install: true
before_script:
- gradle wrapper --gradle-version=4.10.3
script:
- mvn -q clean install -Pno-network
- jdk_switcher use openjdk6
- cd orchid
- mvn -q clean package
- cd ../core
- mvn -q clean package -Pno-network

after_success:
- cd ../core
- mvn jacoco:report coveralls:report
- ./gradlew clean build

notifications:
irc:
Expand Down
32 changes: 31 additions & 1 deletion AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,55 @@ Aaron Voisine
Adam Mackler
Alexander Lolis
Alex Taylor
Alex Voloshko
Alok Menghrajani
Alon Muroch
Amichai Rothman
Andreas Schildbach
andrewtoth
Bas van Schaik
Bennett Hoffman
BigAdam2005
Bo-Ye
Carlos Lopez-Camey
Carsten Otto
Chang Ming
Chris
cyberzac
Daniel James
Dave Collins
David Kingsbury
David Wilson (dcw312)
dexX7
Diego Basch
elbandi
eleetas
En-Ran Zhou
Eric Winer
Erik Tierney
Fireduck
freak
Gary Rowe
Giannis Dzegoutanis
Gitju
Giuseppe Raveduto
Glenn Marien
GreenAddress
Greg Laun
gubatron
Harald Hoyer
Jakob Stuber
Jameson Lopp
Jan Vornberger
Jarl Fransson
Jean-Pierre Rupp
Jim Burton
Jiri Peinlich
Johnathan
John L. Jegutanis
Johny George
Jonathan Cross
Jon Griffiths
Jonny Heggheim
Justas Dobiliauskas
Kalpesh Parmar
Expand All @@ -50,6 +69,8 @@ Martin Zachrison
matija.mazi@gmail.com
Matt Bogosian
Matt Corallo
Matthew Leon
Matthew Shaylor
Michael Bell
Michael Bumann
Mike Hearn
Expand All @@ -58,26 +79,35 @@ Miron Cuperman
monk
Mora Zyx
mruddy
Nelson Melina
Nicola Atzei
ollekullberg
Oscar Guindzberg
Pavol Rusnak
peacekeeper
Peter Dettman
Peter Stockli
Peter Todd
Philip Whitehouse
Piotr Włodarek
Richard Green
Richard Green (ragmondo)
Robin Owens
Ronald Hoffman (ScripterRon)
Ross Nicoll
Saulius Beinorius
Sean Gilligan
Sebastian Ortega
Simon de la Rouviere
Simon Vermeersch
Stephan Oeste
Stephen Reed
Thomas König
Tomasz Ludek
troggy
Tyler Houlihan
Willem Noort
Will Shackleton
Wojciech Langiewicz
Xiaofeng Guo
Ximo Guanter
zkejid
46 changes: 22 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,51 +8,49 @@ The bitcoinj library is a Java implementation of the Bitcoin protocol, which all

### Technologies

* Java 6 for the core modules, Java 8 for everything else
* [Maven 3+](http://maven.apache.org) - for building the project
* [Orchid](https://github.com/subgraph/Orchid) - for secure communications over [TOR](https://www.torproject.org)
* [Google Protocol Buffers](https://code.google.com/p/protobuf/) - for use with serialization and hardware communications
* Java 7+ and Gradle 3.4+ for the `core` module
* Java 8+ and Gradle 3.4+ for `tools` and `examples`
* Java 11+ and Gradle 4.10+ for the JavaFX-based `wallettemplate`
* [Gradle](https://gradle.org/) - for building the project
* [Google Protocol Buffers](https://github.com/google/protobuf) - for use with serialization and hardware communications

### Getting started

To get started, it is best to have the latest JDK and Maven installed. The HEAD of the `master` branch contains the latest development code and various production releases are provided on feature branches.
To get started, it is best to have the latest JDK and Gradle installed. The HEAD of the `master` branch contains the latest development code and various production releases are provided on feature branches.

#### Building from the command line

To perform a full build use
Official builds are currently using with JDK 8, even though the `core` module is compatible with JDK 7 and later.

To perform a full build (*including* JavaDocs and unit/integration *tests*) use JDK 8+
```
mvn clean package
gradle clean build
```
You can also run
If you are running JDK 11 or later and Gradle 4.10 or later, the build will automatically include the JavaFX-based `wallettemplate` module. The outputs are under the `build` directory.

To perform a full build *without* unit/integration *tests* use:
```
mvn site:site
gradle clean assemble
```
to generate a website with useful information like JavaDocs.

The outputs are under the `target` directory.

#### Building from an IDE

Alternatively, just import the project using your IDE. [IntelliJ](http://www.jetbrains.com/idea/download/) has Maven integration built-in and has a free Community Edition. Simply use `File | Import Project` and locate the `pom.xml` in the root of the cloned project source tree.
Alternatively, just import the project using your IDE. [IntelliJ](http://www.jetbrains.com/idea/download/) has Gradle integration built-in and has a free Community Edition. Simply use `File | New | Project from Existing Sources` and locate the `build.gradle` in the root of the cloned project source tree.

### Example applications

These are found in the `examples` module.

#### Forwarding service
### Where next?

This will download the block chain and eventually print a Bitcoin address that it has generated.
Now you are ready to [follow the tutorial](https://bitcoinj.github.io/getting-started).

If you send coins to that address, it will forward them on to the address you specified.
### Testing a SNAPSHOT build

```
cd examples
mvn exec:java -Dexec.mainClass=org.bitcoinj.examples.ForwardingService -Dexec.args="<insert a bitcoin address here>"
```
Building apps with official releases of **bitcoinj** is covered in the [tutorial](https://bitcoinj.github.io/getting-started).

Note that this example app *does not use checkpointing*, so the initial chain sync will be pretty slow. You can make an app that starts up and does the initial sync much faster by including a checkpoints file; see the documentation for
more info on this technique.
If you want to develop or test your app with a [Jitpack](https://jitpack.io)-powered build of the latest `master` or `release-0.15` branch of **bitcoinj** follow the dynamically-generated instructions for that branch by following the correct link.

### Where next?

Now you are ready to [follow the tutorial](https://bitcoinj.github.io/getting-started).
* [master](https://jitpack.io/#bitcoinj/bitcoinj/master-SNAPSHOT) branch
* [release-0.15](https://jitpack.io/#bitcoinj/bitcoinj/release-0.15-SNAPSHOT) branch
17 changes: 17 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
buildscript {
repositories {
jcenter()
}

dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.10'
}
}

allprojects {
repositories {
jcenter()
}

group = 'org.bitcoinj'
}
62 changes: 62 additions & 0 deletions core/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
apply plugin: 'java'
apply plugin: 'com.google.protobuf'
apply plugin: 'maven'
apply plugin: 'eclipse'

version = '0.15.8.bisq.14'
archivesBaseName = 'bitcoinj-core'
eclipse.project.name = 'bitcoinj-core'

dependencies {
compile 'org.bouncycastle:bcprov-jdk15to18:1.63'
implementation 'com.google.guava:guava:28.2-android'
compile 'com.google.protobuf:protobuf-java:3.6.1'
implementation 'com.squareup.okhttp3:okhttp:3.12.8'
implementation 'org.slf4j:slf4j-api:1.7.30'
implementation 'net.jcip:jcip-annotations:1.0'
compileOnly 'org.fusesource.leveldbjni:leveldbjni-all:1.8'
testImplementation 'junit:junit:4.13'
testImplementation 'org.easymock:easymock:3.2'
testImplementation 'com.fasterxml.jackson.core:jackson-databind:2.5.2'
testImplementation 'org.slf4j:slf4j-jdk14:1.7.30'
testImplementation 'com.h2database:h2:1.3.167'
testImplementation 'org.fusesource.leveldbjni:leveldbjni-all:1.8'
}

sourceCompatibility = 1.7
compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'
javadoc.options.encoding = 'UTF-8'

protobuf {
protoc {
artifact = 'com.google.protobuf:protoc:3.6.1'
}
generatedFilesBaseDir = new File(projectDir, '/src') // workaround for '$projectDir/src'
}

test {
exclude 'org/bitcoinj/core/PeerTest*'
exclude 'org/bitcoinj/core/TransactionBroadcastTest*'
exclude 'org/bitcoinj/net/NetworkAbstractionTests*'
exclude 'org/bitcoinj/protocols/channels/ChannelConnectionTest*'
testLogging {
events "failed"
exceptionFormat "full"
}
}

task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}

task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}

artifacts {
archives sourcesJar
archives javadocJar
}
Loading