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
Matt Corallo
375e553bdc
Add basic fee solver to Wallet.completeTx and extensive testing.
...
This also adds support for SendRequests which have some predefined
inputs (already signed), which will be tested in a later commit.
2013-06-05 16:28:35 +02:00
Mike Hearn
f4c3b6a49d
Global search and replace to use the param-class specific instance getters and prodNet -> MainNetParams.
...
The old "prodnet" name could be confusing to non-native speakers or people who just haven't been exposed to Google lingo. Main net is more idiomatic.
Conflicts:
tools/src/main/java/com/google/bitcoin/tools/BlockImporter.java
2013-06-05 14:10:40 +02:00
Mike Hearn
52586edb33
NetworkParameters: Refactor out into separate classes.
...
Hide fields behind getters and make unit tests create anonymous subclasses
to tweak them rather than overwriting global variables.
Introduce a regtest params class for use in the comparison tool.
Conflicts:
core/src/test/java/com/google/bitcoin/core/BitcoindComparisonTool.java
core/src/test/java/com/google/bitcoin/core/FullPrunedBlockChainTest.java
2013-06-05 14:10:39 +02:00
Mike Hearn
8043bc335b
NetworkParameters: hide port behind a getter.
2013-06-05 14:10:38 +02:00
Matt Corallo
ecca1c6f47
Add new BlockImporter.
2013-06-04 22:18:11 +02:00
Matt Corallo
a131d08a58
Move BlockImporter to a util and make it an Iterator<Block>
2013-06-04 22:18:11 +02:00
Mike Hearn
aa883b48b1
Wallet: Rewrite re-org handling to be simpler and use less code. And hopefully fix some bugs along the way.
2013-04-26 16:42:15 +02:00
Mike Hearn
f88bdc5fe3
Wallet: make keychain private and add a remove method.
2013-04-22 13:45:38 +02:00
Mike Hearn
5112a94955
WalletTool: remove redundant if test
2013-04-22 13:36:12 +02:00
Mike Hearn
5eebca2c7d
Wallet: Add some convenience methods for spending unconfirmed transactions.
2013-04-12 11:10:31 +02:00
Mike Hearn
f1845dd552
Version 0.9-SNAPSHOT
2013-04-11 14:27:35 +02:00
Matt Corallo
2e6e0661cb
Import from new block dir format
...
Also fixes a few minor bugs in BlockImporter.
2013-04-01 18:03:19 +01:00
Mike Hearn
aac6a7daf7
WalletTool: allow dumping the wallet without a chain.
...
Resolves issue 357.
2013-03-30 18:07:20 +00:00
Mike Hearn
3d6691c82a
Switch to using DNS for testnet discovery, as LFnet has gone away.
...
Put DNS seeds into NetworkParams.
Deprecate IrcDiscovery and remove the unit tests for it.
Update examples and tools to use DNS for everything.
Resolves issue 299.
2013-03-29 17:39:24 +00:00
Mike Hearn
f8e5b17b85
Add crap WalletTool hack to work around issue with Netty.
2013-03-21 14:23:55 +01:00
Mike Hearn
0c3096ed74
Add a --unixtime flag to wallet-tool ADD_KEY
2013-03-18 23:24:59 +01:00
Mike Hearn
eb2da1e33f
Implement support for password protected wallets and spending unconfirmed transactions in WalletTool.
2013-03-18 18:27:13 +01:00
Mike Hearn
5d0518dafd
Merge encrypted wallets functionality by Jim Burton.
2013-03-18 18:27:12 +01:00
Mike Hearn
0534231de9
Run wallet event listeners unlocked. Resolves another inversion.
...
Update issue 223.
2013-03-07 17:08:15 +01:00
Mike Hearn
8355a03439
Require last checkpoint to be at least 1 month old.
2013-03-05 14:48:28 +01:00
Mike Hearn
0419887407
Add a CheckpointManager class and a BuildCheckpoints tool that saves a set of checkpoints to disk. By default there is one every difficulty transition period (two weeks), which means a relatively small amount of RAM needed to hold them all. There are only 111 checkpoints so far and old ones can be thinned out if needed.
2013-03-05 14:48:28 +01:00
Mike Hearn
a61cd9eb19
Switch WalletTool to SPVBlockStore.
2013-03-05 14:48:28 +01:00
Mike Hearn
420a29a388
Properly support importing dumped private keys in WalletTool.
2013-02-20 00:05:49 +01:00
Mike Hearn
72d6f23e92
Version 0.8-SNAPSHOT
2013-02-19 16:11:22 +01:00
Mike Hearn
586f961b1b
Minor WalletTool fixes:
...
1) Print balance in friendly form
2) Use PeerGroup.stopAndWait() to avoid trying to close the store in parallel with network threads shutdown.
2013-02-05 12:00:33 +01:00
Mike Hearn
6504296b79
Avoid confusing bugs by switching NetworkParameters.testNet() to be testnet3 not testnet2.
2013-01-16 18:15:46 +01:00
Mike Hearn
e4e4e45a47
Allow re-signing of transactions and re-sign after adjusting the sequence number.
2013-01-12 14:47:43 +01:00
Mike Hearn
a6f1233b4e
Delete some 0.5 -> 0.6 migration code from WalletTool.
2013-01-12 14:27:49 +01:00
Mike Hearn
b5b43f3a15
Better support for lock timed transactions.
...
Lock times are now included in various toString dumps.
Transactions can estimate their lock time when the time is specified as a block number.
Add support to WalletTool for creating timelocked transactions.
2013-01-12 14:26:59 +01:00
Mike Hearn
f2db0028ca
Slightly improve wallet-tool help text. Updates issue 273.
2013-01-12 14:26:59 +01:00
Mike Hearn
93870110c3
Use blocking PeerGroup startup in WalletTool
2013-01-10 14:12:58 +01:00
Mike Hearn
f2a6e41c82
Don't abuse BigIntegers in WalletTool/Utils when parsing hex pubkeys.
2013-01-08 17:33:19 +01:00
Mike Hearn
16668390b3
Support full verification in wallet tool.
2012-12-10 23:30:22 +01:00
Mike Hearn
7873254b2d
Move BlockImporter from examples to tools.
2012-11-01 16:48:24 +01:00
Mike Hearn
6f036f9cf2
s/BitCoinJ/bitcoinj/ everywhere except the version handshake.
...
Resolves issue 249.
2012-11-01 16:24:26 +01:00
Mike Hearn
254393253c
Version 0.7-SNAPSHOT
2012-09-24 15:27:30 +02:00
Mike Hearn
04772a7aa8
Allow setting the creation time for newly created keys (this is useful for testing)
2012-09-09 15:25:58 +02:00
Mike Hearn
087a4f2447
Close block store after finding height for wallet import.
2012-09-07 15:11:32 +02:00
Mike Hearn
8003266a66
Set the tx depth fields whilst loading 0.5 era wallets if the chain height is provided before load. This does NOT migrate workDone as that'd involve scanning potentially the entire block store and nobody uses this data much today. Resolves issue 240.
2012-09-06 18:50:35 +02:00
Mike Hearn
572f2a4f4e
Implement the ability to explicitly set a fee in the Wallet.SendRequest. Does not yet auto-calculate the correct fees. Resolves issue 45. Resolves issue 245.
2012-09-06 17:45:04 +02:00
Mike Hearn
48b4eb95a6
Update WalletTool to new send API.
2012-09-06 15:05:20 +02:00
Mike Hearn
56d74d504a
Another pass at the auto-save code. Resolves issue 246.
2012-08-30 15:39:31 +02:00
Mike Hearn
6f6c5d6773
Add a toString overload on Wallet. Print private keys in WalletTool when available.
2012-08-20 16:01:19 +02:00
Mike Hearn
fd9eba1697
Change PeerGroup.broadcastTransaction() to wait for propagation.
...
It means a send won't be considered completed until it's accepted by the net.
Also is for the case where you receive a transaction (eg, via Bluetooth) and
you want to broadcast it such that you can know it's valid.
Make WalletTool use --peers instead of --peer, a comma separated list of
addresses to use. Remove the crappy sleep after send now we can wait.
Resolves issue 167.
2012-07-22 01:20:48 +02:00
Mike Hearn
bc47fccaeb
Add an auto save function. A background thread will atomically auto-save to a file when there are wallet changes at a limited rate.
2012-07-21 22:37:39 +02:00
Mike Hearn
26912547ce
Fix minor bug in wallet-tool wrapper script (it sucks anyway)
2012-07-05 16:01:44 +02:00
Mike Hearn
893013b415
Remove a couple of redundant Maven <version> tags.
2012-06-08 17:21:38 +02:00
Mike Hearn
6fec1263ff
Add a RAW_DUMP command to wallet tool.
2012-06-08 16:30:23 +02:00
Mike Hearn
335863c75d
Add some helpers for creating pubkey-only outputs.
...
Allow spending of pubkey outputs. There are unit tests but not manually tested yet.
Implement toString() logic for printing pubkey inputs/outputs.
Don't consider coinbase transactions relevant until Jims work is in.
Support sending to pubkeys in wallet-tool
2012-06-07 10:57:34 +02:00
Mike Hearn
dffe7f1348
Horrible hack to ensure WalletTool sends transactions. For some reason the socket gets torn down before it had a chance to write the packets out to the network.
2012-06-07 10:55:15 +02:00
Mike Hearn
02db1509a3
A quick hack for wallet-tool until I learn Maven better.
2012-06-03 15:49:38 +02:00
Mike Hearn
216b5a4d65
Remove a useless <excludes> section.
2012-06-03 15:49:21 +02:00
Mike Hearn
7705bd59a4
Version 0.6-SNAPSHOT
2012-05-21 16:46:44 +02:00
Mike Hearn
e42063806c
Write+rename wallet files.
2012-05-21 15:31:21 +02:00
Mike Hearn
0739a6f674
Port to the latest BouncyCastle API and switch to the SpongyCastle lightweight API. It has the following benefits:
...
- Keeps us up to date with the crypto library
- Resolves the need for an Android artifact by using a renamed lib
- Switches to the lightweight API so minimizes our dependencies, which is also required for the native branch to be merged
Resolves issue 171
2012-05-18 17:03:55 +02:00
Mike Hearn
0a3189c3b4
WalletTool: fix --help and allow privkeys/pubkeys to be parsed as hex or base58.
2012-05-02 17:56:05 +02:00
Miron Cuperman
6a82462d2d
More Wallet consistency checks
2012-05-01 18:45:48 -07:00
Mike Hearn
0ab36f7839
Some more wallet-tool fixes/improvements.
2012-04-06 18:41:53 +02:00
Mike Hearn
ece8f548a9
Support for sending money from wallet-tool.
2012-04-06 14:37:49 +02:00
Mike Hearn
b7379d562f
WalletTool improvements:
...
- Can now wait for blocks, wallet-relevant transactions or for wallet balance to meet a given condition
- Simplified the code somewhat
2012-04-05 20:34:31 +02:00
Mike Hearn
6368862ffe
Clear out some more FindBugs warnings.
2012-04-04 23:52:02 +02:00
Mike Hearn
0c90081c12
Make wallet tool compile to a minimized, bundled JAR so it can be used standalone, and change the wallet-tool script to use it that way. It makes running much faster.
2012-04-02 16:13:45 +02:00
Mike Hearn
a119286b29
POM changes and refactorings from Gary.
2012-03-16 13:20:50 +01:00
Mike Hearn
6e162057c1
Removed IML files from git.
2012-03-13 19:00:33 +01:00
Mike Hearn
0e52c98c45
Use the standard Maven directory layout, rename "lib" to "core". Mavenize submodules.
2012-03-13 18:57:03 +01:00
Mike Hearn
216deb2d35
Re-organize the source tree so people can depend on bitcoinj without pulling in the examples, tools, or dependencies thereof.
2012-03-11 20:01:12 +01:00