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
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