3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-02-13 10:45:51 +00:00

1979 Commits

Author SHA1 Message Date
Andreas Schildbach
eec6eebc68 MonetaryFormat: add message to non-obvious precondition. 2015-08-27 11:15:12 +02:00
peacekeeper
5dcf643975 A transaction output may have multiple OP_RETURNs. 2015-08-26 12:03:41 +02:00
Oscar Guindzberg
cf980bc68c DeterministicKeyChain.toString(): remove unnecessary check to show the xpub. 2015-08-26 11:58:34 +02:00
ollekullberg
ebc888d282 Name change: ProtobufParser → ProtobufConnection, StreamParser → StreamConnection 2015-08-26 11:07:22 +02:00
Andreas Schildbach
74af6a2c8a Set user agent for HTTP discovery. 2015-08-25 17:50:30 +02:00
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