Andreas Schildbach
5bd0623a28
Convenience method PeerGroup.setRequiredServices() for connecting only to peers that can serve specific services
2015-08-25 12:44:36 +02:00
Andreas Schildbach
72763f2711
Add MultiplexingDiscovery.forServices() that builds a suitable set of peer discoveries for
...
(optional) a set of desired services.
2015-08-25 12:44:36 +02:00
Andreas Schildbach
1be65483b4
Adds a services bitmask to PeerDiscovery.getPeers(), so we can query HTTP seeds for specific services.
...
As this is a breaking change to the API, it removes IrcDiscovery (there is no point in keeping it).
Also updates OkHttp to 2.4.0.
2015-08-25 12:44:35 +02:00
Andreas Schildbach
a12ec7f49d
Fix Tor support does not use all available HTTP seeds.
2015-08-24 18:54:00 +02:00
Mike Hearn
2c8ffc84ec
Peer: Lower log priority of message about not being configured with a block chain.
...
Using Peer[Group] to download blocks with no block chain is reasonable and printing a message every time a block is received is annoying.
2015-08-24 16:58:11 +02:00
Andreas Schildbach
021b0d76fe
Add httpseed.bitcoin.schildbach.de to HTTP seeds.
2015-08-22 15:20:12 +02:00
Oscar Guindzberg
a8edae0475
MarriedKeyChain: Remove redundant check.
2015-08-20 09:42:45 +02:00
Oscar Guindzberg
6c3b545b0c
DeterministicKeyChain: Rename "externalKey" and "internalKey" attribute
...
names to "externalParentKey" and "internalParentKey".
2015-08-20 09:39:24 +02:00
Oscar Guindzberg
fe7b703237
Wallet: Rename attribute "keychain" to "keyChainGroup".
2015-08-20 09:37:30 +02:00
Andreas Schildbach
200f2368c6
AddressFormatException: Make unchecked. Base58 strings are rarely typed manually these days.
2015-08-08 16:33:29 +02:00
Ross Nicoll
ecbd021167
Refactor listener interfaces.
...
Refactor listener interfaces into their own package.
Split listener interfaces into smaller interfaces.
Make abstract implementations actually abstract.
Rearrange methods for adding listeners to put executor first.
2015-08-08 15:37:46 +02:00
Kalpesh Parmar
7a02d2e598
Database (stores MySQL/Postgres/H2) column names/objects lower case consistency fix.
2015-08-08 11:59:07 +02:00
Andreas Schildbach
98b54d78c1
If wallet is watching, mention this in the dump.
2015-08-08 11:23:41 +02:00
Andreas Schildbach
7f8a5ed182
Print human readable time when initializing a new block store with a checkpoint.
2015-08-08 10:51:01 +02:00
Mike Hearn
5f3d3a7f84
Wallet: optimization for cases where (e.g. due to spam attacks) there are tons of relevant transactions in a block.
2015-08-05 12:42:49 +02:00
Mike Hearn
09f13f7956
Tighten the exception SPVBlockStore throws when the chain file is locked.
2015-07-30 17:31:25 +02:00
Devrandom
041b51f8e6
allow unmarried chains to have P2SH addresses
2015-07-29 12:38:22 +02:00
Andreas Schildbach
fa7af642ee
BitcoinSerializerTest: Make more readable.
2015-07-28 22:15:47 +02:00
Andreas Schildbach
7744a00629
Remove lazy parsing of messages.
...
In particular:
* Message.parse(): is now always called once, in the Message constructor
* Message.parsed: removed
* Message.parseLite(): folded into Message.parse()
* Message.maybeParse(): removed
* Message.ensureParsed(): removed
* Message.isParsed(): removed
* Block.parseHeader(): folded into Block.parse()
* Block.parseTransactions(): folded into Block.parse()
* Block.maybeParseHeader(): removed
* Block.maybeParseTransactions(): removed
* Block.ensureParsedHeader(): removed
* Block.ensureParsedTransactions(): removed
* Block.isParsedHeader(): removed
* Block.isParsedTransasctions(): removed
* MessageSerializer.isParseLazyMode(): removed
* BitcoinSerializer.parseLazy: removed
* BitcoinSerializer.getSerializer(): parseLazy parameter removed
* LazyParseException: removed
* LazyParseByteCacheTest: renamed to ParseByteCacheTest
2015-07-28 22:14:59 +02:00
Mike Hearn
d753d28ba5
Wallet: take key chain lock not only wallet lock in getWatchedOutputs().
...
Flagged by the IntelliJ Inspector static analysis engine.
2015-07-28 20:59:03 +02:00
Andreas Schildbach
b7c24c6196
Wallet: Fix not removing unspent transaction outputs when clearing transactions.
...
Adds very basic unit test for resetting wallets.
2015-07-28 20:50:20 +02:00
Andreas Schildbach
bee75f8d36
TestNet3Params: Fix missing assignments for majorityEnforceBlockUpgrade, majorityRejectBlockOutdated and majorityWindow.
2015-07-28 19:07:01 +02:00
Ross Nicoll
6f03669fbd
Enforce block version supermajority for BIP 66 onwards.
2015-07-28 12:55:54 +02:00
Ross Nicoll
12602650ce
Modify data object serialization/deserialization to provide extension hooks
...
Make headerParsed, transactionParsed, headerBytesValid and transactionBytesValid protected so subclasses in the same package can access them.
Add constructor for use when a block is contained within another object (i.e. AuxPoW header)
Make headerParsed, transactionParsed, headerBytesValid and transactionBytesValid protected so subclasses in the same package can access them.
Add constructor for use when a block is contained within another object (i.e. AuxPoW header)
Add parseTransactions() method which takes in a payload offset, so block parsers can indicate that transactions do not start at byte 80.
Extract common interface from BitcoinSerializer to support alternative serializers, as well as dummy serializer for message classes which do not have their network parameters.
Thread BitcoinSerializer through messages in place of existing parseLazy and parseRetain properties.
Insert dummy serializer into message subclasses when deserialized by Java.
Replace calls to construct Block/Transaction classes from payloads, with calls to MessageSerializer, so alternative formats can be supported elegantly.
Make headerParsed, transactionParsed, headerBytesValid and transactionBytesValid protected so subclasses in the same package can access them.
Add constructor for use when a block is contained within another object (i.e. AuxPoW header)
Add parseTransactions() method which takes in a payload offset, so block
parsers can indicate that transactions do not start at byte 80.
2015-07-28 12:20:32 +02:00
Ross Nicoll
16a5e1d64b
Javadoc format corrections
2015-07-28 12:09:32 +02:00
Chris
8a2e742598
Connect bitcoinj to hidden services
...
This commit adds a few small modifications to PeerAddress to make it easier for
bitcoinj to connect to Tor hidden services when using the Orchid TorClient.
2015-07-24 23:03:15 +02:00
Jameson Lopp
d0416b7f0f
Prevent null pointer exception if DNS seeds parameter is null.
2015-07-24 22:58:30 +02:00
Mike Hearn
30d2da2947
Remove BlockChainListener.isTransactionRelevant.
...
The optimisation this was meant to support ceased to be relevant a long time ago.
2015-07-23 17:28:03 +02:00
Devrandom
43b89f4678
strict mode for Context
2015-07-23 17:04:57 +02:00
Andreas Schildbach
c169325db7
Remove unused Message.checksum.
2015-07-23 16:38:40 +02:00
Andreas Schildbach
783dfc58d1
Remove Java serialization from...
...
* NetworkParameters,
* the entire Message hierarchy,
* Block,
* StoredBlock,
* StoredUndoableBlock,
* TransactionConfidence,
* UTXO,
* DeterministicHierarchy,
* MemoryFullPrunedBlockStore,
* KeyCrypterScrypt and
* Wallet
It was largely untested, in many cases not working any more and we don't see a reason for supporting it.
2015-07-23 16:27:25 +02:00
Andreas Schildbach
5c2eaf2654
Make Travis not run any tests that involve accessing the network.
2015-07-23 14:26:04 +02:00
Mike Hearn
551d01a625
BlockingClient: make it easier to manually start a read/write loop.
2015-07-22 22:27:19 +02:00
Andreas Schildbach
12f3d2dbca
Remove Java serialization from the ECKey hierarchy. It was broken for some time anyway (LazyECPoint).
2015-07-22 14:21:34 +02:00
Andreas Schildbach
230421484c
ExchangeRate: Implement equals/hashCode and add a test for Java serialization.
2015-07-22 11:58:06 +02:00
Devrandom
4411eb8702
Don't derive private keys just to check if they exist
2015-07-21 09:38:17 +02:00
Kalpesh Parmar
a293b09ef5
MySQL data type fixed. Changed binary to varbinary.
2015-07-20 12:30:35 +01:00
Andreas Schildbach
0441b38599
Provide a consistent fromBase58/toBase58 API for the VersionChecksummedBytes hierarchy.
...
Deprecates the old constructors and migrates bitcoinj itself to use the new API. Also makes DumpedPrivateKey use WrongNetworkException when appropriate. Adds missing testcases and corrects/adds a bit of JavaDoc.
2015-07-18 13:53:59 +02:00
Andreas Schildbach
4112ed8005
Fix last remaining occurences of 'BitCoin' and 'BitCoinJ'.
2015-07-17 00:55:18 +02:00
Andreas Schildbach
af1931db6e
BIP38PrivateKey: Fix Java serialization.
2015-07-16 23:02:42 +02:00
Andreas Schildbach
b1402afe9a
Address: Fix Java serialization and add serialization test case.
2015-07-16 14:26:48 +02:00
Mike Hearn
a52c8669a4
WalletFiles: use a ContextPropagatingThreadFactory instead of propagating the context explicitly.
...
Fixes bug found by devrandom
2015-07-14 13:15:45 +02:00
Mike Hearn
1352264e86
ContextPropagatingThreadFactory: more features
2015-07-14 13:15:45 +02:00
Mike Hearn
488b934b96
Context: don't throw if the TLS slot is already set.
2015-07-14 13:15:45 +02:00
Andreas Schildbach
df5c4091c7
Wallet protobuf serialization for RAISE_FEE transaction purpose.
2015-07-14 10:51:38 +02:00
Andreas Schildbach
c7b2dc3ff0
Add RAISE_FEE to transaction purposes.
2015-07-13 20:09:48 +02:00
Andreas Schildbach
9f55692c04
Update checkpoints.
2015-07-10 11:51:52 +02:00
Mike Hearn
da20b02906
Implement special priority tx size calculation.
2015-07-09 15:07:09 +02:00
Mike Hearn
49ac4ac2ad
CheckpointManager: expose a static method to get the checkpoint stream
2015-07-09 00:36:41 +02:00
Mike Hearn
95bfa40630
Peer: allow setting the includeMempool flag
2015-07-09 00:36:41 +02:00