3
0
mirror of https://github.com/Qortal/altcoinj.git synced 2025-02-15 11:45:51 +00:00

2645 Commits

Author SHA1 Message Date
Andreas Schildbach
52b9623262 Wallet: Fix printing the same transaction twice when two pending transactions double spend each other are seen. 2015-10-14 15:56:25 +02: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
761834bc18 Allow some monkey-patching of Peer methods/Peer creation.
Fix a bug in the min version required feature.
2015-10-08 19:15:07 +02:00
Mike Hearn
0079c272ff PeerGroup: fix a bug that'd leave maxConnections == 0 if setRequiredServices was used without configuring any other discovery (a typical use case). 2015-10-08 16:10:48 +02:00
Mike Hearn
fabbb0a9ac Tweak HS integration again to avoid performance regression. 2015-10-08 15:56:44 +02:00
Mike Hearn
e104bfbb7e PeerAddress/HttpDiscovery: accept unresolved InetSocketAddresses to avoid super-slow reverse DNS lookups for HTTPSeed discovered peers. 2015-10-08 14:51:47 +02:00
Mike Hearn
3d322d5c98 Block/FakeTxBuilder: restore API compat 2015-10-08 14:51:11 +02:00
Mike Hearn
979d20996e PeerAddress: simplify dead code 2015-10-08 13:51:14 +02:00
Mike Hearn
f9c6ded2b8 GetUTXOSMessage: int -> long for flags constant (makes Kotlin interop smoother) 2015-10-08 13:45:34 +02:00
Glenn Marien
ce22d1a493 Fixed imported keys not being passed onto UTXOProvider 2015-10-05 18:00:49 +02:00
Mike Hearn
9ba1be762a Wallet: flip argument ordering in deprecated Wallet.addEventListener to restore compatibility with 0.13 2015-10-05 17:12:55 +02:00
Mike Hearn
0342feee86 PeerGroup: restore and deprecate some removed addEventListener methods 2015-10-05 17:03:20 +02:00
Mike Hearn
f5db4b92be Reverse the order of ListenerRegistration c'tor to restore compatibility with bcj 0.13 2015-10-05 17:01:02 +02:00
Mike Hearn
9bfce1bae0 Remove no longer used variable. 2015-09-30 17:21:39 +02:00
dexX7
be41d84fb9
Add more script edge condition tests
Original submission:
```
commit 1c54757f8678c9131ec55c128b8f1d5b6c73c2f9
Author: Dave Collins <davec@conformal.com>
Date:   Wed May 6 10:16:18 2015 -0500

    Add more script edge condition tests.

    This commit adds some tests to the script_valid.json and tx_invalid.json
    data which exercise more edge conditions that are not currently being
    tested.
```

Via:
https://github.com/bitcoin/bitcoin/pull/6112
2015-09-30 00:34:08 +02:00
dexX7
a3d378bae6
Ensure "OP_0" and "false" have the same represenstation on stack
During the script execution via `executeScript()` certain operations
add boolean values to the stack.

Boolean values, which are added to the stack as result, are represented
as follows in Bitcoin Core:

- `true`: as vector with one element: `[1]`
- `false`: as empty vector with zero elements: `[]`

See:

- 48efbdbe98/src/script/interpreter.cpp (L244)
- 48efbdbe98/src/script/interpreter.cpp (L246)

However, in BitcoinJ the representation of `false` differs in some
cases, where it is represented as Byte array with one element, which
is zero: `[0]`

See:

- `OP_EQUAL`: 5dcf643975/core/src/main/java/org/bitcoinj/script/Script.java (L1025)
- `OP_CHECKSIG`: 5dcf643975/core/src/main/java/org/bitcoinj/script/Script.java (L1304)
- `OP_CHECKMULTISIG`: 5dcf643975/core/src/main/java/org/bitcoinj/script/Script.java (L1381)

At minimum this has an impact on the behavior of `OP_EQUAL` and
`OP_EQUALVERIFY`, when comparing something with `OP_FALSE`/`OP_0`.

This commit attemps to fix the issue, to mirror the verification
behavior of Bitcoin Core, by adding empty Byte arrays to the stack,
instead of Byte arrays with `0`.
2015-09-30 00:30:29 +02:00
Andreas Schildbach
9b860f14de Don't add Maven descriptor to build artifacts.
It's pretty useless and it stands in the way of reproducible builds.
2015-09-27 14:31:21 +02:00
Mike Hearn
7014810cf6 Peer: Break out the onTransactionBroadcast event into a separate interface. 2015-09-18 21:10:53 +01:00
Mike Hearn
c2a67aaa59 Fix thread safety issue when creating multiple wallets in parallel. 2015-09-16 14:11:19 +01:00
Andreas Schildbach
f20cb1132d WalletProtobufSerializer: Rethrow IllegalArgumentException when loading wallets. 2015-09-05 19:23:18 +02: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
cyberzac
7c8c2a4b02 Allowing settlement of unused channel 2015-09-04 16:13:49 +02:00
Mike Hearn
fc9ae41883 Restore some deprecated backwards compatibility glue for the event listener changes. 2015-09-02 20:40:22 +02:00
Mike Hearn
5e15c04305 AbstractBlockChain: remove useless final declarations from event listener registration methods added in recent commits 2015-09-02 20:10:38 +02:00
Mike Hearn
9470601ea5 Wallet: make balance futures work for all balance types 2015-09-02 20:10:38 +02:00
Mike Hearn
a73677e9fb DeterministicKey: throw a KeyCrypterException instead of an IllegalStateException if the derivation check fails (as this can happen when the password is wrong) 2015-09-02 20:10:38 +02:00
Mike Hearn
48b4df73a1 Coin: more aliases 2015-09-02 20:10:37 +02:00
Oscar Guindzberg
629e5d864d Rename getChangeAddress() to currentChangeAddress() 2015-09-01 17:39:46 -03:00
Mike Hearn
207ef37894 Coin: add plus/minus aliases for add/subtract. This activates Kotlin operator overloading support. 2015-08-31 15:46:01 +02:00
Mike Hearn
864f2529e8 Wallet: make getUnspents() public. 2015-08-31 15:12:02 +02:00
Mike Hearn
6b4123cd9f Comparison tool: take out the warning sleep 2015-08-27 15:21:50 +02:00
Ross Nicoll
d3d11df6d7 Add BIP 34 enforcement
This patch primarily enforces block height being present in the coinbase
transaction input, altough it introduces a number of other fixes and
changes to support this.

* VersionTally now returns the number of blocks at or above a version, rather than just at, to enable forward-compatible support (i.e. v3 blocks include all v2 block tests)
* Block version is now explicitely provided in most tests which generate blocks, in order to ensure correct tests are applied
* Block height is now used when generating coinbase transactions
* Added support for the chain parameters to determine which tests apply to a block, so altcoins can override the defaults if needed.
* Added initial checks ahead of full BIP 66 validation checks
2015-08-27 15:12:39 +02:00
Oscar Guindzberg
c5727d12fa Fix AbstractBlockChain comments 2015-08-27 15:08:25 +02:00
Andreas Schildbach
eec6eebc68 MonetaryFormat: add message to non-obvious precondition. 2015-08-27 11:15:12 +02:00
peacekeeper
5dcf643975 A transaction output may have multiple OP_RETURNs. 2015-08-26 12:03:41 +02:00
Oscar Guindzberg
cf980bc68c DeterministicKeyChain.toString(): remove unnecessary check to show the xpub. 2015-08-26 11:58:34 +02:00
ollekullberg
ebc888d282 Name change: ProtobufParser → ProtobufConnection, StreamParser → StreamConnection 2015-08-26 11:07:22 +02:00
Andreas Schildbach
74af6a2c8a Set user agent for HTTP discovery. 2015-08-25 17:50:30 +02:00
Andreas Schildbach
5bd0623a28 Convenience method PeerGroup.setRequiredServices() for connecting only to peers that can serve specific services 2015-08-25 12:44:36 +02:00
Andreas Schildbach
72763f2711 Add MultiplexingDiscovery.forServices() that builds a suitable set of peer discoveries for
(optional) a set of desired services.
2015-08-25 12:44:36 +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
Andreas Schildbach
d4c7ce5c77 wallet-template: Fix warning about missing @Nullable annotation. 2015-08-24 18:54:00 +02:00
Andreas Schildbach
a12ec7f49d Fix Tor support does not use all available HTTP seeds. 2015-08-24 18:54:00 +02:00
Mike Hearn
2c8ffc84ec Peer: Lower log priority of message about not being configured with a block chain.
Using Peer[Group] to download blocks with no block chain is reasonable and printing a message every time a block is received is annoying.
2015-08-24 16:58:11 +02:00
Andreas Schildbach
021b0d76fe Add httpseed.bitcoin.schildbach.de to HTTP seeds. 2015-08-22 15:20:12 +02:00
Oscar Guindzberg
a8edae0475 MarriedKeyChain: Remove redundant check. 2015-08-20 09:42:45 +02:00
Oscar Guindzberg
6c3b545b0c DeterministicKeyChain: Rename "externalKey" and "internalKey" attribute
names to "externalParentKey" and "internalParentKey".
2015-08-20 09:39:24 +02:00
Oscar Guindzberg
fe7b703237 Wallet: Rename attribute "keychain" to "keyChainGroup". 2015-08-20 09:37:30 +02:00
Andreas Schildbach
200f2368c6 AddressFormatException: Make unchecked. Base58 strings are rarely typed manually these days. 2015-08-08 16:33:29 +02:00