Commit Graph

258 Commits

Author SHA1 Message Date
Andreas Schildbach
0b5d40e49f Remove references to a specific testnet faucet. 2021-10-22 09:08:21 +02:00
Sean Gilligan
6da10f8641 build.gradle: Update SLF4J to 1.7.32. 2021-09-17 11:51:11 +02:00
Andreas Schildbach
e407240b7e Support BIP133 feefilter messages. 2021-05-03 16:23:51 +02:00
Andreas Schildbach
1db44fb4f1 PeerMonitor: Show an additional column with the results of an getaddr request. 2021-04-22 16:50:07 +02:00
Andreas Schildbach
04a71b09af PeerMonitor: Increase initial size of window. 2021-04-22 16:02:19 +02:00
Andreas Schildbach
39bb7faafb PeerMonitor: Simplify a switch-case. 2021-04-22 15:59:09 +02:00
Andreas Schildbach
ffb02ae760 Script: Deprecate non-segwit variant of correctlySpends(). 2021-03-07 09:43:55 +01:00
Andreas Schildbach
8906e7cc27 Transaction: Add toHexString() for converting a transaction to raw hex format. 2021-02-16 11:26:09 +01: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
f0bbb92bcf ForwardingService: Get rid of unused forwardCoins() method argument. 2020-10-24 16:45:04 +02:00
Andreas Schildbach
b6b221ae1b Apply "Anonymous type has shorter lambda alternative" refactoring. 2020-09-07 21:13:14 +02:00
Andreas Schildbach
c08a4d97d3 Apply "Anonymous type can be replaced with lambda" refactoring. 2020-09-07 21:13:14 +02:00
Andreas Schildbach
4847a9df27 Apply "Explicit generic type can be replaced with <>" refactoring. 2020-09-07 21:10:44 +02:00
Andreas Schildbach
7d9f109ee1 Peer: Deprecate a redundant constructor. 2020-03-04 17:34:11 +01:00
Andreas Schildbach
06bd0a841e PeerDiscovery: Change getPeers() return type from array to list.
This gets rid of a lot of array/list conversions.
2020-03-04 12:35:02 +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
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
Andreas Schildbach
5fb2b44d47 PrivateKeys: Send coins before stopping the PeerGroup. 2019-08-09 11:29:14 +02:00
Sean Gilligan
1394f91d61 Update slf4j to 1.7.27. 2019-08-08 09:43:56 +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
Sean Gilligan
806afa0441 Replace Guava newArrayList()/newLinkedList() with direct call to the JDK 7 constructor.
This is recommended by deprecation comment in Guava.
2019-06-01 13:58:11 +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
783dd45c4b Wallet: Remove (or reduce visibility of) the deprecated constructors.
Replace usages in unit tests and examples with usage of the static createDeterministic() constructor.
2019-04-08 11:23:41 +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
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
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
a5fd9c6848 KeyBag: Rename method findKeyFromPubHash() to findKeyFromPubKeyHash(). 2019-02-01 18:02:20 +01:00
Andreas Schildbach
53908d8939 KeyBag, TransactionBag: Rename parameters pubkey to pubKey, pubkeyHash to pubKeyHash. 2019-02-01 18:01:45 +01:00
Andreas Schildbach
0875d4a5b3 ECKey: If DER-encoded signatures cannot be parsed, throw SignatureDecodeException rather than RuntimeException. 2019-01-03 11:55:32 +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
aaa5262ef4 Migrate from Maven to Gradle 3.4 for building. 2018-05-01 16:49:30 +02:00
Andreas Schildbach
7e9c45ad55 ForwardingService: Fix hardcoded fee by simply emptying the entire wallet to the forwarding address. This will make sure the library is calculating the correct fee. 2018-03-13 23:03:48 +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
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
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
cb01312395 Update to slf4j 1.7.25. 2018-02-23 12:24:06 +01:00
harryge00
911f6d49c0 SendRequest example: Fix the print info. 2018-02-10 17:43:25 +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
Bo-Ye
3e62906971 FetchBlock example: Enhance this example to be able to connect DNS discovered peers so that you don't need to install bitcoind locally. 2017-07-24 14:17:48 +02:00
Andreas Schildbach
afc198600a Utils: Inline join(). 2017-06-02 16:55:40 +02:00
Andreas Schildbach
e62275d41b Update to Guava 22.0-android. This raises the Java API requirement to 1.7. 2017-05-31 16:37:04 +02:00
Giuseppe Raveduto
1fd8b90f42 Fix SendRequest package in forwarding.js. 2017-02-16 01:39:26 +01:00
Andreas Schildbach
9cbc45aeea PeerAddress: Require NetworkParameters in constructors. 2017-01-10 11:23:25 +01:00
Giuseppe Raveduto
6669d9032c Fix the "TypeError: Java.extend needs at least one type argument" in the forwarding.js example (wrong package). 2016-12-01 13:25:49 +01:00
Andreas Schildbach
ea4a3ed67a Remove tor.js from examples as Tor support was removed from bitcoinj recently. 2016-12-01 13:22:05 +01:00
cyberzac
2e0e81d3a2 Payment channels: Added ClientChannelProperties and ServerChannelProperties to allow configuration of the channels. 2016-08-12 09:48:59 +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
Matthew Shaylor
0b3cc9c59f Replace URLs to code.google.com by the appropriate GitHub URLs. 2016-04-19 23:15:37 +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
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
840df06b79 RefreshWallet: Comment how to get a test wallet. 2016-03-30 13:11:44 +02:00
Andreas Schildbach
c1938fec75 Harmonize license headers. 2016-03-26 19:55:05 +01:00
Andreas Schildbach
a97f4923b4 Get rid of SendRequest.DEFAULT_FEE_PER_KB "constant".
If you have been reading that field, you probably want to use Transaction.REFERENCE_DEFAULT_MIN_TX_FEE.
If you have been writing to that field to change the SendRequest.feePerKb default, use a Context.feePerKb
instead. There is also a new Context.ensureMinRequiredFee.
2016-03-21 21:55:28 +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
Will Shackleton
7bb7ab60e1 Added capability to run example payment channels on regtest, test or main nets 2016-02-27 13:00:47 +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
Andreas Schildbach
59fa28ec70 LevelDbFullPrunedBlockStore: Reformat and rename class. It used Windows line endings. 2016-01-25 22:53:51 +01:00
Robin Owens
db74695e43 LevelDb fully pruned block store. 2016-01-16 12:11:01 +01:00
Kirill Vlasov
0ba3f4c2d2 "@Override" annotation should be used on any method overriding (since Java 5) or implementing (since Java 6) another one. 2015-12-08 10:29:40 +01:00
Ross Nicoll
92df23c979 Added LOW_S script flag test case generator 2015-10-31 16:10:40 +01:00
Mike Hearn
fabbb0a9ac Tweak HS integration again to avoid performance regression. 2015-10-08 15:56:44 +02:00
Andreas Schildbach
1be65483b4 Adds a services bitmask to PeerDiscovery.getPeers(), so we can query HTTP seeds for specific services.
As this is a breaking change to the API, it removes IrcDiscovery (there is no point in keeping it).
Also updates OkHttp to 2.4.0.
2015-08-25 12:44:35 +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
16465d9310 Fix licenses for tools and examples. 2015-08-07 16:45:18 +02:00
Chris
0f0c7baec9 Update javascript Tor example to reflect simplified handling of .onion addresses 2015-07-24 23:03:21 +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
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
820765753c Clean up toString and other string-related code. 2015-06-30 12:45:59 +02:00
Mike Hearn
9f8501a7bf Examples: add a tor.js file that connects to a hidden service node, as a demo of how to do it. 2015-06-25 19:04:54 +02:00
Mike Hearn
7666d84625 Examples: demo.js to use current PeerGroup start() API 2015-06-25 19:02:31 +02:00
Michael Bell
caa294c7f6 Fixing NPE in ExamplePaymentChannelServer due to using unintialized state. 2015-06-24 15:29:28 +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
Peter Stockli
e25e561560 remove unused imports and unused local variables 2015-06-23 19:51:41 +02:00
Andreas Schildbach
dba18dfb4d Update to slf4j 1.7.7. 2015-04-17 16:37:13 +02:00
Mike Hearn
b25899de58 Rename DownloadListener to DownloadProgressTracker 2014-12-18 13:59:50 +01:00
Mike Hearn
8acf2e91e8 Add a BIP70 example to the javascript folder 2014-12-04 18:51:45 +01:00
Mike Hearn
90dace2ef5 Java 8 syntax cleanup 2014-12-03 13:10:07 +01:00
Devrandom
b9bca58f26 Remove tx from TransactionConfidence 2014-12-03 13:10:06 +01:00
Mike Hearn
e7c00df740 Replace peerGroup.startAsync/awaitRunning with start() and awaitTerminated with stop(). 2014-11-24 13:04:58 +01:00
Mike Hearn
0952cf3d20 RefreshWallet doesn't need to specify localhost explicitly anymore. 2014-11-23 14:23:35 +01:00
Richard Green
3a23bb5ecd Update forwarding.py
removed commented code that served no purpose.
2014-11-03 14:11:16 +01:00
Richard 'ragmondo' Green
17d8ac8d74 Made the sys.path.append more obvious 2014-11-03 14:11:16 +01:00