Commit graph

5265 commits

Author SHA1 Message Date
Pavel Janík
1b37333a7f Remove no longer needed declaration of CBlockLocator 2014-12-20 16:57:46 +01:00
Cory Fields
be43492945 build: fix 'make distcheck'
Rather than treating the .py as a regular built test, run it from check-local
so that we can better control the paths used.
2014-12-19 18:04:12 -05:00
Gregory Maxwell
aa279d6131 Enforce minRelayTxFee on wallet created tx and add a maxtxfee option.
Previously the minRelayTxFee was only enforced on user specified values.

It was possible for smartfee to produce a fee below minRelayTxFee which
 would just result in the transaction getting stuck because it can't be
 relayed.

This also introduces a maxtxfee option which sets an absolute maximum
 for any fee created by the wallet, with an intention of increasing
 user confidence that the automatic fees won't burn them. This was
 frequently a concern even before smartfees.

If the configured fee policy won't even allow the wallet to meet the relay
 fee the transaction creation may be aborted.
2014-12-19 12:05:10 -08:00
sandakersmann
f914f1a746
Added "Core" to copyright headers
Github-Pull: #5494
Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-12-19 19:55:32 +01:00
Wladimir J. van der Laan
111a7d45f1
Merge pull request #5470
78253fc Remove references to X11 licence (Michael Ford)
2014-12-19 19:23:23 +01:00
Wladimir J. van der Laan
811c71d287
Merge pull request #2340
ba7fcc8 Discourage fee sniping with nLockTime (Peter Todd)
2014-12-19 18:54:51 +01:00
Philip Kaufmann
84857e87e4
add missing CAutoFile::IsNull() check in main
Rebased-From: ccd056a30db0ba5e04b858a682907b378e464d34
Github-Pull: #5437
2014-12-19 18:47:00 +01:00
Wladimir J. van der Laan
c63b47df11
Merge pull request #5341
4709160 [Qt] fix a translation that occurs 2 times but was a little different (Philip Kaufmann)
50db7d9 [Qt] change some strings to reflect name change to Bitcoin Core (Philip Kaufmann)
2747f7c [Qt] fix missing plural form for a string in sendcoinsdialog (Philip Kaufmann)
2014-12-19 18:02:24 +01:00
Wladimir J. van der Laan
886eb57507
Merge pull request #5421
cac15be Test unexecuted OP_CODESEPARATOR (Peter Todd)
2014-12-19 17:54:21 +01:00
Wladimir J. van der Laan
6e718f9435
Remove outdated comment about NTP
The comment has been around since 0.1, but NTP inside the client
isn't deemed necessary so remove the comment to avoid confusion.
2014-12-19 16:26:27 +01:00
21E14
146c0a7c5a Add RandAddSeedPerfmon to MakeNewKey 2014-12-18 20:25:04 -05:00
Pavel Janík
469d564951 Build winshutdownmonitor.cpp on Windows only. 2014-12-18 13:34:16 +01:00
Wladimir J. van der Laan
4444b879bc
Merge pull request #5484
7c8e4c5 Make pass-by-ref arguments const. (Daniel Kraft)
2014-12-17 19:21:48 +01:00
Luke Dashjr
7f71813919 Bugfix: prioritisetransaction: Do some basic sanity checking on txid
Besides giving a nicer error, this also prevents logging arbitrary data (which could have been used to exploit log readers) into debug.log
2014-12-17 09:37:58 +00:00
Philip Kaufmann
27df4123c4 make all catch() arguments const
- I saw this on http://en.cppreference.com/w/cpp/language/try_catch and
  thought it would be a good idea
- also unify used format to better be able to search for exception
  uses in our codebase
2014-12-17 09:39:24 +01:00
Daniel Kraft
7c8e4c5cfb Make pass-by-ref arguments const.
Make some of the arguments in rest.cpp, that are passed by
reference but never modified, const to emphasise that.
2014-12-16 13:45:27 +01:00
Jonas Schnelli
ff63801bc0 [Qt] light blue icon color for regtest
Changing the icons color for regtest in now lightweight.
2014-12-16 13:37:44 +01:00
Jonas Schnelli
270f42d39f [Qt] fix a <Qt4.7 compatibility issue raised in #5228 2014-12-16 13:21:36 +01:00
Wladimir J. van der Laan
73cbf0a527
Merge pull request #5258
4a8fc15 [Qt] the RPC Console should be a QWidget to make window more independent (Jonas Schnelli)
2014-12-16 11:30:27 +01:00
Pavel Janík
bf7835c271
Fix small typos in comments and error messages
Rebased-From: 67b2d819cdf6181e7f016e5366ce7479830893bd
Github-Pull: #5404
2014-12-16 11:24:43 +01:00
Jonas Schnelli
ac23394ea8 resize tray icon because a 1024x1024 icon won't show in ubuntu (bug) 2014-12-16 11:15:08 +01:00
Wladimir J. van der Laan
8e76ca0429 Qt: Go back to using QIcon functionality for scaling 2014-12-16 11:15:08 +01:00
Jonas Schnelli
54f2571a00 Qt: HiDPI (retina) support for splash screen
- remove splash screen images (reduce binary size)
- dynamicly draw splash screen with available icon.
- remove testnet icon
- dynamicly colorize testnet icon
2014-12-16 11:15:05 +01:00
Wladimir J. van der Laan
f3af0c898f
Merge pull request #5219
31aac02 Qt: new icons (Jonas Schnelli)
2014-12-16 11:04:24 +01:00
Wladimir J. van der Laan
103f66bf82
Merge pull request #5444
f676c80 Add /rest/headers (Pieter Wuille)
2014-12-16 10:40:16 +01:00
Michael Ford
78253fcbad Remove references to X11 licence 2014-12-16 15:56:50 +08:00
Manuel Araoz
87e8e1ca8b minor fix on script test data docs 2014-12-16 00:55:21 -03:00
Gregory Maxwell
6484930690 Apply AreSane() checks to the fees from the network.
'Sane' was already defined by this code as:
 fee.GetFeePerK() > minRelayFee.GetFeePerK() * 10000
 But sanity was only enforced for data loaded from disk.

Note that this is a pretty expansive definition of 'sane': A 10 BTC
 fee is still passes the test if its on a 100kb transaction.

This prevents a single insane fee on the network from making us reject
 our stored fee data at start.  We still may reject valid saved fee
 state if minRelayFee is changed between executions.

This also reduces the risk and limits the damage from a cascading
 failure where one party pays a bunch of insane fees which cases
 others to pay insane fees.
2014-12-15 14:50:24 -08:00
Pavel Janík
73caf47dfe Display time offset in the debug window's Peers tab 2014-12-15 19:56:45 +01:00
Pavel Janík
26a6bae753 Add time offset to getpeerinfo output 2014-12-15 11:06:15 +01:00
Pieter Wuille
c789b761d5
Merge pull request #5357
5ea3bc0 Move remaining CBlockIndex methods to chain.cpp (Pieter Wuille)
9dcd524 Make IsSuperMajority a standalone function (Pieter Wuille)
2014-12-14 12:13:21 +01:00
Pieter Wuille
f676c80f43 Add /rest/headers 2014-12-12 16:37:00 +01:00
Wladimir J. van der Laan
5f7279ac70
Merge pull request #5461
aa768f1 signrawtransaction: validate private key. (Pavel Janík)
2014-12-12 11:52:07 +01:00
Wladimir J. van der Laan
6f2ee04f75
Merge pull request #5457
830ee48 Update Bitcoin for libsecp256k1 API change (Pieter Wuille)
ecae2ac Squashed 'src/secp256k1/' changes from b0210a9..bccaf86 (Pieter Wuille)
2014-12-12 11:17:23 +01:00
jtimon
eb0d34b494 Remove unused chainparam networkID 2014-12-11 23:32:30 +01:00
Pieter Wuille
5ea3bc06d5 Move remaining CBlockIndex methods to chain.cpp 2014-12-11 17:39:10 +01:00
Pieter Wuille
9dcd524f32 Make IsSuperMajority a standalone function 2014-12-11 17:39:09 +01:00
Pieter Wuille
012598880c Implement test for merkle tree malleability in CPartialMerkleTree
This is a check that is mentioned in BIP 37, but never implemented in the
reference code. As Bitcoin Core so far never decodes partial merkle trees,
this is not a problem. But perhaps others use the code as a reference.
2014-12-11 17:22:15 +01:00
Wladimir J. van der Laan
dcc1304426
Merge pull request #5367
63d1ae5 Do all block index writes in a batch (Pieter Wuille)
2014-12-11 16:15:34 +01:00
Pavel Janík
aa768f1848 signrawtransaction: validate private key. 2014-12-11 16:06:23 +01:00
Wladimir J. van der Laan
d7492304e9
Now that 0.10 has been branched, master is 0.10.99 2014-12-11 16:03:46 +01:00
Wladimir J. van der Laan
41cced2106
Merge pull request #5267
34318d7 RPC-test based on invalidateblock for mempool coinbase spends (Gavin Andresen)
7fd6219 Make CTxMemPool::remove more effecient by avoiding recursion (Matt Corallo)
b7b4318 Make CTxMemPool::check more thourough by using CheckInputs (Matt Corallo)
723d12c Remove txn which are invalidated by coinbase maturity during reorg (Matt Corallo)
868d041 Remove coinbase-dependant transactions during reorg. (Matt Corallo)
2014-12-11 15:24:00 +01:00
Wladimir J. van der Laan
7c001bb49c
qt: translations pull from transifex 2014-12-11 11:10:23 +01:00
Wladimir J. van der Laan
5e521d3e4e
Merge pull request #5391
932ef50 [REST] JSON output: remove block infos from tx details if it is nested in block (Jonas Schnelli)
cae5486 [REST] added /rest/block/notxdetails/<hash> into REST-interface.md documentation (Jonas Schnelli)
73351c3 [REST] /rest/block response with full tx details (Jonas Schnelli)
2014-12-11 10:33:11 +01:00
Pieter Wuille
830ee48b59 Update Bitcoin for libsecp256k1 API change 2014-12-11 02:06:28 +01:00
Pieter Wuille
253e207132 Update libsecp256k1 2014-12-11 01:58:25 +01:00
Pieter Wuille
ecae2acb06 Squashed 'src/secp256k1/' changes from b0210a9..bccaf86
bccaf86 Merge pull request #150
2a53a47 Merge pull request #151
5f5a31f Merge pull request #149
3907277 Merge pull request #142
a3e0611 Enable tests in x86 travis builds
45da235 x86 builder
8bb0e93 Merge pull request #155
971fe81 build: fix openssl detection for cross builds
f22d73e Explicitly access %0..%2 as 64-bit so we use the right registers for x32 ABI
e66d4d6 Avoid the stack in assembly and use explicit registers
cf7b2b4 Fix ECDSA message hashes to 32 bytes
056ad31 Really compile with -O3 by default
74ad63a Merge pull request #146
9000458 Merge pull request #145
1f46b00 build: fix __builtin_expect detection for clang
aaba2e0 Merge pull request #136
8a0775c Merge pull request #144
ee1eaa7 Merge pull request #141
c88e2b8 Compile with -O3 by default
6558a26 Make the benchmarks print out stats
000bdf6 Rename bench_verify to bench_recovery
7c6fed2 Add a few more additional tests.
992e03b travis: add clang to the test matrix
b43b79a Merge pull request #143
e06a924 Include time.h header for time().
8d11164 Add some additional tests.
3545627 Merge pull request #118
6a9901e Merge pull request #137
376b28b Merge pull request #128
1728806 Merge pull request #138
a5759c5 Check return value of malloc
39bd94d Variable time normalize
ad86bdf Merge pull request #140
54b768c Another redundant secp256k1_fe_normalize
69dcaab Merge pull request #139
1c29f2e Remove redundant secp256k1_fe_normalize from secp256k1_gej_add_ge_var.
2b9388b Remove unused secp256k1_fe_inv_all
f461b76 Allocate precomputation arrays on the heap
b2c9681 Make {mul,sqr}_inner use the same argument order as {mul,sqr}
6793505 Convert YASM code into inline assembly
f048615 Rewrite field assembly to match the C version
3ce74b1 Tweak precomputed table size for G

git-subtree-dir: src/secp256k1
git-subtree-split: bccaf86caa9c44166e5a66600b742c516e03c3f0
2014-12-11 01:58:25 +01:00
Wladimir J. van der Laan
34468066ff
Merge pull request #5399
4be639e Use RPC_INVALID_PARAMETER instead of RPC_WALLET_ERROR for invalid amount. No return at the end of void function. (Pavel Janík)
b93173d Move SendMoney() to rpcwallet.cpp. (Pavel Janík)
2014-12-10 08:22:20 +01:00
Jonas Schnelli
932ef50f77 [REST] JSON output: remove block infos from tx details if it is nested in block 2014-12-09 16:05:51 +01:00
Jonas Schnelli
73351c3686 [REST] /rest/block response with full tx details
- rest block request returns full unfolded tx details
- /rest/block/notxdetails/<HASH> returns block where transactions are only represented by its hash
2014-12-09 16:05:50 +01:00
Wladimir J. van der Laan
7f76dda903
Merge pull request #5216
5ec654b [Qt] update paymentserver license and cleanup ordering (Philip Kaufmann)
4333e26 [Qt] add BIP70 DoS protection test (Philip Kaufmann)
31f8494 [Qt] add BIP70 payment request size DoS protection for URIs (Philip Kaufmann)
2284ccb [Qt] remove dup lock that is done in SetAddressBook() (Philip Kaufmann)
1ec753f [Qt] ensure socket is set to NULL in PaymentServer::ipcSendCommandLine (Philip Kaufmann)
814429d [Qt] add BIP70/BIP71 constants for all messages and mime types (Philip Kaufmann)
b82695b [Qt] make PaymentServer::ipcParseCommandLine void (Philip Kaufmann)
2014-12-09 10:16:16 +01:00
Wladimir J. van der Laan
4f85383cb3
Merge pull request #5409
65b0328 newlines in strings are invalid JSON (Ryan X. Charles)
2014-12-09 10:07:35 +01:00
Matt Corallo
7fd6219af7 Make CTxMemPool::remove more effecient by avoiding recursion 2014-12-08 14:09:58 -08:00
Matt Corallo
b7b4318f3a Make CTxMemPool::check more thourough by using CheckInputs 2014-12-08 14:05:42 -08:00
Matt Corallo
723d12c098 Remove txn which are invalidated by coinbase maturity during reorg 2014-12-08 14:05:42 -08:00
Matt Corallo
868d041622 Remove coinbase-dependant transactions during reorg.
This still leaves transactions in mempool that are potentially
invalid if the maturity period has been reorged out of, but at
least they're not missing inputs entirely.
2014-12-08 14:05:42 -08:00
Philip Kaufmann
5ec654b8ce [Qt] update paymentserver license and cleanup ordering 2014-12-08 16:09:02 +01:00
Philip Kaufmann
4333e26c8e [Qt] add BIP70 DoS protection test
- this test required to make readPaymentRequestFromFile() public in order
  to be able to is it in paymentservertests.cpp
2014-12-08 16:09:01 +01:00
Philip Kaufmann
31f84944a5 [Qt] add BIP70 payment request size DoS protection for URIs
- current code only does this for payment request files, which are
  used on Mac
- also rename readPaymentRequest to readPaymentRequestFromFile, so it's
  obvious that function only handles payment request files and not URIs
- small logging changes in readPaymentRequestFromFile
2014-12-08 16:08:59 +01:00
Philip Kaufmann
2284ccbd13 [Qt] remove dup lock that is done in SetAddressBook() 2014-12-08 16:08:59 +01:00
Philip Kaufmann
1ec753f734 [Qt] ensure socket is set to NULL in PaymentServer::ipcSendCommandLine 2014-12-08 16:08:58 +01:00
Philip Kaufmann
814429dc72 [Qt] add BIP70/BIP71 constants for all messages and mime types
- also rename current ones to match the new ones
- remove constant from guiconstant.h and add it to paymentserver.cpp
2014-12-08 16:08:58 +01:00
Philip Kaufmann
b82695b89f [Qt] make PaymentServer::ipcParseCommandLine void
- the function only returned true, so make it void
- add a comment about payment request network detection
2014-12-08 16:08:57 +01:00
Wladimir J. van der Laan
4b5b263ac0
Merge pull request #5434
683dc40 Disable SSLv3 (in favor of TLS) for the RPC client and server. (Gregory Maxwell)
2014-12-08 13:31:13 +01:00
Pavel Janík
a26bf478ea Add a new test for FormatParagraph (string longer than the default width). 2014-12-06 22:49:07 +01:00
Pavel Janík
83b81f6c8a Format paragraphs properly - count the space between words. 2014-12-06 21:26:52 +01:00
Gregory Maxwell
683dc4009b Disable SSLv3 (in favor of TLS) for the RPC client and server.
TLS is subject to downgrade attacks when SSLv3 is available, and
 SSLv3 has vulnerabilities.

The popular solution is to disable SSLv3. On the web this breaks
 some tiny number of very old clients. While Bitcoin RPC shouldn't
 be exposed to the open Internet, it also shouldn't be exposed to
 really old SSL implementations, so it shouldn't be a major issue
 for us to disable SSLv3.

There is more information on the downgrade attacks and disabling
 SSLv3 at https://disablessl3.com/ .
2014-12-06 07:08:02 -08:00
Pavel Janík
4be639eaec Use RPC_INVALID_PARAMETER instead of RPC_WALLET_ERROR for invalid amount.
No return at the end of void function.
2014-12-05 17:22:06 +01:00
Wladimir J. van der Laan
b5fa132329
Merge pull request #5181
afd4b94 Move CMerkleBlock and CPartialMerkleTree to their own file (Matt Corallo)
2014-12-05 16:50:48 +01:00
Pavel Janík
4c83c0e7c8
Normalize header guard of script_error.h 2014-12-05 12:01:13 +01:00
Wladimir J. van der Laan
dbf1dc239e
Merge pull request #5398
8a20cd3 prioritisetransaction RPC: Restore compatibility with existing implementations by using satoshis for fee offset rather than BTC (Luke Dashjr)
2014-12-05 11:41:06 +01:00
Wladimir J. van der Laan
800458eddd
Merge pull request #5408
35e408f Regard connection failures as attempt for addrman (Wladimir J. van der Laan)
2014-12-05 11:39:18 +01:00
Wladimir J. van der Laan
7a88e3b0fc
Merge pull request #5425
87bddb7 Squashed 'src/secp256k1/' changes from ad2028f..b0210a9 (Pieter Wuille)
ffe3291 Remove gmp dependency and doc mentions (Pieter Wuille)
2014-12-05 11:30:26 +01:00
Wladimir J. van der Laan
7d42644dda
Merge pull request #5207
8487790 bitcoin-tx: Add the "-txid" option. Also add the hex-encoded transaction to the JSON output as the "hex" property. (mruddy)
2014-12-05 11:24:39 +01:00
Wladimir J. van der Laan
c78a18087f
Merge pull request #5308
60d1ecd change nSubsidy's type from int64_t to CAmount (HarryWu)
2014-12-05 11:11:24 +01:00
Wladimir J. van der Laan
68705996a9
Merge pull request #5419
12a49ca Limit the number of new addressses to accumulate (Pieter Wuille)
2014-12-05 11:01:19 +01:00
Matt Corallo
afd4b94b6d Move CMerkleBlock and CPartialMerkleTree to their own file 2014-12-05 01:57:40 -08:00
Pieter Wuille
87bddb7a3a Squashed 'src/secp256k1/' changes from ad2028f..b0210a9
b0210a9 Merge pull request #135
ee3eb4b Fix a memory leak and add a number of small tests.
4d879a3 Merge pull request #134
d5e8362 Merge pull request #127
7b92cf6 Merge pull request #132
0bf70a5 Merge pull request #133
29ae131 Make scalar_add_bit test's overflow detection exact
9048def Avoid undefined shift behaviour
efb7d4b Use constant-time conditional moves instead of byte slicing
d220062 Merge pull request #131
82f9254 Fix typo
601ca04 Merge pull request #129
35399e0 Bugfix: b is restricted, not r
c35ff1e Convert lambda splitter to pure scalar code.
cc604e9 Avoid division when decomposing scalars
ff8746d Add secp256k1_scalar_mul_shift_var
bd313f7 Merge pull request #119
276f987 Merge pull request #124
25d125e Merge pull request #126
24b3c65 Add a test case for ECDSA recomputing infinity
32600e5 Add a test for r >= order signature handling
4d4eeea Make secp256k1_fe_mul_inner use the r != property
be82e92 Require that r and b are different for field multiplication.
597128d Make num optional
659b554 Make constant initializers independent from num
0af5b47 Merge pull request #120
e2e8a36 Merge pull request #117
c76be9e Remove unused num functions
4285a98 Move lambda-splitting code to scalar.
f24041d Switch all EC/ECDSA logic from num to scalar
6794be6 Add scalar splitting functions
d1502eb Add secp256k1_scalar_inverse_var which delegates to GMP
b5c9ee7 Make test_point_times_order test meaningful again
0b73059 Switch wnaf splitting from num-based to scalar-based
1e6c77c Generalize secp256k1_scalar_get_bits
5213207 Add secp256k1_scalar_add_bit
3c0ae43 Merge pull request #122
6e05287 Do signature recovery/verification with 4 possible recid case
e3d692f Explain why no y=0 check is necessary for doubling
f7dc1c6 Optimize doubling: secp256k1 has no y=0 point
666d3b5 Merge pull request #121
2a54f9b Correct typo in comment
9d64145 Merge pull request #114
99f0728 Fix secp256k1_num_set_bin handling of 0
d907ebc Add bounds checking to field element setters
bb2cd94 Merge pull request #116
665775b Don't split the g factor when not using endomorphism
9431d6b Merge pull request #115
e2274c5 build: osx: attempt to work with homebrew keg-only packages

git-subtree-dir: src/secp256k1
git-subtree-split: b0210a95da433e048a11d298efbcc14eb423c95f
2014-12-04 19:17:07 +01:00
Pieter Wuille
0dcfb91d56 Update libsecp256k1 2014-12-04 19:17:07 +01:00
Wladimir J. van der Laan
9ddc8c63ab
Merge pull request #5394
307f7d4 Report script evaluation failures in log and reject messages (Pieter Wuille)
2014-12-04 16:43:35 +01:00
Pieter Wuille
12a49cac0a Limit the number of new addressses to accumulate 2014-12-04 13:19:16 +01:00
Peter Todd
cac15bedb1
Test unexecuted OP_CODESEPARATOR
OP_CODESEPARATOR is an actual executed instruction, not a declarative
thing, so if it's wrapped in an OP_IF it can be turned off.

Using this to implement Rivest's Paywords is left as an exercise for the
reader.
2014-12-04 00:53:16 -05:00
Wladimir J. van der Laan
a0417b8cc8 Merge pull request #5306
d227011 MOVEONLY: core/ -> primitives/ (Luke Dashjr)
2014-12-03 12:05:43 +01:00
Luke Dashjr
d227011184 MOVEONLY: core/ -> primitives/ 2014-12-03 10:52:58 +00:00
Wladimir J. van der Laan
7eb0667384
Merge pull request #5403
c5b390b Make comments in main an init doxygen compatible (Michael Ford)
2014-12-03 10:48:53 +01:00
Wladimir J. van der Laan
133344208c
Merge pull request #5400
32b93a1 Extra explanation for getchaintips (Pieter Wuille)
2014-12-03 10:17:13 +01:00
Pieter Wuille
307f7d48d4 Report script evaluation failures in log and reject messages 2014-12-02 22:05:03 +01:00
Ryan X. Charles
65b03282c9
newlines in strings are invalid JSON
Although script_valid.json and script_invalid.json are loaded correctly by the
JSON interpreter used by bitcoin core, these same files are often used by other
libraries and do not necessarily load correctly due to the fact that newlines
contained inside strings are not valid and must instead use the escape
character \n. The files tx_valid.json and tx_invalid.json handle this
correctly, so I've changed the formatting in script_valid.json and
script_invalid.json to mirror those files.
2014-12-02 10:02:44 -08:00
Pieter Wuille
0286fe5b3b
Merge pull request #5401
362001c Move CHECKMULTISIG order tests out of automatically generated block (Pieter Wuille)
f67a9ce Use deterministically generated script tests (Pieter Wuille)
2014-12-02 18:55:51 +01:00
Gavin Andresen
1c7e09f0b9
Merge pull request #5369
b2d0162 Test resurrecting memory pool transactions during chain re-org (Gavin Andresen)
3dd8ed7 Delay writing block indexes in invalidate/reconsider (Pieter Wuille)
798faec Add 'invalidateblock' and 'reconsiderblock' RPC commands. (Pieter Wuille)
2014-12-02 11:59:41 -05:00
Wladimir J. van der Laan
35e408f8a4 Regard connection failures as attempt for addrman
This avoids connecting to them again too soon in ThreadOpenConnections.

Make an exception for connection failures to the proxy as these
shouldn't affect the status of specific nodes.
2014-12-02 17:54:16 +01:00
Wladimir J. van der Laan
fec0d100d5
Merge pull request #5376
8a5c951 [REST] make selection of output-format mandatory, support dot url syntax (Jonas Schnelli)
2014-12-02 15:34:43 +01:00
Philip Kaufmann
4709160b50 [Qt] fix a translation that occurs 2 times but was a little different 2014-12-02 15:06:55 +01:00
Philip Kaufmann
50db7d9f09 [Qt] change some strings to reflect name change to Bitcoin Core 2014-12-02 15:06:15 +01:00
Philip Kaufmann
2747f7cf77 [Qt] fix missing plural form for a string in sendcoinsdialog
- this was reported on Transifex by pryds (Thank you!)
2014-12-02 15:06:15 +01:00
Michael Ford
c5b390b6b9 Make comments in main an init doxygen compatible
Fix typos where appropriate
Update license/copyright
2014-12-02 15:50:58 +08:00
Pavel Janík
b93173dee9 Move SendMoney() to rpcwallet.cpp. 2014-12-02 08:32:10 +01:00
Pieter Wuille
362001c19f Move CHECKMULTISIG order tests out of automatically generated block 2014-12-01 21:37:20 +01:00
Pieter Wuille
f67a9ce0dc Use deterministically generated script tests
Now that signing is deterministic, we can require exact correspondence between the
automatically generated tests and the ones read from JSON. Do this, and update
the tests to those deterministic versions. Note that some flag changes weren't
correctly applied before.
2014-12-01 21:29:02 +01:00
Pieter Wuille
32b93a1bc2 Extra explanation for getchaintips 2014-12-01 20:48:50 +01:00
Luke Dashjr
8a20cd3c51 prioritisetransaction RPC: Restore compatibility with existing implementations by using satoshis for fee offset rather than BTC 2014-12-01 14:18:07 +00:00
Wladimir J. van der Laan
f0877f8b62
Merge pull request #5227
4cdaa95 Resize after succesful result (Pieter Wuille)
9d8604f Header define style cleanups (Pieter Wuille)
a53fd41 Deterministic signing (Pieter Wuille)
3060e36 Add the RFC6979 PRNG (Pieter Wuille)
a8f5087 Add HMAC-SHA256 (Pieter Wuille)
36fa4a7 Split up crypto/sha2 (Pieter Wuille)
2014-12-01 14:57:58 +01:00
Wladimir J. van der Laan
89151d9f29
Merge pull request #5390
43422a0 [Qt] Fix wallet-lock in CWallet::GetAccountAddresses(..) (Cozz Lovan)
2014-12-01 12:44:26 +01:00
Wladimir J. van der Laan
0ddf4416cc
Merge pull request #5386
1b91be4 Report status of chain tips (Pieter Wuille)
2014-12-01 11:49:35 +01:00
Wladimir J. van der Laan
b248a38aa5
Merge pull request #5388
1cf23f6 Update the intent on SI-style separators. (21E14)
2014-12-01 10:17:58 +01:00
Cozz Lovan
43422a0121 [Qt] Fix wallet-lock in CWallet::GetAccountAddresses(..) 2014-11-29 12:51:36 +01:00
Pieter Wuille
4cdaa95a20 Resize after succesful result 2014-11-28 21:16:51 +01:00
21E14
1cf23f6c50 Update the intent on SI-style separators. 2014-11-28 10:34:25 -05:00
Pieter Wuille
5270817180
Merge pull request #5365
3a05ba1 Fix typo in doxygen comment. (Pavel Janík)
2014-11-28 16:22:25 +01:00
Wladimir J. van der Laan
d7c8a830c4
Merge pull request #5316
f86a24b Move `setmocktime` to hidden category (Wladimir J. van der Laan)
bd9aebf Introduce a hidden category (Pieter Wuille)
0dd06b2 Delay writing block indexes in invalidate/reconsider (Pieter Wuille)
9b0a8d3 Add 'invalidateblock' and 'reconsiderblock' RPC commands. (Pieter Wuille)
2014-11-28 11:19:15 +01:00
Wladimir J. van der Laan
f86a24b368
Move setmocktime to hidden category
Another testing-only potential footgun command.
2014-11-28 10:57:14 +01:00
Wladimir J. van der Laan
631e698bb7
Merge pull request #5374
a53d16a Use complete path to include bitcoin-config.h. (Pavel Janík)
2014-11-28 09:46:39 +01:00
Jonas Schnelli
8a5c9513ba [REST] make selection of output-format mandatory, support dot url syntax
1. Remove the default format (binary) because `rest/block/<hash>/Hex` would end up delivering binary data.
2. List available formats when chosen format was not found (reduces need for documentation)
3. Change url syntax to dot extension like format chosing (like `rest/tx/<hash>.json`
2014-11-27 14:06:45 +01:00
Pieter Wuille
1b91be49f5 Report status of chain tips 2014-11-27 11:50:14 +01:00
Pieter Wuille
57be955ba0 Remove -printblock, -printblocktree, and -printblockindex 2014-11-27 09:50:20 +01:00
Pieter Wuille
bd9aebf19d Introduce a hidden category 2014-11-26 16:36:26 +01:00
Pieter Wuille
0dd06b2515 Delay writing block indexes in invalidate/reconsider 2014-11-26 16:36:26 +01:00
Pieter Wuille
9b0a8d3152 Add 'invalidateblock' and 'reconsiderblock' RPC commands.
These can be used for testing reorganizations or for manual intervention in case of
chain forks.
2014-11-26 16:36:25 +01:00
Wladimir J. van der Laan
9ff0bc9beb
Merge pull request #5158
9ec75c5 Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true. (Ruben Dario Ponticelli)
a2d0fc6 Fix IsInitialBlockDownload which was broken by headers first. (Ruben Dario Ponticelli)
2014-11-26 15:09:03 +01:00
Wladimir J. van der Laan
b031137977
Merge pull request #5273
cd4d3f1 Win32: change buffer size for gethotsname in Discover() (Philip Kaufmann)
8fa0494 Win32: log addresses found in Discover() calls (Philip Kaufmann)
2014-11-26 14:36:50 +01:00
Wladimir J. van der Laan
108b19f7ef
Merge pull request #5326
5dc713b [REST] set REST API behind "-rest" option (Jonas Schnelli)
78bdc81 [REST] give an appropriate response in warmup phase (Jonas Schnelli)
210eba9 [REST] fix headersonly flag for BINARY responses (Jonas Schnelli)
2014-11-26 14:30:11 +01:00
Jonas Schnelli
5dc713bfc7 [REST] set REST API behind "-rest" option 2014-11-26 13:53:27 +01:00
Jonas Schnelli
78bdc8103f [REST] give an appropriate response in warmup phase 2014-11-26 13:51:02 +01:00
Wladimir J. van der Laan
8ba38aba42
qt: Update translations from transifex 2014-11-26 13:47:49 +01:00
Jonas Schnelli
210eba9fdb [REST] fix headersonly flag for BINARY responses 2014-11-26 13:42:58 +01:00
Wladimir J. van der Laan
53a87c0355
Merge pull request #5321
34559c7 Make PruneBlockIndexCandidates safer (Pieter Wuille)
cca48f6 Reset setBlockIndexCandidates once block index db loaded (21E14)
2014-11-26 13:31:03 +01:00
Wladimir J. van der Laan
4baa9f0c9b
Merge pull request #5323
a328dd6 [Qt] small changes to sendcoinsdialog (Philip Kaufmann)
2014-11-26 13:00:50 +01:00
Wladimir J. van der Laan
124b4895b8
Merge pull request #5209
9b1627d [Wallet] Reduce minTxFee for transaction creation to 1000 satoshis (Cozz Lovan)
2014-11-26 10:58:20 +01:00
Wladimir J. van der Laan
e6751ca68a
Merge pull request #5361
3223179 libbitcoinconsensus: don't require any global constructors (Cory Fields)
2014-11-26 10:44:42 +01:00
Pavel Janík
a53d16ac0c Use complete path to include bitcoin-config.h. 2014-11-26 10:37:49 +01:00
Wladimir J. van der Laan
70f9e33fa0
Merge pull request #5340
c8ed613 Include missing config/bitcoin-config.h. (Pavel Janík)
494f6e7 Check for strnlen and provide it if it is not found. (Pavel Janík)
2014-11-26 09:51:05 +01:00
Pavel Janík
c8ed6130a4 Include missing config/bitcoin-config.h. 2014-11-26 08:19:07 +01:00
Philip Kaufmann
a328dd60a7 [Qt] small changes to sendcoinsdialog
- add newly added variables to the constructor init
- move an already existing bool also to constructor init
- move a connect call to setClientModel and add a NULL pointer check
2014-11-25 17:00:02 +01:00
Pieter Wuille
63d1ae5556 Do all block index writes in a batch 2014-11-25 16:26:35 +01:00
Wladimir J. van der Laan
ac0b2393a4
Merge pull request #5351
3d0a1ce Process help and version arguments before datadir. (Pavel Janík)
2014-11-25 14:44:30 +01:00
Pieter Wuille
da918ac06e Make SCRIPT_VERIFY_CLEANSTACK a standardness requirement 2014-11-25 12:38:01 +01:00
Pieter Wuille
b6e03cc592 Add SCRIPT_VERIFY_CLEANSTACK (BIP62 rule 6)
Based on an earlier patch by Peter Todd, though the rules here are different
(P2SH scripts should not have a CLEANSTACK check before the P2SH evaluation).
2014-11-25 12:38:01 +01:00
Pieter Wuille
ae4151bbad No semantic change: reuse stack variable in P2SH evaluation 2014-11-25 12:35:32 +01:00
Pieter Wuille
3dd8ed72e5 Delay writing block indexes in invalidate/reconsider 2014-11-25 12:33:43 +01:00
Pieter Wuille
798faec3ea Add 'invalidateblock' and 'reconsiderblock' RPC commands.
These can be used for testing reorganizations or for manual intervention in case of
chain forks.
2014-11-25 12:32:51 +01:00
Wladimir J. van der Laan
397b9011c9
Merge pull request #5241
a206950 Introduce separate flushing modes (Pieter Wuille)
51ce901 Improve chainstate/blockindex disk writing policy (Pieter Wuille)
2014-11-25 12:18:00 +01:00
Pavel Janík
3a05ba1bfc Fix typo in doxygen comment. 2014-11-25 08:18:33 +01:00
Cory Fields
322317951f libbitcoinconsensus: don't require any global constructors
These static objects are only used in once place, so declare them there instead.
2014-11-24 15:23:29 -05:00
Wladimir J. van der Laan
6f9e67aca7
Merge pull request #5358
3c77714 Make -proxy set all network types, avoiding a connect leak. (Gregory Maxwell)
2014-11-24 15:30:31 +01:00
Wladimir J. van der Laan
1ee685f984
Merge pull request #5154
730b1ed Check pindexBestForkBase for null (21E14)
2014-11-24 15:29:52 +01:00
Jonas Schnelli
c5a2282855
[Qt, OSX] fix Qt4.8 compatibility with QProgressBar issue
Rebased-From: 7f33d2cebfde99ded12c711ef6bd77c91725cfb8
Github-Issue: #5344
2014-11-24 15:26:58 +01:00
Pieter Wuille
a206950016 Introduce separate flushing modes 2014-11-24 15:15:41 +01:00
Pieter Wuille
51ce901aa3 Improve chainstate/blockindex disk writing policy
There are 3 pieces of data that are maintained on disk. The actual block
and undo data, the block index (which can refer to positions on disk),
and the chainstate (which refers to the best block hash).

Earlier, there was no guarantee that blocks were written to disk before
block index entries referring to them were written. This commit introduces
dirty flags for block index data, and delays writing entries until the actual
block data is flushed.

With this stricter ordering in writes, it is now safe to not always flush
after every block, so there is no need for the IsInitialBlockDownload()
check there - instead we just write whenever enough time has passed or
the cache size grows too large. Also updating the wallet's best known block
is delayed until this is done, otherwise the wallet may end up referring to an
unknown block.

In addition, only do a write inside the block processing loop if necessary
(because of cache size exceeded). Otherwise, move the writing to a point
after processing is done, after relaying.
2014-11-24 15:15:40 +01:00
Wladimir J. van der Laan
f24bcce2ac
Merge pull request #1816
b867e40 CreateNewBlock: Stick height in coinbase so we pass template sanity check (Luke Dashjr)
60755db submitblock: Check for duplicate submissions explicitly (Luke Dashjr)
bc6cb41 QA RPC tests: Add tests block block proposals (Luke Dashjr)
9765a50 Implement BIP 23 Block Proposal (Luke Dashjr)
3dcbb9b Abstract DecodeHexBlk and BIP22ValidationResult functions out of submitblock (Luke Dashjr)
132ea9b miner_tests: Disable checkpoints so they don't fail the subsidy-change test (Luke Dashjr)
df08a62 TestBlockValidity function for CBlock proposals (used by CreateNewBlock) (Luke Dashjr)
4ea1be7 CreateNewBlock and miner_tests: Also check generated template is valid by CheckBlockHeader, ContextualCheckBlockHeader, CheckBlock, and ContextualCheckBlock (Luke Dashjr)
a48f2d6 Abstract context-dependent block checking from acceptance (Luke Dashjr)
2014-11-24 14:43:10 +01:00
Wladimir J. van der Laan
6582f323f0
Merge pull request #5224
f321d6b Add key generation/verification to ECC sanity check (Pieter Wuille)
d0c41a7 Add sanity check after key generation (Pieter Wuille)
2014-11-24 14:39:25 +01:00