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
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
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
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
Wladimir J. van der Laan
dfc8e1432a
Merge pull request #5309
...
4574248
[Qt] minor ordering cleanup after new fee selection (Philip Kaufmann)
a01fa30
minor style cleanup after HTTP rest interface merge (Philip Kaufmann)
2014-11-24 14:35:50 +01:00
Pavel Janík
494f6e7d35
Check for strnlen and provide it if it is not found.
2014-11-24 10:28:24 +01:00
Gregory Maxwell
3c77714134
Make -proxy set all network types, avoiding a connect leak.
...
Previously -proxy was not setting the proxy for IsLimited networks, so
if you set your configuration to be onlynet=tor you wouldn't get an
IPv4 proxy set.
The payment protocol gets its proxy configuration from the IPv4 proxy,
and so it would experience a connection leak.
This addresses issue #5355 and also clears up a cosmetic bug where
getinfo proxy output shows nothing when onlynet=tor is set.
2014-11-23 15:17:11 -08:00
dexX7
7357893396
Prioritize and display -testsafemode status in UI
...
Like in a real world situation, a safe mode test should also be visible in the
UI. A test of safe mode is furthermore mostly relevant for developers, so it
should not be overwritten by a warning about a pre-release test build.
2014-11-23 13:10:31 +01:00
Pieter Wuille
f321d6bfff
Add key generation/verification to ECC sanity check
2014-11-23 10:47:39 +01:00
Pieter Wuille
d0c41a7350
Add sanity check after key generation
...
Add a sanity check to prevent cosmic rays from flipping a bit in the
generated public key, or bugs in the elliptic curve code. This is
simply done by signing a (randomized) message, and verifying the
result.
2014-11-23 10:47:39 +01:00
Pavel Janík
e0535e15ab
Remove misleading comment about testnet's message string.
2014-11-22 22:22:12 +01:00
Pavel Janík
3d0a1ce193
Process help and version arguments before datadir.
2014-11-22 20:46:11 +01:00
21E14
730b1ed1a0
Check pindexBestForkBase for null
2014-11-22 00:12:41 -05:00
Philip Kaufmann
1b2600a13a
Change MIT/X11 to MIT in license displayed in the program
2014-11-21 17:03:59 +01:00
Michael Ford
fa94b9d562
Convert remaining comments in /src to doxygen format
...
- Update comments in checkpoints to be doxygen compatible
- Update comments in checkqueue to be doxygen compatible
- Update coins to be doxygen compatible
- Fix comment typo in crypter.h
- Update licenses/copyright dates
Closes #5325 #5184 #5183 #5182
2014-11-21 14:44:21 +01:00
Wladimir J. van der Laan
f2ada138c2
Merge pull request #5170
...
092b58d
CBlockIndex::GetBlockWork() + GetProofIncrement(nBits) -> GetBlockProof(CBlockIndex) (jtimon)
22c4272
MOVEONLY: Move void UpdateTime() from pow.o to miner.o (plus fix include main.h -> chain.h) (jtimon)
2014-11-21 14:33:22 +01:00
Wladimir J. van der Laan
ca6fb4e885
Merge pull request #5247
...
ca81587
Test the exact order of CHECKMULTISIG sig/pubkey evaluation (Peter Todd)
98b135f
Make STRICTENC invalid pubkeys fail the script rather than the opcode. (Pieter Wuille)
2014-11-21 14:21:56 +01:00
Wladimir J. van der Laan
cb83af9937
Merge pull request #5318
...
77c38bb
Truthier error message when rpcpassword is missing (Glenn Willen)
2014-11-21 13:53:57 +01:00
Wladimir J. van der Laan
4a106eeb33
qt: English translation update
2014-11-21 10:24:30 +01:00
Wladimir J. van der Laan
db5308f447
Merge pull request #5322
...
aabe61c
[Qt] explicitly call proxy in GUI settings SOCKS5 proxy (Philip Kaufmann)
2014-11-21 10:21:56 +01:00
Cory Fields
f618577029
build: fix link error on some platforms. Fixes #5235
...
Some users may have libtool libs (.la) installed in their linker search paths.
In this case, using -static-libtool-libs would try to link in .a's instead of
shared libs. That would be harmless unless the .a was built in a way that
would break linking, like non-fpic.
What we really want is "-static" here. Despite its name, it's actually less
aggressive than -static-libtool-libs. It causes only internal libs to be linked
statically (libbitcoinconsensus is the one were'a after).
2014-11-20 13:45:14 -05:00
Pieter Wuille
9d8604f36a
Header define style cleanups
2014-11-20 17:22:06 +01:00
Pieter Wuille
a53fd41485
Deterministic signing
2014-11-20 17:22:06 +01:00
Pieter Wuille
3060e36098
Add the RFC6979 PRNG
2014-11-20 17:22:06 +01:00
Pieter Wuille
a8f5087e53
Add HMAC-SHA256
2014-11-20 17:22:06 +01:00
Pieter Wuille
36fa4a78ac
Split up crypto/sha2
2014-11-20 17:22:02 +01:00
Luke Dashjr
b867e409e5
CreateNewBlock: Stick height in coinbase so we pass template sanity check
2014-11-20 15:32:49 +00:00
Wladimir J. van der Laan
5c4dffd188
Merge pull request #5270
...
57425a2
Check block header before accepting it. (Daniel Kraft)
2014-11-20 15:41:58 +01:00
Peter Todd
ca8158719b
Test the exact order of CHECKMULTISIG sig/pubkey evaluation
...
Possible with STRICTENC
2014-11-20 15:29:28 +01:00
Pieter Wuille
98b135f97f
Make STRICTENC invalid pubkeys fail the script rather than the opcode.
...
This turns STRICTENC turn into a softforking-safe change (even though it
is not intended as a consensus rule), and as a result guarantee that using
it for mempool validation only results in consensus-valid transactions in
the mempool.
2014-11-20 15:29:26 +01:00
Pieter Wuille
3ba5ebc065
Merge pull request #5000
...
0391423
Discourage NOPs reserved for soft-fork upgrades (Peter Todd)
2014-11-20 15:27:39 +01:00
Wladimir J. van der Laan
cf9c4887f1
Merge pull request #5324
...
72fb3d2
Update comments in src/rpc* to be doxygen compatible (Michael Ford)
2014-11-20 14:40:42 +01:00
Wladimir J. van der Laan
5c6b384502
Merge pull request #5320
...
e0a25c5
qt: Make askpassphrase dialog behave more sanely (Wladimir J. van der Laan)
2014-11-20 13:48:38 +01:00
Philip Kaufmann
aabe61cb37
[Qt] explicitly call proxy in GUI settings SOCKS5 proxy
...
- to ensure a consistent wording between core and GUI
2014-11-20 12:45:38 +01:00
Pieter Wuille
34559c7c73
Make PruneBlockIndexCandidates safer
2014-11-20 12:43:50 +01:00
Philip Kaufmann
4574248f9f
[Qt] minor ordering cleanup after new fee selection
2014-11-20 12:29:52 +01:00
Philip Kaufmann
a01fa3035f
minor style cleanup after HTTP rest interface merge
...
- no code changes
2014-11-20 12:29:19 +01:00
Wladimir J. van der Laan
e0a25c54eb
qt: Make askpassphrase dialog behave more sanely
...
Set minimum sizes appropriately, and make sure that they
are enforced. Replaces #5226 .
2014-11-20 12:28:34 +01:00
Daniel Kraft
57425a2425
Check block header before accepting it.
...
Previously, AcceptBlockHeader did not check the header (in particular
PoW). This made the client accept invalid-PoW-headers from peers in
headers-first sync.
2014-11-20 08:28:19 +01:00
Cory Fields
269efa30ed
build: add quick consensus lib tests
...
They should be hooked up in other places as well, but this is a start.
2014-11-19 22:31:10 -05:00
Cory Fields
cdd36c6c5c
build: add --with-libs so that libs are optional
2014-11-19 22:31:10 -05:00
Cory Fields
2cf5f16c25
build: add libbitcoinconsensus files and hook up the lib build
...
Credit BlueMatt for libbitcoinsonsensus.h/cpp
2014-11-19 22:31:10 -05:00
Cory Fields
e0077de5de
build: make a distinction between static app ldflags and static lib ldflags
...
For windows builds, exe's are always static, but libs should still conform to
--enabled-shared and --enable-static.
2014-11-19 22:08:27 -05:00
Michael Ford
72fb3d295a
Update comments in src/rpc* to be doxygen compatible
2014-11-20 10:19:39 +08:00
Luke Dashjr
60755dbf76
submitblock: Check for duplicate submissions explicitly
2014-11-20 00:15:17 +00:00
Luke Dashjr
9765a50cbd
Implement BIP 23 Block Proposal
2014-11-20 00:15:16 +00:00
Glenn Willen
77c38bb5cc
Truthier error message when rpcpassword is missing
2014-11-19 15:34:36 -08:00
Cozz Lovan
c1c9d5b415
[Qt] Add Smartfee to GUI
2014-11-19 16:04:53 +01:00
Cozz Lovan
e7876b2979
[Wallet] Prevent user from paying a non-sense fee
2014-11-19 16:04:53 +01:00