Sean Gilligan
7626b27850
build.gradle: update picocli to 4.6.3
2022-02-18 09:02:24 +01:00
Sean Gilligan
ea208935ff
build.gradle: Update SLF4J to 1.7.36
...
Starting with version 1.7.36, SLF4J releases are reproducible.
2022-02-18 08:54:36 +01:00
Andreas Schildbach
6ad636ccec
SigNetParams: support signet
2022-02-11 10:52:49 +01:00
Andreas Schildbach
7d1d7ecd09
BuildCheckpoints: make sure the bitcoinj context is set on the thread
2022-01-28 01:16:49 +01:00
Sean Gilligan
da6d6be288
WalletTool: Move to its own wallettool
submodule
2022-01-05 00:24:42 +01:00
Sean Gilligan
0d67977ca1
build.gradle: Update examples and tools submodules to JDK 11
2022-01-04 03:03:44 +01:00
Sean Gilligan
dda89aad57
Network: move class from tools subproject to core (o.b.utils)
2022-01-03 21:59:19 +01:00
Sean Gilligan
3c3279fa04
tools: Add id() and networkParameters() methods to Network (was NetworkEnum)
...
* Rename from `NetworkEnum` to `Network`
* Use new methods to simplify BuildCheckpoints and WalletTool
* Remove unused imports
2022-01-01 14:42:04 +01:00
Sean Gilligan
a2cf303655
build.gradle: require JDK 11 for the build
...
Uses javac -release option to validate API for older JDK.
2021-12-24 11:35:37 +01:00
Andreas Schildbach
05dfddc98c
make sure to use position(int), flip() and rewind() only from Buffer rather than MappedByteBuffer
...
Without these casts, on some JDKs it links against overloaded methods in MappedByteBuffer and Andoid doesn't have them.
2021-10-06 18:49:36 +02:00
Andreas Schildbach
484275678d
WalletTool: Implement two coin selection options for sending, --select-addr and --select-output.
2021-09-29 22:46:59 +02:00
Andreas Schildbach
d3505b8949
WalletTool: When specifying ALL as a value of an output, use the correct BalanceType suitable for the value of --allow-unconfirmed.
2021-09-29 22:46:59 +02:00
Andreas Schildbach
f859f571ca
BasicKeyChain, DeterministicKeyChain, WalletTool: use only protobuf API that is available also on protobuf-lite
...
This is meant to aid migration to protobuf-lite.
2021-09-24 11:33:06 +02:00
Sean Gilligan
6da10f8641
build.gradle: Update SLF4J to 1.7.32.
2021-09-17 11:51:11 +02:00
Andreas Schildbach
31c7e5fbce
WalletTool: Tighten two try blocks when sending.
2021-04-14 21:43:52 +02:00
Andreas Schildbach
4c094ef193
WalletTool, BuildCheckpoints, FetchBlock: Migrate parsing of command line options from JOpt to picocli.
2021-02-11 16:15:16 +01:00
Andreas Schildbach
813d2576f2
WalletTool: Remove unused command line argument.
2021-02-11 16:13:42 +01:00
Andreas Schildbach
268a4610fc
wallet-tool-help.txt: Fix displaced line.
2021-01-06 19:49:36 +01:00
Andreas Schildbach
4258bb9f21
Apply "Replace indexOf() with contains()" refactoring.
2020-09-07 21:29:24 +02:00
Andreas Schildbach
a912600010
Apply "Identical catch branches in try statement" refactoring.
2020-09-07 21:29:24 +02:00
Andreas Schildbach
c08a4d97d3
Apply "Anonymous type can be replaced with lambda" refactoring.
2020-09-07 21:13:14 +02:00
Andreas Schildbach
3290c8c541
Apply "try finally replaceable with try with resources" refactoring.
2020-09-07 21:12:58 +02:00
Andreas Schildbach
4847a9df27
Apply "Explicit generic type can be replaced with <>" refactoring.
2020-09-07 21:10:44 +02:00
Andreas Schildbach
dbc4cb1d4c
Make all Loggers final.
2020-05-17 14:48:44 +02:00
Sean Gilligan
0aef9836db
build.gradle: Add 'application' plugin to tools subproject.
...
* Enable and configure Gradle application plugin
* Add wallet-tool instructions in project README.md
2020-03-12 00:25:19 +01:00
Sean Gilligan
e4c6b98536
Make Guava an api
dependency using java-library
...
Use the Gradle java-library plugin to make Guava an `api`
dependency since Guava types are used in the bitcoinj public API.
This allows us to remove explicit dependencies on
Guava in the other modules.
2020-02-29 15:28:09 -08:00
Andreas Schildbach
0112e3ccbe
Update slf4j to 1.7.30.
2020-01-23 01:16:58 +01:00
Andreas Schildbach
68538e57af
Update Guava to 28.2-android.
2020-01-23 01:09:35 +01:00
Andreas Schildbach
ded215e69e
Update slf4j to 1.7.29.
2019-11-21 12:35:13 +01:00
Andreas Schildbach
1e10248d3c
BuildCheckpoints: Reduce default safety margin to one week.
2019-11-20 19:45:38 +01:00
Andreas Schildbach
f396327246
Update Guava to 28.1-android.
2019-10-21 12:15:53 +02:00
Sean Gilligan
03d7d7369f
Update slf4j to 1.7.28.
...
1.7.28 fixes an error in 1.7.27 that could affect some users of JPMS modules.
2019-08-27 12:16:59 +02:00
Sean Gilligan
1394f91d61
Update slf4j to 1.7.27.
2019-08-08 09:43:56 +02:00
Andreas Schildbach
726c7291ac
Wallet: Remove global coinSelector and allowSpendingUnconfirmedTransactions().
...
Coin selection is a per SendRequest, per createSend() or per getBalance() call affair.
Having it wallet-global can lead to race conditions, as sometimes experienced in the
WalletTest unit tests.
2019-07-26 20:30:27 +02:00
Andreas Schildbach
cee5264ab9
build.gradle: Specify javadoc encodings.
2019-07-26 17:14:37 +02:00
Sean Gilligan
951d18b9a7
Update slf4j to 1.7.26.
2019-07-26 10:43:57 +02:00
Andreas Schildbach
d67f060e27
Remove Micropayment Channels.
...
Now that HTLC-based bi-directional payment channels are state of the art, nobody will ever use the old style.
2019-07-15 11:05:14 +02:00
Andreas Schildbach
c168e67703
Wallet: Implement witness fee discount.
...
Fee is now specified in virtual (kilo)bytes. For non-segwit transactions a virtual byte is the same as a byte so the change is backward compatible.
2019-04-29 10:03:04 +02:00
Andreas Schildbach
f83f8187d6
wallet-tool-help.txt: Move description of fee options to general options section.
2019-04-22 19:19:22 +02:00
Tiberiu Nitan
537b244bfa
BuildCheckpoints: Wrap streams in try/finally block to avoid possible resource leaks.
2019-04-22 08:46:28 +02:00
Sean Gilligan
7bfeff65f6
build.gradle: Use plugins block rather than 'apply plugin' statements.
2019-04-18 16:41:12 +02:00
Sean Gilligan
170cc80e45
Update Guava to 27.1-android.
2019-04-05 10:31:35 +02:00
Andreas Schildbach
83b1e44d7d
settings.gradle: Prefix project names by 'bitcoinj-'.
2019-03-24 10:34:23 +01:00
Andreas Schildbach
db51bb257c
Use plain Gradle console for running any of the tools.
2019-03-20 22:30:09 +01:00
Andreas Schildbach
19fbc76e2f
Don't use the Gradle daemon for running any of the tools.
2019-03-13 11:38:07 +01:00
Andreas Schildbach
246fc5ae55
Wallet: In toString(), add a flag for including the lookahead keys into the dump.
2019-02-19 12:20:04 +01:00
Andreas Schildbach
d7d6c3de09
Wallet-tool: Allow comma, semicolon and double colon as separator for seed words to work around the inability of Gradle to pass proper command line arguments.
2019-02-19 10:54:07 +01:00
Andreas Schildbach
08bb331cc3
Update jopt-simple to 5.0.4.
2019-02-15 04:03:39 +01:00
Andreas Schildbach
f24a4aa19a
Update Guava to 27.0.1-android.
2019-02-15 03:34:11 +01:00
Andreas Schildbach
34e8bc217a
build.gradle: Configure Eclipse plugin.
2019-02-14 23:03:24 +01:00
Andreas Schildbach
05efa7e69e
KeyChainGroup, Wallet: Implement the upgrade path Basic --> P2PKH --> P2WPKH.
2019-02-14 14:22:12 +01:00
Andreas Schildbach
3c73f5e8a1
KeyChainGroup: Introduce concept of multiple active keychains.
...
The newest/last active keychain is the default. Almost all of this class only works on the default active keychain.
All other active keychains are meant as fallback for if a sender doesn't understand a certain new script type.
New P2WPKH KeyChainGroups are created with a P2PKH fallback chain. This will likely go away in future as P2WPKH
and Bech32 are becoming the norm.
2019-02-13 23:40:20 +01:00
Andreas Schildbach
eb15ac07d3
Wallet: Remove implicit upgrade from a basic to a deterministic wallet.
...
It never worked for encrypted wallets anyways, and encrypted wallets should be
the the norm. Use Wallet.isDeterministicUpgradeRequired() to find out if your
wallet should be upgraded and invoke Wallet.upgradeToDeterministic() when the
time is right.
2019-02-13 21:57:57 +01:00
Andreas Schildbach
4f5b2f2660
KeyChainGroup: Remove ability to change default lookaheadSize and lookaheadThreshold after construction.
...
Use Builder.lookaheadSize() and Builder.lookaheadThreshold() if you want to change the defaults, or
manage lookahead on DeterministicKeyChains directly.
2019-02-13 16:26:57 +01:00
Andreas Schildbach
bfe2a195b6
Receive to and send from native segwit addresses
...
- Hierarchical-deterministic derivation of native segwit addresses.
- Receive payments to native segwit addresses.
- Spend and sign payments from native segwit addresses.
- Watch-only wallets with native segwit addresses (zpub/vpub).
- WalletAppKit, Wallet-tool and Wallet-template are taught to deal with segwit-enabled wallets.
Be aware this adds a new field in the wallet protobuf: output_script_type in Key, which keeps track
of the script type of DeterministicKeyChains. Protobufs will be migrated; old DeterministicKeyChains
are assumed to be of type P2PKH.
Includes some code by Fabrice Drouin.
2019-02-11 16:48:37 +01:00
Andreas Schildbach
53a63c43bb
Transaction: Add getTxId() and getWTxId(); deprecate getHash() and getHashAsString().
2019-02-06 02:15:11 +01:00
Andreas Schildbach
72f78041ac
WalletTool: Warn if an uncompressed key was imported.
2019-02-04 12:09:49 +01:00
Andreas Schildbach
36f140d0a4
WalletTool: Print success message for key removal.
2019-02-03 17:12:15 +01:00
Andreas Schildbach
5464e5560e
WalletTool: Fix importing of private key in WIF (wallet import format).
2019-02-03 16:57:13 +01:00
Andreas Schildbach
ac7a576b3d
WalletTool: Use Wallet.hasKey() rather than Wallet.findKeyFromPubKey().
2019-02-03 16:55:13 +01:00
Andreas Schildbach
4c953cc538
WalletTool: Fix checkpoint is ignored when synching.
2019-02-03 14:44:43 +01:00
Andreas Schildbach
492b3c7f8d
Wallet: Add findKeyFromAddress() convenience method.
2019-02-01 17:13:08 +01:00
Andreas Schildbach
09832a65ee
WalletTool: Fix not using peer discoveries.
2019-01-31 21:34:31 +01:00
Andreas Schildbach
7b0a9c207f
Update Guava to 25.1-android.
2018-11-27 13:41:58 +01:00
Andreas Schildbach
2992cc16ff
build.gradle: Specify source encodings.
2018-10-31 11:12:49 +01:00
Andreas Schildbach
ad262de961
Migrate from SpongyCastle back to BouncyCastle.
...
Google moved their broken BouncyCastle out of the way with Android 3.0
(see 0ac85ead96
%5E%21/).
2018-10-23 16:09:10 +02:00
Andreas Schildbach
5c768c6ae5
Migrate use of BouncyCastle/SpongyCastle Hex encoder to Guava BaseEncoding.
2018-10-23 16:05:44 +02:00
Andreas Schildbach
aaa5262ef4
Migrate from Maven to Gradle 3.4 for building.
2018-05-01 16:49:30 +02:00
Andreas Schildbach
11d7f15322
BlockImporter: Set bitcoinj context.
2018-04-06 19:20:13 +02:00
Andreas Schildbach
4bbb7be059
Migrate fully qualified names to using imports.
2018-03-11 21:36:25 +01:00
Andreas Schildbach
5b008f90e0
Migrate from Guava Charsets to Java7 StandardCharsets constants.
2018-03-09 17:05:09 +01:00
Andreas Schildbach
7f5b6753f5
Use Address whereever possible in the API, rather than LegacyAddress.
...
This is a preparation for the remaining segwit changes. LegacyAddress
variables in unit tests are also changed.
2018-03-05 10:35:09 +01:00
Andreas Schildbach
52afdc629e
Teach SendRequest and Wallet to send to native segwit addresses.
...
WalletTool and FakeTxBuilder can do it, too.
2018-03-04 15:30:37 +01:00
Andreas Schildbach
0a7f346919
Move WrongNetworkException to AddressFormatException.WrongNetwork.
2018-03-02 13:00:56 +01:00
Andreas Schildbach
c0d8039c82
LegacyAddress: Deprecate getHash160().
2018-02-28 17:01:56 +01:00
Andreas Schildbach
e11119b64f
Rename VersionedChecksummedBytes→PrefixedChecksummedBytes, Address→LegacyAddress and AbstractAddress→Address.
...
This also renames corresponding test classes and mentions in comments.
2018-02-28 16:57:16 +01:00
Andreas Schildbach
4b129475b3
Script: Deprecate the script data extraction methods for CLTV payment channels.
...
Create and make sure to only use equivalents in ScriptPattern.
2018-02-26 13:25:46 +01:00
Andreas Schildbach
dedeb01dac
Move ECKey.toAddress() to Address.fromKey().
...
This is a preparation for supporting native segwit addresses. Keys can't know what
type of address is wanted. In future, there will also be a SegwitAddress.fromKey().
2018-02-26 02:13:18 +01:00
Andreas Schildbach
e44591a9b5
Script: Deprecate the old matcher methods, move their Javadocs over to ScriptPattern and use only the equivalents in ScriptPattern.
2018-02-25 22:51:15 +01:00
Andreas Schildbach
71a5b1b89f
Remove some unused imports.
2018-02-23 20:09:41 +01:00
Andreas Schildbach
cb01312395
Update to slf4j 1.7.25.
2018-02-23 12:24:06 +01:00
Andreas Schildbach
84048b565b
Utils: Move parseAsHexOrBase58() to WalletTool, as it's only being used there.
2018-02-22 11:34:25 +01:00
Andreas Schildbach
9dd8e5ab92
WalletTool: New option --fee-sat-per-byte to set network fee in satoshi per byte.
2018-02-07 11:39:07 +01:00
Andreas Schildbach
c927f0238b
Rename variable peers to peerGroup, as the name can be misleading.
2017-12-21 12:47:13 +01:00
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