Commit Graph

8882 Commits

Author SHA1 Message Date
bba7c24929 Avoid crash on start in TestBlockValidity with gen=1.
When the internal miner is enabled at the start of a new node, there
 is an near instant assert in TestBlockValidity because its attempting
 to mine a block before the top checkpoint.

Also avoids a data race around vNodes.
2015-05-12 14:07:43 +02:00
67708acff9 Write block index more frequently than cache flushes 2015-05-11 17:58:14 -07:00
b3ed4236be Cache tweak and logging improvements 2015-05-11 17:58:14 -07:00
fc684ad8af Use accurate memory for flushing decisions 2015-05-11 17:57:27 -07:00
046392dc1d Keep track of memory usage in CCoinsViewCache 2015-05-11 17:56:48 -07:00
540629c6fb Add memusage.h 2015-05-11 17:56:48 -07:00
5d34e16d3a Add txn_clone.py test
Does what the old txnmall.sh test did.

Creates an equivalent malleated clone and tests that SyncMetaData
syncs the accounting effects from the original transaction to the
confirmed clone.
2015-05-11 17:09:14 -07:00
7e0e7f823f Merge pull request #6058
03c5687 appropriate response when trying to get a block in pruned mode (Jonas Schnelli)
1b2e555 add autoprune information to RPC "getblockchaininfo" (Jonas Schnelli)
2015-05-11 16:40:58 +02:00
03c56872b5 appropriate response when trying to get a block in pruned mode 2015-05-11 16:10:08 +02:00
c1409d11ad Merge pull request #6073
a681663 clarify that there are only two nodes (Jameson Lopp)
2015-05-11 13:41:03 +02:00
23254131a3 Merge pull request #6093
3da7849 [squashme] simplify SetupEnvironment() (by dexX7) (Jonas Schnelli)
b3ffcdf don't imbue boost::filesystem::path with locale "C" on windows (Jonas Schnelli)
2015-05-10 14:22:53 +02:00
3da7849007 [squashme] simplify SetupEnvironment() (by dexX7) 2015-05-10 10:06:41 +02:00
48e9c57cf0 Move LOCKTIME_THRESHOLD to src/script/script.h
Will now be needed by CHECKLOCKTIMEVERIFY code.
2015-05-09 04:33:49 -04:00
99088d60d8 Make CScriptNum() take nMaxNumSize as an argument
While the existing numeric opcodes are all limited to 4-byte bignum
arguments, new opcodes will need different limits.
2015-05-09 04:29:47 -04:00
7eb66182f3 Merge pull request #6117
a1d0ec4 re-add -reindex help message (Jonas Schnelli)
2015-05-09 09:31:33 +02:00
a1d0ec44d7 re-add -reindex help message
was suddenly removed with fc44231cb7 (probably not by purpose)
2015-05-08 19:59:01 +02:00
fec5c0ea05 Merge pull request #6112
1c54757 Add more script edge condition tests. (Dave Collins)
2015-05-07 18:07:50 +02:00
9ef00c363d Merge pull request #5958
231072f [QA] add multisig rpc tests (Jonas Schnelli)
2015-05-07 13:18:43 +02:00
231072fe7b [QA] add multisig rpc tests 2015-05-07 11:05:23 +02:00
6a877e870e Merge pull request #6034
a574899 chaincodes: abstract away more chaincode behavior [squashme] replace struct CCainCode with a typedef uint256 ChainCode (Cory Fields)
8cf1485 Abstract chaincodes into CChainCode (Pieter Wuille)
2015-05-06 18:37:49 +02:00
a574899671 chaincodes: abstract away more chaincode behavior
[squashme] replace struct CCainCode with a typedef uint256 ChainCode
2015-05-06 17:22:46 +02:00
1c54757f86 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.
2015-05-06 10:20:18 -05:00
1fd2d39529 Merge pull request #5420
6b4feb8 [QA] rest.py RPC test: change setgenerate() to generate() (Jonas Schnelli)
97ee866 [REST] getutxos REST command (based on Bip64) (Jonas Schnelli)
2015-05-06 16:50:05 +02:00
2a6b844427 [QT] change transaction amount and height in overview page 2015-05-06 16:47:29 +02:00
51aa24927e Chainparams: Refactor: Decouple IsSuperMajority from Params() 2015-05-06 16:39:15 +02:00
12f3488253 Merge pull request #6047
a56054b Update key.cpp to use new libsecp256k1 (Pieter Wuille)
a591d98 Squashed 'src/secp256k1/' changes from 1897b8e..22f60a6 (Pieter Wuille)
2015-05-06 12:29:07 +02:00
00820f921d Merge pull request #6055
a8cdaf5 checkpoints: move the checkpoints enable boolean into main (Cory Fields)
11982d3 checkpoints: Decouple checkpoints from Params (Cory Fields)
6996823 checkpoints: make checkpoints a member of CChainParams (Cory Fields)
9f13a10 checkpoints: store mapCheckpoints in CCheckpointData rather than a pointer (Cory Fields)
2015-05-06 11:38:39 +02:00
40f5e8dc2a Merge pull request #5937
a71ab10 QA: add RPC tests for error reporting of "signrawtransaction" (dexX7)
8ac2a4e RPC: show script verification errors in "signrawtransaction" result (dexX7)
2015-05-05 19:04:53 +02:00
31c0bf1c46 Merge pull request #6080
1a0259f add jonasschnellis dns seeder (Jonas Schnelli)
2015-05-05 18:56:48 +02:00
a71ab10f99 QA: add RPC tests for error reporting of "signrawtransaction"
Tests error reporting of transaction signing via RPC call "signrawtransaction".

Expected results:

Test 1: create and sign a valid raw transaction with one input:
- 1) The transaction has a complete set of signatures
- 2) No script verification error occurred

Test 2: create and sign a raw transaction with one valid, one invalid and one missing input script:
- 3) The transaction has no complete set of signatures
- 4) Two script verification errors occurred
- 5) Script verification errors have certain properties ("txid", "vout", "scriptSig", "sequence", "error")
- 6) The verification errors refer to the invalid (vin 1) and missing input (vin 2)
2015-05-05 10:09:39 +02:00
8ac2a4e178 RPC: show script verification errors in "signrawtransaction" result
If there are any script verification errors, when using "signrawtransaction", they are shown in the RPC result:

```
// ...

Result:
{
  "hex" : "value",           (string) The hex-encoded raw transaction with signature(s)
  "complete" : true|false,   (boolean) If the transaction has a complete set of signatures
  "errors" : [                 (json array of objects) Script verification errors (if there are any)
    {
      "txid" : "hash",           (string) The hash of the referenced, previous transaction
      "vout" : n,                (numeric) The index of the output to spent and used as input
      "scriptSig" : "hex",       (string) The hex-encoded signature script
      "sequence" : n,            (numeric) Script sequence number
      "error" : "text"           (string) Verification or signing error related to the input
    }
    ,...
  ]
}
```
2015-05-05 09:40:55 +02:00
f0c4281f84 Merge pull request #6105
00ea546 build: quiet the exe-installer output (Cory Fields)
cc602d0 travis: don't spew fixme messages when running wine tests (Cory Fields)
c1149f7 build: if there's no recent git tag, don't spew error messages (Cory Fields)
2015-05-05 08:50:08 +02:00
12f78ed4f9 qt: update translations from Transifex - first run for 0.11 2015-05-05 08:48:54 +02:00
fc44231cb7 trivial: Merge pruning help message after Transifex comment
The prune help message was broken in nonsensical parts. Merge it into
one, this is easier for translators.

Reported by yahoe.001 on transifex.
2015-05-04 18:48:38 +02:00
3e2559c7c7 Merge pull request #6104
0414045 Show an init message while activating best chain (Wladimir J. van der Laan)
2015-05-04 18:42:47 +02:00
00ea546422 build: quiet the exe-installer output 2015-05-04 12:02:24 -04:00
04140457f4 Show an init message while activating best chain
Connecting the chain can take quite a while.
All the while it is still showing `Loading wallet...`.
Add an init message to inform the user what is happening.
2015-05-04 17:39:19 +02:00
cc602d0f83 travis: don't spew fixme messages when running wine tests 2015-05-04 11:05:25 -04:00
c1149f7371 build: if there's no recent git tag, don't spew error messages 2015-05-04 10:58:21 -04:00
a56054be65 Update key.cpp to use new libsecp256k1
libsecp256k1's API changed, so update key.cpp to use it.

Libsecp256k1 now has explicit context objects, which makes it completely thread-safe.
In turn, keep an explicit context object in key.cpp, which is explicitly initialized
destroyed. This is not really pretty now, but it's more efficient than the static
initialized object in key.cpp (which made for example bitcoin-tx slow, as for most of
its calls, libsecp256k1 wasn't actually needed).

This also brings in the new blinding support in libsecp256k1. By passing in a random
seed, temporary variables during the elliptic curve computations are altered, in such
a way that if an attacker does not know the blind, observing the internal operations
leaks less information about the keys used. This was implemented by Greg Maxwell.
2015-05-04 14:45:34 +02:00
16341cc15c Merge pull request #5418
bba2216 RPC test for "#5418 Report missing inputs in sendrawtransaction" (Jonas Schnelli)
de8e801 Report missing inputs in sendrawtransaction (Pieter Wuille)
2015-05-04 12:42:26 +02:00
59305cebee qt: fix numerusform in English translation
Ref: transifex issue https://www.transifex.com/projects/p/bitcoin/translate/#da/qt-translation-011x/c/47723791
2015-05-04 12:25:22 +02:00
7f5d7e9d6d Merge pull request #6086
d3c09ba Trivial: useless cast (ptime)(I'm ptime) (svost)
2015-05-04 09:30:04 +02:00
20b3dc85ed qt: English translation update before enabling translation for 0.11 2015-05-04 08:09:37 +02:00
00e76db8c2 Merge pull request #6085
b05a89b Non-grammatical language improvements (Luke Dashjr)
7e6d23b Bugfix: Grammar fixes (Corinne Dashjr)
2015-05-04 08:01:58 +02:00
aa9fa938d9 Merge pull request #6096
3727cbb change AC_PACKAGE_BUGREPORT from info@bitcoin.org to github issue tracker URL (Jonas Schnelli)
2015-05-04 07:55:07 +02:00
82d06e2338 Merge pull request #6094
2a22d4b Fix comptool send_message call when MAX_INV_SZ reached (Suhas Daftuar)
574db48 Fix potential race conditions in p2p testing framework (Suhas Daftuar)
5487975 Don't run invalidblockrequest.py in travis until race condition is fixed (Suhas Daftuar)
ef32817 Fix mininode disconnections to work with select (Suhas Daftuar)
2015-05-04 07:53:05 +02:00
b05a89b2de Non-grammatical language improvements 2015-05-02 15:23:59 +00:00
8cf1485f3b Abstract chaincodes into CChainCode
# Conflicts:
#	src/key.cpp
#	src/key.h
2015-05-02 11:17:16 +02:00
3727cbb0a2 change AC_PACKAGE_BUGREPORT from info@bitcoin.org to github issue tracker URL
Mentioned by wumpus:
http://bitcoinstats.com/irc/bitcoin-dev/logs/2015/05/02#l1430543664

Details here:
http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Initializing-configure.html
2015-05-02 10:17:53 +02:00