Commit Graph

1997 Commits

Author SHA1 Message Date
Mike Hearn
d185dd55f1 Try a tweak to the unit tests to make Travis happy. 2014-09-01 17:49:42 +02:00
Mike Hearn
ed75774605 Transaction.verify: make it throw VerificationException subclasses, and add a check for duplicated outpoints.
This check does not have any impact on existing apps as in full verification mode the UTXO set is already effectively performing this check, and general SPV wallets don't verify inputs meaningfully anyway (they could just be random). However it's useful for Lighthouse and can't hurt - a tx with a duplicated outpoint is always invalid.
2014-09-01 17:06:41 +02:00
Mike Hearn
4d18a477dd Transaction.addSignedInput: catch API usage error. 2014-09-01 15:33:58 +02:00
Kosta Korenkov
6579d72bd8 Add SendRequest.missingSigsMode
Instead of useDummySignatures flag there is now a MissingSigMode enum
allowing to specify what to do with missing signatures.

Available modes:
USE_OP_ZERO - do nothing. OP_0 will be left in place of missing
signature
USE_DUMMY_SIG - insert dummy signature in place of missing sig.
THROW - throw an exception. It would be either MissingSignatureException
for P2SH or MissingPrivateKeyException for other tx types

Default mode is USE_DUMMY_SIG (for backward compatibility)
2014-09-01 13:10:51 +07:00
Kosta Korenkov
dc83712d9d Fix DummySigSigner misplaces dummy sig in P2SH scriptSigs 2014-09-01 12:37:39 +07:00
Mike Hearn
e4e8271b47 WalletTemplate: use Tor by default on testnet. 2014-08-28 14:45:36 +02:00
Andreas Schildbach
b1176e0fdf Rename CoinFormat to MonetaryFormat, now that it can deal with Coin and Fiat mostly the same way. 2014-08-28 14:45:36 +02:00
Devrandom
59efe031c4 Orchid: typo 2014-08-28 14:36:08 +02:00
Devrandom
ddfaebd487 Orchid: narrower locking 2014-08-28 14:36:08 +02:00
Devrandom
41731c3261 Orchid: refactor thread pool creation 2014-08-28 14:36:08 +02:00
Devrandom
b6eb96cb44 Orchid: document an issue with pending circuits on shutdown 2014-08-28 14:36:08 +02:00
Devrandom
f57c3a857c Orchid: better thread tracking
also, fix race condition in closing circuits on shutdown
2014-08-28 14:36:08 +02:00
Devrandom
de3665f734 Orchid: fix infinite task creation loop when shutting down 2014-08-28 14:36:08 +02:00
Andreas Schildbach
5be769d4ca Support for applications recording exchange rate that was valid when transaction was sent. Use the new SendRequest.exchangeRate register.
Includes a test.
2014-08-28 14:32:26 +02:00
Mike Hearn
d9be6a62d2 Peer: Add a version handshake future. 2014-08-28 14:26:20 +02:00
Gary Rowe
0ddbbfd5a4 Improved README to use Markdown and provide additional instructions for people getting started 2014-08-27 10:49:57 +01:00
Gary Rowe
58814f6cda Fix JDK8 doclint range to work with JDK7 in Orchid 2014-08-26 11:46:54 +02:00
Gary Rowe
ddf305edd2 Fix JDK8 doclint range to work with JDK7 2014-08-26 11:46:54 +02:00
Mike Hearn
3ec6d30562 Add testnet checkpoints for WalletTemplate. 2014-08-26 11:46:39 +02:00
Mike Hearn
0f48c902d2 Better warning messages for the block store rollback code. It was printing exceptions for replays and new wallets. 2014-08-26 11:46:39 +02:00
Andreas Schildbach
b4e1e2d9ef Remove debug output that slipped in with the last commit. 2014-08-25 15:22:01 +02:00
Andreas Schildbach
f3733cae3b Configure CoinFormat with values from a Locale. 2014-08-25 01:03:59 +02:00
Andreas Schildbach
9e91c54fdd Formatting and parsing of monetary values with non-arabic digits. 2014-08-25 01:03:57 +02:00
Kosta Korenkov
282c25eeb4 Signers: map derivation paths to scriptPubKeys..
.. instead of TransactionInput objects since latter are mutable.
2014-08-24 23:19:09 +02:00
Andreas Schildbach
ad6adea0c5 Overload Script.getToAddress() with a variant that tries harder to determine a destination address.
I ended up duplicating this piece of code several times, so I thought it may be useful to have it in the framework.

Includes tests.
2014-08-24 23:13:20 +02:00
Mike Hearn
308de4edc1 Fix or comment out a few Java 7isms. 2014-08-24 01:02:44 +02:00
Adam Mackler
e2b802235d Extension of java.text.Format for locale-sensitive Bitcoin value formatting & parsing. 2014-08-24 00:35:08 +02:00
Devrandom
887d6b0330 Orchid: fix NPE when unbuilt circuit is closed 2014-08-24 00:06:17 +02:00
Devrandom
50ad0e7666 Fix Orchid deadlock 3
https://github.com/subgraph/Orchid/pull/10
2014-08-24 00:06:17 +02:00
Oscar Guindzberg
2bc8f952e2 Wallet docs: link to github.io not google code 2014-08-23 18:45:02 -03:00
Devrandom
0464aa71c5 Add cycle detecting locks, fix Orchid deadlock 2
https://github.com/subgraph/Orchid/pull/10

Conflicts:
	orchid/src/com/subgraph/orchid/circuits/CircuitIO.java
2014-08-23 21:59:05 +02:00
Devrandom
00d1821daa Fix Orchid deadlock 1
https://github.com/subgraph/Orchid/pull/10
2014-08-23 21:59:05 +02:00
Mike Hearn
46104903fb WalletAppKit: delete dead store. 2014-08-23 21:20:14 +02:00
Mike Hearn
03c8cf5927 Wallet: ban usage of wallet.importKey with deterministic keys. 2014-08-23 20:42:22 +02:00
Mike Hearn
fcdd0115c4 Slightly clearer comment and log message in Script.executeCheckSig. 2014-08-23 13:11:27 +02:00
Mike Hearn
729c716b18 WalletTest: pin creation time of wallet key hierarchy in keyRotationHD test to avoid timing race. Should resolve issue 575. 2014-08-23 13:11:05 +02:00
Andreas Schildbach
df006ba2ba Add wallettemplate sub-project to CI build. 2014-08-23 12:55:04 +02:00
Andreas Schildbach
9546a13870 Fix spelling UTXOS -> UTXOs. 2014-08-22 23:43:01 +02:00
Andreas Schildbach
c8c30f8ec1 Add my testnet DNS seed. It runs sipas crawler, but rather than using its custom nameserver implementation it serves a generated zonefile via bind9.
FWIW, my domains are secured using DNSSEC.
2014-08-22 00:17:18 +02:00
Andreas Schildbach
8e5ab9356c Introduce Fiat as a holder for fiat values. Coin and Fiat share an interface Monetary so that monetary infrastructure can be re-used.
Adapt CoinFormat to be used with Monetary. Add an ExchangeRate value class that can convert from Coin to Fiat and back.
2014-08-21 15:10:27 +02:00
Andreas Schildbach
6deba7be92 During CI builds, make Maven output less clutter. 2014-08-21 14:38:47 +02:00
Mike Hearn
664d0b130c Make WalletTool compile again. 2014-08-21 13:57:44 +02:00
Andreas Schildbach
483b3bbc9b When a wallet is added to a block chain that has a lower block height than the chain, try to repair.
Adds a "crash simulation" unit test.
2014-08-21 13:49:46 +02:00
Kosta Korenkov
d8944b922f Make LocalTransactionSigner to sign P2SH inputs.
Transaction inputs are now prepopulated with empty scriptSig. Each signer
is expected to update this scriptSig with a signature at a proper place.
There is a new method in RedeemData to locate index of the key/signature
within scriptSig/program.
To generalize an above approach for all supported types of inputs,
RedeemData can now represent data for any type of input. For
pay-to-address and pay-to-pubkey inputs it is expected to contain single
key and CHECKSIG program.

Signers now accept ProposedTransaction object that could carry additional
metadata shared between signers. For now it shares derivation path of the
signing key.

To preserve the dummy sig feature, a new flag was introduced in a SendRequest.
It specifies whether to fill empty sigs with dummies during tx completion
or not. Default value is true (for backward compatibility).

There is a CustomTransactionSigner class that may be used as a base for
simple third-party signers (or may be not). It is used in unit test which
may be treated as a usage example.
2014-08-21 13:47:08 +02:00
Matt Corallo
b8e84ecdc7 Fix 100% CPU bug by clearing OP_CONNECT on connected key 2014-08-18 22:03:11 +00:00
Matt Corallo
ecd6afc7b7 Fix null getNewParser (again, and add test this time) 2014-08-18 14:11:47 -07:00
Andreas Schildbach
60c215b161 Configure IRC notifications for Travis CI. Messages will go to #bitcoinj. 2014-08-18 12:38:43 +02:00
Matt Corallo
ff52164921 Stop overwriting OP_WRITE when writing in ConnectionHandler c'tor 2014-08-18 11:51:51 +02:00
Andreas Schildbach
189605374c Configure continuous integration using Travis CI.
Builds will be visible at https://travis-ci.org/bitcoinj/bitcoinj
2014-08-18 11:50:28 +02:00
Matt Corallo
d3003622f2 Handle getting a null from getNewParser gracefully 2014-08-17 14:24:59 -07:00