Commit Graph

13078 Commits

Author SHA1 Message Date
Luke Dashjr
12c708a4b3 getblocktemplate: Use version/force mutation to support pre-BIP9 clients 2016-06-06 17:10:23 +00:00
Luke Dashjr
98790608a4 getblocktemplate: Explicitly handle the distinction between GBT-affecting softforks vs not 2016-06-06 17:10:23 +00:00
Luke Dashjr
72cd6b20ca qa/rpc-tests: bip9-softforks: Add tests for getblocktemplate versionbits updates 2016-06-06 17:10:22 +00:00
Luke Dashjr
d3df40e51a Implement BIP 9 GBT changes
- BIP9DeploymentInfo struct for static deployment info
- VersionBitsDeploymentInfo: Avoid C++11ism by commenting parameter names
- getblocktemplate: Make sure to set deployments in the version if it is LOCKED_IN
- In this commit, all rules are considered required for clients to support
2016-06-06 17:10:22 +00:00
Wladimir J. van der Laan
52c3f348be Merge #8142: Improve CWallet API with new GetAccountPubkey function.
152ab23 Improve CWallet API  with new GetAccountPubkey function. (Patrick Strateman)
2016-06-06 16:28:41 +02:00
Patrick Strateman
152ab236ea Improve CWallet API with new GetAccountPubkey function.
Remove one more caller that is passing CWalletDB.
2016-06-06 07:02:05 -07:00
Wladimir J. van der Laan
6b781df74f Merge #8007: Minor locking improvements
f0fdda0 IsInitialBlockDownload: usually avoid locking (Kaz Wesley)
2016-06-06 15:45:40 +02:00
Wladimir J. van der Laan
243ac0c75b Merge #8137: Improve CWallet API with new AccountMove function.
9dfaa1c Improve CWallet API with new AccountMove function. (Patrick Strateman)
2016-06-06 14:59:10 +02:00
Wladimir J. van der Laan
2e494489c3 tor: Change auth order to only use HASHEDPASSWORD if -torpassword
Change authentication order to make it more clear (see #7700).

- If the `-torpassword` option is provided, force use of
  `HASHEDPASSWORD` auth.

- Give error message if `-torpassword` provided, but
  `HASHEDPASSWORD` auth is not available.

- Give error message if only `HASHEDPASSWORD` available, but
  `-torpassword` not given.
2016-06-06 10:38:54 +02:00
Wladimir J. van der Laan
e6b141acf9 qt: translation strings update 2016-06-06 10:34:15 +02:00
Pieter Wuille
c2a4724642 Optimization: use usec in expiration and reuse nNow 2016-06-06 02:02:24 +02:00
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
Johnathan Corgan
03c709b422 Backport leveldb build integration to 0.12
This is a cherry-pick of a4625acb with minor conflict
resolution.

Conflicts:
	src/Makefile.am

=====

leveldb: integrate leveldb into our buildsystem

leveldb's buildsystem causes us a few problems:
- breaks out-of-tree builds
- forces flags used for some tools
- limits cross builds

Rather than continuing to add wrappers around it, simply integrate it into our
build.
2016-06-05 12:48:57 -07: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
Kaz Wesley
c3d1bc33b5 CBase58Data::SetString: cleanse the full vector
SetString seems to be passing the length of the wrong variable to
memory_cleanse, resulting in the last byte of the temporary buffer not being
securely erased.

Github-Pull: #7922
Rebased-From: 57704499be
2016-06-04 18:01:02 +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
Braydon Fuller
55fa4798eb main: spentindex for the mempool 2016-06-02 12:15:59 -04:00
Braydon Fuller
4c7dc871d1 rpc: add input value and address to getrawtransaction if spentindex enabled 2016-06-02 12:15:38 -04:00
Braydon Fuller
16d35eb228 main: add amount and address to spentindex value 2016-06-02 12:15:38 -04:00
Braydon Fuller
87dfd13694 rpc: include satoshis in verbose raw transaction 2016-06-02 12:15:38 -04:00
Braydon Fuller
1c022b9fc2 rpc: add blockindex to getaddressdeltas method
for the purposes of secondary sorting by block order
2016-06-02 12:15:37 -04:00
Braydon Fuller
3c74fff552 rpc: include help text for addressindex and related commands 2016-06-02 12:15:37 -04:00
Braydon Fuller
eb82f39655 rpcclient: add params to be parsed as JSON
There was an issue where getblockhashes wouldn't work from bitcoin-cli
as the two params would be strings instead of integers. This fixes that
issue, and will parse the first param as JSON for other addressindex
related rpc methods.
2016-06-02 12:15:37 -04:00
Cory Fields
6c44620e5a travis: switch to Trusty
Github-Pull: #7920
Rebased-From: 06fdffd222, 9267a47d86, cf77fcdb1f, 174023c9b0, a33b7c9cb5
Cherry-pick-From: 564aaa2cd0
2016-06-02 12:15:37 -04:00
Luke Dashjr
128c5e1232 Workaround Travis-side CI issues
Github-Pull: #7487
Rebased-From: 149641e8fc c01f08db12 5d1148cb79 1ecbb3b0f7
Cherry-pick-From: 00d57b4d3a
2016-06-02 12:15:37 -04:00
Wladimir J. van der Laan
9c5b709c6f tests: Make proxy_test work on travis servers without IPv6
Github-Pull: #7489
Rebased-From: 7539f1aae3
Cherry-picked-From: 9ca957bcd4
2016-06-02 12:15:37 -04:00
Braydon Fuller
5fa85bc9ae rpc: update oksafemode for address commands 2016-06-02 12:15:37 -04:00
Braydon Fuller
98f8fdddc8 rpc: optional "start" and "end" params for getaddressdeltas 2016-06-02 12:15:37 -04:00
Braydon Fuller
8391ff0b0a rpc: include base58check encoded address in results 2016-06-02 12:15:37 -04:00
Braydon Fuller
28f9ae7853 test: test for getaddressmempool prevhash and prevout values 2016-06-02 12:15:37 -04:00
Braydon Fuller
5c3cf5f631 rpc: include prevhash and prevout information for spending deltas 2016-06-02 12:15:37 -04:00
Braydon Fuller
04da9306c6 build: fix darwin build 2016-06-02 12:15:37 -04:00
Braydon Fuller
94ea69a4d5 rpc: fix issue with querying txids by block heights 2016-06-02 12:15:37 -04:00
Braydon Fuller
96d8307b55 rpc: query txids for addresses within block height range 2016-06-02 12:15:37 -04:00
Braydon Fuller
abe40712ce rpc: include height in spentinfo 2016-06-02 12:15:37 -04:00