Commit Graph

316 Commits

Author SHA1 Message Date
Andreas Schildbach
3c9cb34162 Move ScriptException from .core to .script package. 2017-08-14 09:24:18 +02:00
Andreas Schildbach
ca033e3368 Option to decrypt private keys and seed on the fly if printing a wallet dump of an encrypted wallet. 2017-08-13 15:22:22 +02:00
Bas van Schaik
759156c71b BuildCheckpoints: Fix possible resource leak. 2017-07-29 21:23:04 +02:00
Andreas Schildbach
9cbc45aeea PeerAddress: Require NetworkParameters in constructors. 2017-01-10 11:23:25 +01:00
Andreas Schildbach
7e609a2409 Remove Orchid forked subproject and support for connecting via Tor. 2016-11-25 23:14:39 +01:00
Andreas Schildbach
8bd47a6c6d TestFeeLevel: Print wallet balance and receive address earlier. 2016-06-15 10:35:37 +02:00
Andreas Schildbach
0d0358fe92 TestFeeLevel: Adapt to fee rate (per kB). 2016-06-15 10:35:37 +02:00
Andreas Schildbach
736fd7dbde Add the generic license header to POMs, shell scripts and JavaScript/Python examples. 2016-06-06 21:32:02 +02:00
Andreas Schildbach
3773a4343c Add a generic copyright statement to all license headers that don't have one.
Note it is not legally necessary to state copyright, but we think it makes things easier.
2016-06-06 21:32:02 +02:00
dcw312
e61eb107dc BuildCheckpoints: Use a peer group for the Prod and Test networks. 2016-06-06 21:23:56 +02:00
Andreas Schildbach
a407f04b56 0.15-SNAPSHOT 2016-04-02 18:04:21 +02:00
Andreas Schildbach
9c83299571 Update to slf4j 1.7.20. 2016-04-02 17:05:24 +02:00
Andreas Schildbach
4e29e4fb00 Wallet: Make SendRequest a top level class. 2016-04-01 22:03:14 +02:00
Andreas Schildbach
1e66b9a8e3 Finish moving wallet related classes to .wallet package.
These classes are moved to .wallet:
- Wallet + WalletTest
- WalletExtension + WalletExtensionsTest
- WalletProtobufSerializer
- UnreadableWalletException

These classes are moved to .wallet.listeners:
- WalletEventListener
- WalletChangeEventListener
- WalletCoinsReceivedEventListener
- WalletCoinsSentEventListener
- WalletReorganizeEventListener
- ScriptsChangeEventListener
- AbstractWalletEventListener
- KeyChainEventListener
- AbstractKeyChainEventListener
2016-04-01 21:44:30 +02:00
Andreas Schildbach
c1938fec75 Harmonize license headers. 2016-03-26 19:55:05 +01:00
Andreas Schildbach
01365ca00b Introduce a Transaction.DEFAULT_TX_FEE and use it as a default for sends and for wallet maintenance.
Previously we were using Transaction.REFERENCE_DEFAULT_MIN_TX_FEE which is the absolute minimum but it can be
too low. This value should be adjusted from time to time; we're starting with 0.1 mBTC.
2016-03-25 13:35:33 +01:00
Andreas Schildbach
c3b19bd5cd Wallet: Get rid of the concept of a "base fee". Fee is always expressed as a rate in Coin per 1000 bytes.
SendRequest.fee was removed; use SendRequest.feePerKb for requesting a specific fee rate. If the field
was read for knowing the calculated fee, use SendRequest.tx.getFee() instead.

Also makes a couple of unit tests independent of fee and renames the wallet-tool option --fee to
--fee-per-kb.
2016-03-12 17:37:31 +01:00
Andreas Schildbach
d6002e1ee4 wallet-tool: Properly initialize context. 2016-03-11 21:00:56 +01:00
Andreas Schildbach
814bad4efb wallet-tool: Use checkpoints to speed up the blockchain sync. 2016-03-11 21:00:56 +01:00
Andreas Schildbach
b6975a2760 wallet-tool: Create watching wallet with specific creation date. 2016-03-11 21:00:51 +01:00
Andreas Schildbach
c4ea9c95e5 Use Message.unsafeBitcoinSerialize() whenever it's very clear we won't modify the array. 2016-02-29 22:16:01 +01:00
Andreas Schildbach
39f0675866 WalletTool: Fix failing precondition on actions that don't start the PeerGroup. 2016-02-19 21:00:15 +01:00
Ross Nicoll
ea3713ec85 Split PeerConnectionEventListener
Split PeerConnectionEventListener into individual connect, disconnect
and discovery listeners.
Remove custom listener registration from Peer, as now it's possible to
register a connect listener only, without a disconnect listener.
2016-02-13 18:18:56 +00:00
Ross Nicoll
3d3dd6f721 Split peer event listeners into single method interfaces 2016-02-13 15:10:12 +01:00
Will Shackleton
8af0fa9884 Implemented version 2 of payment channels API
I implemented version 2 of the payment channels API using
OP_CHECKLOCKTIMEVERIFY-style payment channels.
2016-02-10 11:15:35 +01:00
Ross Nicoll
aca39ee9de Split wallet events into single method interfaces 2016-02-06 20:01:38 +01:00
Will Shackleton
c9cce47962 Support CLTV micropayment channels
Also extend WalletTool to send via, settle and refund these channels.
2016-01-18 15:57:27 +01:00
Kirill Vlasov
0de458db45 Strings literals should be placed on the left side when checking for equality 2016-01-06 14:19:20 +01:00
Andreas Schildbach
79d6716120 Wallet-Tool: New action to modify the creation time of wallets.
This is useful for repairing wallets that accidently have been created "in the future".
2015-11-27 16:54:55 +01:00
Andreas Schildbach
bb9c93c9b1 TestFeeLevel: Print the number of peers already connected. 2015-10-13 12:29:06 +02:00
Andreas Schildbach
91a49e66dd TestFeeLevel: 50 connections can take too long to build these days, so halve that value. Should still be enough for transaction propagation. 2015-10-13 12:06:53 +02:00
Mike Hearn
7014810cf6 Peer: Break out the onTransactionBroadcast event into a separate interface. 2015-09-18 21:10:53 +01:00
Matt Bogosian
66a851bd30 Fix #1078. Add ability to load Wallet without loading its transactions. Use new methods with wallet-tool reset (where transactions are deleted anyway) and with wallet-tool sync (if the --force option is provided). 2015-09-04 18:07:26 +02:00
Oscar Guindzberg
fe7b703237 Wallet: Rename attribute "keychain" to "keyChainGroup". 2015-08-20 09:37:30 +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
Andreas Schildbach
bd080ac5e4 BuildCheckpoints: Print time of checkpoint blocks. 2015-08-08 15:20:32 +02:00
Andreas Schildbach
7f2645fe16 BuildCheckpoints: Add option for peer to connect to. 2015-08-08 15:20:15 +02:00
Andreas Schildbach
e978ff4997 Add help text to BuildCheckpoints. 2015-08-07 17:20:22 +02:00
Andreas Schildbach
0e7819d1bf Add build-checkpoints shell wrappers. 2015-08-07 17:01:11 +02:00
Andreas Schildbach
16465d9310 Fix licenses for tools and examples. 2015-08-07 16:45:18 +02:00
Devrandom
044c98e096 Support testnet and regtest in BuildCheckpoints tool. 2015-08-07 13:18:53 +02: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
2483d10ad3 TestFeeLevel: Make number of ouputs configurable by tweaking a constant. 2015-07-11 20:23:58 +02:00
Andreas Schildbach
621975556c TestFeeLevel: Create transactions with two outputs (and thus most of the time two inputs). This is more close to standard wallet transactions. 2015-07-09 11:27:41 +02:00
Andreas Schildbach
24de5e2a40 0.14-SNAPSHOT 2015-07-06 09:54:04 +02:00
Amichai Rothman
dc94018992 Fix misc. formatting/style/syntax inconsistencies and issues. 2015-06-30 12:45:59 +02:00
Amichai Rothman
faf92971dd Refactored Sha256Hash API:
- depracated constructors
- wrap methods to wrap given hash values in a new instance
- of/twiceOf methods to calculate hash values in a new instance
- hash/hashTwice to calculate hash values and return the raw bytes
2015-06-24 15:21:14 +02:00
Amichai Rothman
a6601066dd moved sha256-related utility methods into Sha256Hash class and renamed them 2015-06-24 15:21:14 +02:00
Amichai Rothman
2fd96c7771 extracted common Utils.newSha256Digest() method to reduce boilerplate code 2015-06-24 15:21:13 +02:00
Andreas Schildbach
07f6b0ea30 Don't print log messages when testing fee level. 2015-06-16 22:46:15 +02:00
Andreas Schildbach
3588fa085c Make BuildCheckpoints print a bit sooner that it's doing something. 2015-05-27 16:40:29 +02:00
Andreas Schildbach
dba18dfb4d Update to slf4j 1.7.7. 2015-04-17 16:37:13 +02:00
Andreas Schildbach
59b426afe0 Increase wallet autosave delay for wallet-tool and WalletAppKit. Since we have some recovery for out-of-sync wallets in place, we can afford to save less often. 2015-03-12 18:07:51 +01:00
Mike Hearn
bef4980abd (API CHANGE) Return a TransactionBroadcast object from PeerGroup.broadcastTransaction.
Old code can be updated by simply calling future() on the returned object to get the previous result.

TransactionBroadcast now has a progress reporting interface, which is ideal for connection to progress bars, pie charts, whatever else you want to use in the UI for showing the progress of sending money/broadcasting a tx.
2015-02-20 15:01:54 +01:00
Mike Hearn
1efa1442c8 (API CHANGE) Pass the FilteredBlock into PeerEventListener.onBlocksDownloaded when present.
Keep track of downloaded vs server-side filtered transactions per second.
Add a keyboard shortcut to wallet-template to force disconnection from the current peer.
2015-02-17 17:02:57 +01:00
Andreas Schildbach
815c4b9ced Add current-receive-addr action to wallet-tool. 2015-02-03 00:18:45 +01:00
Mike Hearn
cd7dc3e535 Don't print logging messages when calculating checkpoints. 2015-01-12 16:53:45 +01:00
Andreas Schildbach
121d2fcb63 Change the WatchMempool pool to build statistics about risk analysis. Removes the pay-to-pubkey detection which was in there. 2015-01-02 17:30:24 +01:00
Mike Hearn
f82f160c2c PeerGroup: configure peer as download peer even when there is no chain, but don't configure download params as that would trigger block fetch. 2014-12-21 14:03:13 +01:00
Mike Hearn
8f219ff458 WatchMempol: fix a regression 2014-12-21 13:57:17 +01:00
Mike Hearn
b25899de58 Rename DownloadListener to DownloadProgressTracker 2014-12-18 13:59:50 +01:00
Andreas Schildbach
478fb5dac9 Fix Integer to long casting compiler error for Eclipse. 2014-12-08 20:39:04 +01:00
Mike Hearn
e7c00df740 Replace peerGroup.startAsync/awaitRunning with start() and awaitTerminated with stop(). 2014-11-24 13:04:58 +01:00
Andreas Schildbach
e12930c00f Fix formatting dates at several places. Common mistakes:
- DateFormats are not thread safe
- new Date() is used for formatting which does not specify a locale

We now use a Utils.dateTimeFormat() helper for formatting to ISO 8601 (UTC).
2014-11-19 16:50:00 +01:00
Wojciech Langiewicz
41f8f5ccb4 Addes NetworkParams as a parameter to DeterministicKey serialization/deserialization. 2014-11-14 16:34:19 +01:00
Andreas Schildbach
91e7fe6816 WalletTool: magic --output value ALL for easier emptying of wallets. 2014-11-07 14:19:38 +01:00
Mike Hearn
f961e79346 WalletTool: use minBroadcastConnections == 1 when in regtest mode. 2014-11-04 23:19:21 +01:00
Andreas Schildbach
e9f016b753 Rename wallet-tool option --net=PROD to --net=MAIN. PROD can still be used as an alias to MAIN.
The mainnet blockchain file is renamed to mainnet.chain.
2014-11-03 14:23:36 +01:00
Mike Hearn
6c5d51f55a WalletTool: allow rotation time to be specified in seconds. 2014-10-23 15:42:05 +02:00
Mike Hearn
ea02436f96 Rename maybeDoMaintenance to doMaintenance and add a bit more docs. 2014-10-22 19:32:51 +02:00
Mike Hearn
77ace479d9 Key rotation: remove the enabled setting. It's no longer useful and defaulted to off, which is dangerous and can lead to bugs. 2014-10-22 19:32:51 +02:00
Devrandom
22f0600afe Refactor married keychains
* move handling of following keychains into the leading keychain
* move multisig threshold into the leading keychain
* extract MarriedKeyChain from DeterministicKeyChain
2014-10-07 15:39:04 +02:00
Mike Hearn
9dcc4ed6f4 0.13-SNAPSHOT 2014-10-05 20:38:00 +02:00
Mike Hearn
83a9a71f3f bitcoinj 0.12 2014-10-03 00:46:31 +02:00
Mike Hearn
0a6f901b23 Renamespace to org.bitcoinj away from com.google.bitcoin, as bitcoinj is no longer a Google project and being namespaced under com.google causes issues with Sonatype/Maven Central.
To fixinate your code:

find . -name '*.java' | xargs sed -i .bak 's/import com.google.bitcoin./import org.bitcoinj./g;s/import static com.google.bitcoin./import static org.bitcoinj./g'
2014-09-30 17:05:07 +02:00
Devrandom
03bacf4fa9 Cache deterministic seed 2014-09-22 15:00:18 +02:00
Andreas Schildbach
3e5e3496ea Introduce textual checkpoint format. It's basically one base64-encoded line per checkpoint.
The BuildCheckpoints tool now generates and sanity checks both formats.
2014-09-10 17:59:41 +02:00
Mike Hearn
664d0b130c Make WalletTool compile again. 2014-08-21 13:57:44 +02:00
Mike Hearn
014438b456 Take out the redundant SigHashType parameter to wallet.signTransaction.
In the end the API evolved in such a way that changing this param isn't that useful. To do contracts you tend to work with transactions directly, and a Wallet subclass that needs to do special signing by default can override the signing engine used.
2014-08-13 14:57:43 +02:00
Kosta Korenkov
f6b2fa5a2b Pluggable signers: simple local KeyBag signer
Introduced pluggable signers notion. Instances of
TransactionSigner could be added into the wallet, so that they subsequently
applied to transaction to complete it.
Existing signing code (Transaction.signInputs) was refactored into
LocalTransactionSigner, which is always implicitly added to any wallet.

Related pull request: #157
2014-08-12 17:58:29 +02:00
Mike Hearn
90492b61f7 Change printed format of the wallet to be less verbose and make wallet-tool not dump privkeys by default. 2014-08-11 18:26:23 +02:00
Andreas Schildbach
415e43885c Consistently use version 2.3 of maven-shade-plugin. 2014-08-11 11:18:09 +02:00
Mike Hearn
6778a51d45 Create a lightly optimised, dedicated JAR for wallet-tool instead of the oddly named bitcoinj-tools-0.12.jar 2014-08-05 15:42:29 +02:00
Mike Hearn
6679f42f4a Use a local Bitcoin node if one is detected instead of the p2p network. This allows any user of a bitcoinj based app to upgrade from SPV to full mode security by just installing and running Core on the same machine. Can be controlled with a new property on PeerGroup. 2014-07-29 18:13:52 +02:00
Mike Hearn
bb362aa483 WalletTool: make raw-dump output a little more helpful. 2014-07-21 16:23:43 +02:00
Mike Hearn
d6cf090f5c Take out old WalletTool code that let you specify entropy as hex. 2014-07-11 13:12:40 +02:00
Mike Hearn
36b1eb7dee Disable code that no longer compiles in WalletTool pending fix. 2014-07-10 15:33:34 +02:00
Devrandom
2fae12064c Fix BIP39 implementation 2014-07-10 14:53:42 +02:00
Andreas Schildbach
afcc7e3f13 Coin.toFriendlyFormat() includes denomination (BTC). This saves a lot of string concatenation code. 2014-07-05 21:03:51 +02:00
Mike Hearn
dbd6004f1b HD Wallets: redo key rotation, it's no longer automatic and expects the wallet app to poll for maintenance transactions. Deterministic keys now inherit the creation time of their parent. 2014-06-26 16:21:23 +02:00
Mike Hearn
7b337680bf Add encrypt/decrypt command to the WalletTool help text. 2014-06-26 16:21:22 +02:00
troggy
736c4c9907 Married HD wallets: Bloom filter adjustments
Pull request: #115
Based on design notes:
https://groups.google.com/forum/#!msg/bitcoinj/Uxl-z40OLuQ/e2m4mEWR6gMJ
2014-06-26 14:45:03 +02:00
Kosta Korenkov
9680911bca Fix autosave in WalletTool on Windows
Wallet.saveToFile failed to remove original wallet file because WalletTool
left open input stream. This error happened on Windows-specific code path

Stacktrace:
```
Failed to save wallet! Old wallet should be left untouched.
java.io.IOException: Failed to delete canonical wallet file for
replacement with autosave
        at com.google.bitcoin.core.Wallet.saveToFile(Wallet.java:834)
	        at
		com.google.bitcoin.core.Wallet.saveToFile(Wallet.java:863)
		        at
			com.google.bitcoin.tools.WalletTool.saveWallet(WalletTool.java:851)
			        at
				com.google.bitcoin.tools.WalletTool.main(WalletTool.java:362)
```
2014-06-24 14:19:14 +02:00
Kosta Korenkov
215ecbfa21 Wallet tool launcher for Windows
Essentially it is just a port of wallet-tool bash script
2014-06-24 14:18:58 +02:00
Mike Hearn
443d556909 HD Wallets: implement auto upgrade behaviour and refresh the design doc. 2014-06-13 14:11:51 +02:00
Andreas Schildbach
49adaeed16 Rename Coin.toNanoCoin(String) to Coin.parseCoin(String). 2014-05-30 15:09:33 +02:00
Andreas Schildbach
3e846901cb Remove weird value accessors. 2014-05-30 15:09:33 +02:00
Andreas Schildbach
eb81b0c815 Move coin related methods and constants from Utils into Coin. 2014-05-30 15:09:32 +02:00
Andreas Schildbach
022e7c27fe Wrap coin-ish BigIntegers into Coin class. 2014-05-30 15:09:32 +02:00
Mike Hearn
1f776c3f19 Add a program that measures confirmation time for a given fee level.
This is a complementary approach to what the estimatefees code for Core does, because Core cannot really measure confirmation time for a fee level if nobody is setting it.
2014-05-29 20:11:17 +02:00
Mike Hearn
45a1b11b48 WalletTool: add a lookahead flag that lets you control the lookahead size on the receive branch. Update help text to reflect the new flag and the seed flag as well. 2014-05-29 20:11:15 +02:00
Mike Hearn
51b71a4363 HD Wallets: support watching wallets in Wallet and wallet-tool.
Also, respect includePrivateKeys flag for the seed in wallet.toString again.
2014-05-29 20:11:14 +02:00
Mike Hearn
a1fcca3883 WalletTool: allow creation of a wallet from a given [word] seed. 2014-05-29 20:11:14 +02:00
Mike Hearn
5638387d3a HD wallets alpha preview 2014-05-29 20:11:13 +02:00
Mike Hearn
665aa2c36c BuildCheckpoints: compare strings correctly. 2014-05-21 15:20:02 +02:00
Andreas Schildbach
cdfec498a4 Extract methods for creating and parsing payment requests, payment messages and payment acks, as well as Ack data class. Expose more payment request data from PaymentSession. Add unit tests for roundtripping all messages. 2014-05-05 11:26:25 +02:00
Andreas Schildbach
bd49cd4027 Rename misnamed PaymentRequestException to PaymentProtocolException. It's used for payment messages and maybe payment acks as well. 2014-05-05 11:26:25 +02:00
Mike Hearn
ebc52aca7a WalletTool: remove a couple of unused fields. 2014-04-27 22:42:09 +02:00
Mike Hearn
3f3f637779 Integrate Tor support into the PeerGroup and WalletAppKit API. 2014-04-27 18:57:56 +02:00
Devrandom
99448b730a Tor using the Orchid library 2014-04-27 17:26:01 +02:00
Mike Hearn
d2def04a00 WalletTool fix for Guava 16 changes. 2014-04-15 13:33:59 +02:00
Andreas Schildbach
4502c40e59 Move verification of payment requests into new PaymentProtocol class. 2014-04-14 16:40:39 +02:00
Andreas Schildbach
dfc5104d31 Rename tool for the payment protocol. It was not obvious from the name that it has a main method. 2014-04-14 16:40:39 +02:00
Mike Hearn
eda6dccf6d Fix compatibility with Java 6. 2014-04-08 17:23:51 +02:00
Andreas Schildbach
6087e43377 Upgrade to Guava 16.0.1.
Resolves issue 375.
2014-04-08 16:49:09 +02:00
Andreas Schildbach
e7eec49671 Extract getDisplayNameFromCertificate() into new X509Utils class. Also joins PkiVerificationData.name and .orgName into one .displayName. Adds tests using client/smime certificates of mine. 2014-04-07 12:07:36 +02:00
Mike Hearn
8392a5590a WalletTool: automatically use localhost in regtest mode. 2014-04-01 16:49:05 +02:00
Mike Hearn
0ed260bae2 Payment protocol: misc enhancements.
Stop using the JDK store and use our own, to make the StartSSL fix effective.
Include the certs in the exception thrown if the chain doesn't verify.
Support loading from a file in the PaymentProtocol tool.
Print the certs out in the PaymentProtocol tool if there's an error.
2014-03-23 19:24:56 +01:00
Andreas Schildbach
2df74e97dc Update checkpoint sanity for mainnet and testnet. 2014-03-07 17:51:54 +01:00
Andreas Schildbach
0ff1ce73a7 Extract constants to top of BuildCheckpoints. This makes it easier to switch between networks. 2014-03-07 17:51:38 +01:00
Andreas Schildbach
8fdfb04e43 Update SLF4J to version 1.7.6. Previously, inconsistent versions were used between sub-projects. All unit-tests pass. 2014-03-07 17:47:42 +01:00
Mike Hearn
e0153a9bf0 Go back to java 6 for tools. 2014-02-28 13:58:28 +01:00
Mike Hearn
6a9973e2c5 Add a tool to dump payment protocol requests to stdout. 2014-02-21 17:30:47 +05:30
Mike Hearn
3c86785a89 Payment protocol: Expose a friendly/display name for validating CA 2014-02-07 18:12:18 +01:00
Mike Hearn
5b74ea5c7b Switch to version 0.12-SNAPSHOT. To the moon! ;) 2014-02-04 11:31:42 +01:00
Mike Hearn
6958ad94f7 WalletTool tweaks. 2014-02-03 16:32:45 +01:00
Mike Hearn
a1562836be Payment protocol: Make PaymentSession use a global thread pool that uses daemon threads.
Fixes a 60 second hang that could occur in wallet-tool once the send request was processed. Fixing this revealed another bug - WalletTool was depending on this VM shutdown delay caused by the worker pool timeout, so clean up the code and replace with a blocking get of the future.

Also support the --offline and --password flags when using the payment protocol.
2014-01-28 13:58:08 +01:00
Mike Hearn
ddec4f9106 Allow Bitcoin URI's that don't have any address component if the r= payment protocol param is there. 2014-01-28 13:04:09 +01:00
Kevin Greene
3966875e8e Adding support for processing PaymentRequests. 2014-01-28 09:46:51 +01:00
Mike Hearn
fa53806ef5 WalletTool: bit more cleanup. 2014-01-13 12:30:00 +01:00
Mike Hearn
c0617b31b2 Simplify the WalletTool command line and move help to an external file. 2014-01-12 21:11:35 +01:00
Mike Hearn
ce4ac86884 Move discovery package into net package. 2013-12-10 13:13:52 -08:00
Mike Hearn
963978c468 Add watched scripts to the wallet toString output.
Support watching scripts/addresses in WalletTool
2013-11-30 16:39:58 +01:00
Mike Hearn
70cd2ffb96 Wallet: throw exceptions when completing a transaction fails.
If there's insufficient balance (typical error) then InsufficientMoneyException is thrown (checked).
If the SendRequest is bad in some way, like asking to create a spend that would violate the protocol rules, IllegalArgumentException is thrown (unchecked).

Also make VerificationException (and thus ProtocolException+ScriptException) unchecked.

Resolves issue 425.
2013-11-27 15:25:52 +01:00
Mike Hearn
95fc6d7245 WalletTool: recognize private key format properly.
Resolves issue 390.
2013-11-24 19:10:56 +01:00
Mike Hearn
688ba42c45 WalletTool: allow skipping of mandatory extensions.
This allows it to read MultiBit wallets.
2013-11-10 20:03:30 +01:00
Mike Hearn
f27430c356 Refactor/bugfix broadcast of pending transactions when a peergroup starts up.
Previously the PeerGroup itself would broadcast the pending transactions by simply sending an inv with them all to every peer. This is a good way to get a transaction blasted out if there are no problems with it, but it means we cannot track propagation and the numBroadcastPeers() value was correspondingly not increased. This seems to be causing issues with the Android wallet. So try out a different approach - have the wallet use broadcastTransaction as per normal on the PeerGroup when it's added. The TX will be propagated and watched as with a normal spend.
2013-10-11 14:50:53 +02:00
Mike Hearn
2e924e217d WalletTool: fix typo 2013-10-11 14:32:44 +02:00
Mike Hearn
e67b3e540e Remove usage of some deprecated stuff. 2013-09-23 15:33:36 +02:00
Mike Hearn
de9d5e95ab Add a tool to watch for broadcasts of rotation transactions. 2013-08-13 15:05:03 +02:00
Mike Hearn
2808b062d7 Version 0.11-SNAPSHOT 2013-07-30 14:47:39 +02:00
Mike Hearn
d3842cc0f4 Wallet: Print Wallet extensions in toString() and make tx printouts optional. 2013-07-25 14:11:42 +02:00
Mike Hearn
d0a431cd9c WalletTool: add support for the emptying out feature. 2013-07-25 11:28:32 +02:00
Mike Hearn
35a7f38d86 Make block chain listeners run in given executors and default to the user thread. 2013-07-05 10:54:21 +02:00
Mike Hearn
fbd767320c Delete the long since obsolete DiskBlockStore. 2013-06-20 15:10:47 +02:00
Mike Hearn
8b8bf50144 Version 0.10-SNAPSHOT 2013-06-18 16:33:06 +02:00
Mike Hearn
1d9ebf5a5f WalletTool: allow use of regtest mode, fix unixtime flag, make address printed by ADD_KEY double clickable. 2013-06-12 11:13:01 +02:00
Mike Hearn
5b50e52842 Don't require 4G heap for wallet tool. 2013-06-12 11:12:15 +02:00
Mike Hearn
46914b12b7 Make completeTx once again return a bool (pending replacement with an exception), and update the fee field with the calculated fee. 2013-06-11 11:40:40 +02:00
Mike Hearn
9a389c9475 Move enforceDefaultClientFeeRelayRules into SendRequest instead of being a parameter.
Make WalletTool enforce the rules instead of ignoring them (this was an oversight).
2013-06-10 15:51:34 +02:00