Pieter Wuille
e9b4780b29
Optimization: don't check the mempool at all if no mempool req ever
2016-06-06 02:02:23 +02:00
Pieter Wuille
dbfb426b96
Optimize the relay map to use shared_ptr's
...
* Switch mapRelay to use shared_ptr<CTransaction>
* Switch the relay code to copy mempool shared_ptr's, rather than copying
the transaction itself.
* Change vRelayExpiration to store mapRelay iterators rather than hashes
(smaller and faster).
2016-06-06 02:00:23 +02:00
Kaz Wesley
f0fdda0181
IsInitialBlockDownload: usually avoid locking
...
Optimistically test the latch bool before taking the lock.
For all IsInitialBlockDownload calls after the first to return false,
this avoids the need to lock cs_main.
2016-06-04 22:18:59 -07:00
Pieter Wuille
8d39d7a2cf
Switch CTransaction storage in mempool to std::shared_ptr
2016-06-05 00:31:43 +02:00
Pieter Wuille
1b9e6d3c1a
Add support for unique_ptr and shared_ptr to memusage
2016-06-05 00:31:35 +02:00
Jonas Schnelli
d46b8b50fc
Merge #8143 : comment nit: miners don't vote
...
e39dc69
comment nit: miners don't vote (instagibbs)
2016-06-04 16:01:35 +02:00
Cory Fields
340012d9c9
build: add temporary fix for "bad magic number" error in out-of-tree builds
...
This was caused by an pyc files hanging around from previous
python2 invocations, when the matching .py missing from that path.
This should not be a problem with python3's tagged caches.
2016-06-03 14:48:21 -04:00
instagibbs
e39dc698ad
comment nit: miners don't vote
2016-06-03 10:07:14 -04:00
Wladimir J. van der Laan
8c1e49ba13
Merge #7967 : [RPC] add feerate option to fundrawtransaction
...
04eaa90
Add more clear interface for CoinControl.h regarding individual feerate (Jonas Schnelli)
3b35e48
[RPC] add feerate option to fundrawtransaction (Jonas Schnelli)
2016-06-03 15:47:48 +02:00
Wladimir J. van der Laan
c141c14c9f
Merge #7942 : locking for Misbehave() and other cs_main locking fixes
...
719de56
lock cs_main for chainActive (Kaz Wesley)
efb54ba
lock cs_main for State/Misbehaving (Kaz Wesley)
2016-06-03 15:29:28 +02:00
MarcoFalke
ae5575ba41
Merge #8139 : Fix interrupted HTTP RPC connection workaround for Python 3.5+
...
f45f51e
Fix interrupted HTTP RPC connection workaround for Python 3.5+ (Pieter Wuille)
2016-06-03 08:53:43 +02:00
Pieter Wuille
a82f03393a
Merge #7997 : replace mapNextTx with slimmer setSpends
...
9805f4a
mapNextTx: use pointer as key, simplify value (Kaz Wesley)
2016-06-03 01:26:50 +02:00
Pieter Wuille
f972b04d63
Merge #7825 : Prevent multiple calls to ExtractDestination
...
0bf6f30
Prevent multiple calls to ExtractDestination (Pedro Branco)
2016-06-03 00:45:22 +02:00
Kaz Wesley
9805f4af7e
mapNextTx: use pointer as key, simplify value
...
Saves about 10% of application memory usage once the mempool warms up. Since the
mempool is DynamicUsage-regulated, this will translate to a larger mempool in
the same amount of space.
Map value type: eliminate the vin index; no users of the map need to know which
input of the transaction is spending the prevout.
Map key type: replace the COutPoint with a pointer to a COutPoint. A COutPoint
is 36 bytes, but each COutPoint is accessible from the same map entry's value.
A trivial DereferencingComparator functor allows indirect map keys, but the
resulting syntax is misleading: `map.find(&outpoint)`. Implement an indirectmap
that acts as a wrapper to a map that uses a DereferencingComparator, supporting
a syntax that accurately reflect the container's semantics: inserts and
iterators use pointers since they store pointers and need them to remain
constant and dereferenceable, but lookup functions take const references.
2016-06-02 12:31:51 -07:00
mrbandrews
12c5a16c4e
Catch exceptions from non-canonical encoding and print only to log
2016-06-02 14:43:18 -04:00
mrbandrews
291f8aa5da
Continuing port of java comptool
2016-06-02 14:42:09 -04:00
Pieter Wuille
f45f51e3ae
Fix interrupted HTTP RPC connection workaround for Python 3.5+
2016-06-02 19:17:04 +02:00
Pieter Wuille
ec45cc5e27
Merge #7992 : Extend #7956 with one more test.
...
269a440
Add test for dbwrapper iterators with same-prefix keys. (Matt Corallo)
6030625
test: Add more thorough test for dbwrapper iterators (Wladimir J. van der Laan)
84c13e7
chain: Add assertion in case of missing records in index db (Wladimir J. van der Laan)
2016-06-02 19:14:34 +02:00
Patrick Strateman
9dfaa1cb70
Improve CWallet API with new AccountMove function.
2016-06-02 06:00:59 -07:00
Jonas Schnelli
ee1533e262
Merge #8129 : Fix RPC console auto completer
...
16698cb
PR #7772 is not enough to fix the issue with QCompleter, use event filter instead of `connect` (UdjinM6)
2016-06-02 11:11:38 +02:00
Jonas Schnelli
58725ba89d
Merge #8029 : [Doc] Simplify OS X build notes
...
2692e1b
[Doc] Simplify OS X build notes (fanquake)
2016-06-02 10:45:20 +02:00
Cory Fields
142ffc7e61
travis: use out-of-tree build
2016-06-01 22:21:08 -04:00
Cory Fields
92e37a3689
build: fix out-of-tree 'make deploy' for osx
...
The plist is generated, lives in builddir.
2016-06-01 22:20:59 -04:00
fanquake
6a4cf16e2b
[depends] expat 2.1.1
2016-06-02 09:16:12 +08:00
fanquake
3e0587bf81
[depends] miniupnpc 2.0
2016-06-02 09:16:12 +08:00
fanquake
87b8175d99
[depends] Latest config.guess & config.sub
2016-06-02 09:16:12 +08:00
fanquake
bd3cbd5333
[depends] ZeroMQ 4.1.4
2016-06-02 09:16:12 +08:00
fanquake
0385202bef
[depends] ccache 3.2.5
2016-06-02 09:16:12 +08:00
fanquake
2b2d52ea3a
[depends] Freetype 2.6.3
...
Update FreeType, and change the download location to gnu.org. This is
the other official download location listed on freetype.org
2016-06-02 09:16:12 +08:00
Cory Fields
ab95d5df3d
build: a few ugly hacks to get the rpc tests working out-of-tree
...
- Link pull-tester/rpc-tests.py to the build dir
- Add the build-dir's config to the python path so that tests can find it
- The tests themselves are in srcdir
- Clean up __pycache__ in 'make clean'
2016-06-01 20:31:55 -04:00
Cory Fields
fc4ad0c7fc
build: more out-of-tree fixups
...
- clear the __pycache__ during 'make clean'
- Copy the qrc locale file to a temp location and remove it when finished
(rcc expects everything to be in the same path)
2016-06-01 20:31:55 -04:00
Cory Fields
0cb0f2626e
build: out-of-tree fixups
...
Don't glob the leveldb for dist. That means we need to enumerate the headers.
2016-06-01 20:31:55 -04:00
Pieter Wuille
715e9fd745
Merge #8077 : Consensus: Decouple from chainparams.o and timedata.o
...
ee9f4a5
Consensus: Decouple from chainparams.o and timedata.o (Jorge Timón)
2016-06-01 20:52:27 +02:00
Pieter Wuille
2e0a99037d
Merge #8123 : Use std::atomic for fRequestShutdown and fReopenDebugLog
...
a886dbf
Use std::atomic for fRequestShutdown and fReopenDebugLog (Pieter Wuille)
16cf85f
Revert "Include signal.h for sig_atomic_t in WIN32" (Pieter Wuille)
2016-06-01 20:38:41 +02:00
Jonas Schnelli
c022e5b15d
[Wallet] use constant for bip32 hardened key limit
2016-06-01 20:29:39 +02:00
Pieter Wuille
a886dbf8e7
Use std::atomic for fRequestShutdown and fReopenDebugLog
2016-06-01 19:18:25 +02:00
Pieter Wuille
16cf85fa2c
Revert "Include signal.h for sig_atomic_t in WIN32"
...
This reverts commit 88f14b999c
.
2016-06-01 19:18:06 +02:00
Pieter Wuille
7fa8d75859
Merge #8112 : Include signal.h for sig_atomic_t in WIN32
...
88f14b9
Include signal.h for sig_atomic_t in WIN32 (Pieter Wuille)
2016-06-01 18:47:45 +02:00
Pieter Wuille
6a22373771
Merge #7960 : Only use AddInventoryKnown for transactions
...
383fc10
Only use AddInventoryKnown for transactions (Suhas Daftuar)
2016-06-01 18:36:11 +02:00
Alex Morcos
c2dd5a3c39
FIX: correctly measure size of priority block
2016-06-01 12:29:03 -04:00
Pieter Wuille
b89ef13114
Merge #7689 : Replace OpenSSL AES with ctaes-based version
...
723779c
build: Enumerate ctaes rather than globbing (Cory Fields)
34ed64a
crypter: add tests for crypter (Cory Fields)
0a36b9a
crypter: shuffle Makefile so that crypto can be used by the wallet (Cory Fields)
976f9ec
crypter: add a BytesToKey clone to replace the use of openssl (Cory Fields)
9049cde
crypter: hook up the new aes cbc classes (Cory Fields)
fb96831
crypter: constify encrypt/decrypt (Cory Fields)
1c391a5
crypter: fix the stored initialization vector size (Cory Fields)
daa3841
crypto: add aes cbc tests (Cory Fields)
27a212d
crypto: add AES 128/256 CBC classes (Cory Fields)
6bec172
Add ctaes-based constant time AES implementation (Pieter Wuille)
a545127
Squashed 'src/crypto/ctaes/' content from commit cd3c3ac (Pieter Wuille)
2016-06-01 18:22:34 +02:00
Pieter Wuille
01d8359983
Merge #8082 : Defer inserting into maprelay until just before relaying.
...
4d8993b
Defer inserting into maprelay until just before relaying. (Gregory Maxwell)
2016-06-01 16:05:09 +02:00
Pieter Wuille
58f0c929a3
Merge #8121 : [Doc] Update implemented BIPs list
...
e4f73c7
[Doc] Update implemented BIPs list (fanquake)
2016-06-01 15:38:34 +02:00
mrbandrews
8c9e681ff8
Tests: Rework blockstore to avoid re-serialization.
2016-05-31 14:21:40 -04:00
Gregory Maxwell
4d8993b346
Defer inserting into maprelay until just before relaying.
...
This reduces the rate of not founds by better matching the far
end expectations, it also improves privacy by removing the
ability to use getdata to probe for a node having a txn before
it has been relayed.
2016-05-31 15:35:45 +00:00
Wladimir J. van der Laan
862fd24b40
Merge #8080 : Do not use mempool for GETDATA for tx accepted after the last mempool req.
...
7e908c7
Do not use mempool for GETDATA for tx accepted after the last mempool req. (Gregory Maxwell)
2016-05-31 15:47:32 +02:00
Wladimir J. van der Laan
a2df115249
Merge #8090 : Adding P2SH(p2pkh) script test case
...
b682960
Adding P2SH(p2pkh) script test case (Chris Stewart)
2016-05-31 15:27:14 +02:00
Wladimir J. van der Laan
e7e25ea512
Merge #8110 : [Doc] Add benchmarking notes
...
1a8c4d5
[Doc] Add benchmarking notes (fanquake)
2016-05-31 15:19:02 +02:00
Wladimir J. van der Laan
0026e0ef34
Merge #8115 : Avoid integer division in the benchmark inner-most loop.
...
63ff57d
Avoid integer division in the benchmark inner-most loop. (Gregory Maxwell)
2016-05-31 15:10:03 +02:00
Jonas Schnelli
f19025106d
[Wallet] Add simplest BIP32/deterministic key generation implementation
2016-05-31 14:47:00 +02:00