Commit Graph

8860 Commits

Author SHA1 Message Date
evan82
e52809a031 Merge pull request #511 from UdjinM6/v0.12.0.x_cleanup
V0.12.0.x cleanup & translations
2015-08-12 19:38:40 -07:00
Adam Weiss
243b80d292 Handle leveldb::DestroyDB() errors on wipe failure
Add error checking to CLevelDBWrapper for errors from
leveldb::DestroyDB().  Without it, if unlink() or DeleteFileW() fail to
delete files, they will fail silent.  If they fail to delete any files,
CLevelDBWrapper will silently open and read the existing database.

Typically any permissions issues would be caught by leveldb as it churns
through many files as part of its compaction process, but it is
conceivable that this could cause problems on Windows with anti-virus
and indexing software.
2015-08-12 19:40:09 -04:00
Evan Duffield
6ff903f27b Wait for DS confirmation 2015-08-12 15:54:21 -07:00
UdjinM6
8d7776c743 translations 2015-08-12 23:56:11 +03:00
UdjinM6
840a50a089 cleanups:
- typos
- remove `mnodeman.` inside `CMasternodeMan::`
2015-08-12 23:54:01 +03:00
UdjinM6
4cec1d9dad fix CPU exhausting by dsee flood 2015-08-12 17:29:43 +03:00
UdjinM6
cbecd3bfa8 fix 2015-08-12 15:35:58 +03:00
evan82
5e9fbabd90 Merge pull request #514 from UdjinM6/v0.12.0.x_fix_overview_upd
V0.12.0.x fix overview page updates on options change and on DS toggle
2015-08-11 19:05:49 -07:00
evan82
dd4bd3825f Merge pull request #515 from UdjinM6/v0.12.0.x_dsee_dseep
v0.12.0.x fix dsee / log output
2015-08-11 19:01:32 -07:00
UdjinM6
d636e74b59 fix dsee / log output 2015-08-12 04:58:23 +03:00
Evan Duffield
8c805923f9 Only relay dsee updates that are new 2015-08-11 18:39:22 -07:00
UdjinM6
4084950c0d fix overview page updates on options change and on DS toggle 2015-08-12 02:22:31 +03:00
Evan Duffield
1a2f30c628 fixed compile err 2015-08-11 15:54:27 -07:00
Evan Duffield
f5c1c979ef v43 2015-08-11 15:43:51 -07:00
Evan Duffield
5e1a6afe7f Send nLastDsq with MasternodeBroadcast 2015-08-11 15:43:19 -07:00
evan82
be801aadea Merge pull request #512 from crowning-/v0.12.0.x
V0.12.0.x fix bug with wallet-backups
2015-08-11 14:56:05 -07:00
Evan Duffield
c86e68c785 Move superblock check 2015-08-11 14:54:42 -07:00
crowning-
ee3feced9f V0.12.0.x fix bug with wallet-backups 2015-08-11 22:28:50 +02:00
Evan Duffield
37efa72605 v42 2015-08-11 12:23:21 -07:00
evan82
8320753d69 Merge pull request #510 from UdjinM6/v0.12.0.x_merge10again
V0.12.0.x merge10again
2015-08-11 12:22:33 -07:00
Evan Duffield
48eecea7e5 pull changes from bitcoin for FindMostWorkChain 2015-08-11 12:21:45 -07:00
UdjinM6
ed6f2b1439 Merge remote-tracking branch 'bitcoin/0.10' into v0.12.0.x_merge10again 2015-08-11 21:48:57 +03:00
UdjinM6
fd4cbf5eac fix fDarkSendMaster 2015-08-11 19:11:39 +03:00
Wladimir J. van der Laan
87f37e259d
Merge pull request #6519
7f1f8f5 Move mempool rejections to new debug category (Wladimir J. van der Laan)
66daed5 Add information to errors in ConnectBlock, CheckBlock (Wladimir J. van der Laan)
6cab808 Remove most logging from transaction validation (Wladimir J. van der Laan)
9003c7c Add function to convert CValidationState to a human-readable message (Wladimir J. van der Laan)
dc58258 Introduce REJECT_INTERNAL codes for local AcceptToMempool errors (Wladimir J. van der Laan)
fbf44e6 Add debug message to CValidationState for optional extra information (Wladimir J. van der Laan)
2015-08-11 17:36:50 +02:00
Wladimir J. van der Laan
7f1f8f5edf Move mempool rejections to new debug category
Move mempool rejections to debug category `mempoolrej`, to make it possible
to show them without enabling the entire category `mempool` which is
high volume.
2015-08-11 17:29:34 +02:00
Wladimir J. van der Laan
66daed5e1b Add information to errors in ConnectBlock, CheckBlock
Add detailed state information to the errors, as it is no longer being
logged downstream.

Also add the state information to mempool rejection debug message in
ProcessMessages.
2015-08-11 17:29:34 +02:00
Wladimir J. van der Laan
6cab808272 Remove most logging from transaction validation
Remove unnecessary direct logging in CheckTransaction,
AcceptToMemoryPool, CheckTxInputs, CScriptCheck::operator()

All status information should be returned in the CValidationState.
Relevant debug information is also added to the CValidationState using
the recently introduced debug message.

Do keep the "BUG! PLEASE REPORT THIS! ConnectInputs failed against MANDATORY but not STANDARD flags"
error as it is meant to appear as bug in the log.
2015-08-11 17:29:34 +02:00
Wladimir J. van der Laan
9003c7cdd8 Add function to convert CValidationState to a human-readable message
It is necessary to be able to concisely log a validation state.
Convert CValidationState to a human-readable message for logging.
2015-08-11 17:29:33 +02:00
Wladimir J. van der Laan
dc58258adf Introduce REJECT_INTERNAL codes for local AcceptToMempool errors
Add status codes specific to AcceptToMempool procession of transactions.
These can never happen due to block validation, and must never be sent
over the P2P network. Add assertions where appropriate.
2015-08-11 17:29:33 +02:00
Pavel Janík
8be371db34 Do not store more than 200 timedata samples. 2015-08-11 15:57:52 +02:00
evan82
738f009a10 Merge pull request #508 from UdjinM6/v0.12.0.x_sync_status
V0.12.0.x show masternode sync status in GUI
2015-08-11 05:55:07 -07:00
evan82
e52b845c88 Merge pull request #505 from UdjinM6/v0.12.0.x_ds_fixes
V0.12.0.x fixes for more then 1 ds action per block
2015-08-11 05:54:45 -07:00
UdjinM6
d79ac2bd60 define masternode sync treshold 2015-08-11 15:54:44 +03:00
UdjinM6
a01e56a67d show masternode sync status in GUI 2015-08-11 15:52:28 +03:00
UdjinM6
7f916e4702 manage DS connections to masternodes properly 2015-08-11 09:00:46 +03:00
UdjinM6
d9383e3ead fixes for more then 1 ds action per block 2015-08-11 08:09:56 +03:00
Evan Duffield
44e002f5d0 allow more than 1 action per block 2015-08-10 19:27:07 -07:00
evan82
a7fa7e28b0 Merge pull request #503 from UdjinM6/v0.12.0.x_ds_fixes
V0.12.0.x ds fixes
2015-08-10 18:56:51 -07:00
Evan Duffield
dcec36af85 allow users to anon all their coins each block 2015-08-10 18:56:14 -07:00
Mark Friedenbach
c5c1edfe60 Fix spelling mistake in -> if. 2015-08-10 18:09:59 -07:00
Mark Friedenbach
e846b2a1e9 Correct a possibly intentional pun that is nevertheless hard to read: "two times of nLockTime." What is meant is that there are two kinds, or categories of nLockTime. 2015-08-10 18:08:30 -07:00
UdjinM6
6b80448427 ds fixes 2015-08-11 02:06:17 +03:00
Evan Duffield
df33377ed0 increase chance of budget autocheck 2015-08-10 14:57:09 -07:00
Evan Duffield
595e30731a remove lock from active masternode 2015-08-10 14:48:58 -07:00
Evan Duffield
ea8a3f1aba checkpoint 2015-08-10 14:12:43 -07:00
Veres Lajos
9f68ed6b6d typofixes (found by misspell_fixer) 2015-08-10 22:06:27 +01:00
Evan Duffield
06fcb7333a prev block not found - changed to behaving of 0 2015-08-10 12:45:39 -07:00
Evan Duffield
c8b9237af1 Disable banning clients for specific fork violation 2015-08-10 12:00:39 -07:00
Pavel Janík
e0862c0933 Reformat validateaddress help, add missing iswatchonly description. 2015-08-10 20:10:56 +02:00
Tom Harding
212bcca920 Add optional locktime to createrawtransaction
A non-zero locktime also causes input sequences to be set to
non-max, activating the locktime.
2015-08-10 10:23:59 -07:00
Evan Duffield
7ba7eec5b5 Disable masternode and budget cache
- It seems these might cause clients to get stuck in rare cases, plus we sync all of this information from the network when the client loads up anyway. I think it's best to disable these features and see if the clients stop getting stuck on random reboots.
2015-08-10 09:53:45 -07:00
Wladimir J. van der Laan
6bb28058d3
Merge pull request #6346
627468d Add support for data-based outputs (OP_RETURN) to bitcoin-tx. (Pavel Janík)
d707853 Add OP_RETURN support in createrawtransaction RPC call, add tests. (Pavel Janík)
2015-08-10 17:53:07 +02:00
Wladimir J. van der Laan
6c1c7fdfd6
Merge pull request #6534
9493803 Revert "Revert "Assert on probable deadlocks if the second lock isnt try_lock"" (Cory Fields)
605433f locks: don't lock cs_wallet before making rpc calls (Cory Fields)
2015-08-10 17:38:25 +02:00
evan82
527c47c277 Merge pull request #501 from UdjinM6/v0.12.0.x_mnb_bug
V0.12.0.x allow mnb to be checked again if issue is (possibly) on our side
2015-08-10 05:47:03 -07:00
evan82
0297da668b Merge pull request #500 from UdjinM6/v0.12.0.x_DS_single_random_denom
V0.12.0.x Use single random denom in new DS session
2015-08-10 05:46:26 -07:00
Philip Kaufmann
be942def4b [Qt] add verifySize() function to PaymentServer
- add static verifySize() function to PaymentServer and move the logging
  on error into the function
- also use the new function in the unit test
- the function checks if the size is allowed as per BIP70
2015-08-10 14:12:15 +02:00
Philip Kaufmann
92684bb872 [Qt] minor optimisations in peertablemodel
- remove an unneeded include of net.h in peertablemodel.cpp
- add const after size() in PeerTablePriv
- remove 2x unneeded else in functions
- replace a (int) typecast by (QVariant) to use Qt style
- remove unneeded include of peertablemodel.h from rpcconsole.cpp
2015-08-10 14:11:25 +02:00
UdjinM6
81d96a2b52 fix bug with dsee/dseep proto check 2015-08-10 13:21:58 +03:00
UdjinM6
6b8c6b5c1a allow mnb to be checked again if issue is (possibly) on our side 2015-08-10 03:38:00 +03:00
UdjinM6
4c3f04b834 do not add/update v12 MNs from dsee/dseep 2015-08-10 02:47:35 +03:00
UdjinM6
4046900499 Use single random denom in new DS session 2015-08-10 02:28:43 +03:00
evan82
7d00729177 Merge pull request #497 from UdjinM6/v0.12.0.x_dsee_dseep
V0.12.0.x fix bugs in v12 dsee/dseep
2015-08-09 15:46:04 -07:00
Evan Duffield
fc5be7e363 version bump 2015-08-09 15:44:10 -07:00
UdjinM6
e599928ed3 fix bugs in v12 dsee/dseep 2015-08-10 01:32:09 +03:00
Evan Duffield
1d54f4127b disable superblock spork 2015-08-09 10:49:14 -07:00
evan82
d54d64d5d0 Merge pull request #496 from UdjinM6/v0.12.0.x_locks_fixes
V0.12.0.x locks fixes
2015-08-09 07:48:57 -07:00
evan82
d6ab60b332 Merge pull request #495 from UdjinM6/v0.12.0.x_default_spork_off
V0.12.0.x bump time for sporks 8-10 to be off by default
2015-08-09 07:48:29 -07:00
UdjinM6
5bd997f255 more dsee/dseep for migration:
- inject our node in old masrternodes' list / ping accordingly
- ignore dsee/dseep after SPORK_10_MASTERNODE_PAY_UPDATED_NODES is activated
2015-08-09 16:17:19 +03:00
UdjinM6
ba37415328 support old masternodes 2015-08-09 04:07:58 +03:00
UdjinM6
b743112d57 bump time for sporks 8-10 to be off by default 2015-08-09 03:27:38 +03:00
UdjinM6
84264b0327 millisleep 10->50 on trylock+wait 2015-08-09 00:48:09 +03:00
UdjinM6
17a2587bf1 more trylock+wait: rpc, GetHeight 2015-08-09 00:46:42 +03:00
Evan Duffield
e8ba7328f0 Clear seen on boot and everyday 2015-08-08 13:56:12 -07:00
Evan Duffield
7d51866b9d more debugging for incr sync 2015-08-08 13:24:47 -07:00
Evan Duffield
8e5c8d13d0 fix rpccommand fin budget getvotes 2015-08-08 13:10:38 -07:00
Evan Duffield
80495361f3 incremental sync with our peers 2015-08-08 13:04:25 -07:00
Evan Duffield
91bd9c7cf0 fValid for mnfinalbudget 2015-08-08 12:35:28 -07:00
Evan Duffield
2f63f98e50 Add sync mode for budget processing 2015-08-08 12:29:31 -07:00
Evan Duffield
9151acdd92 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-08-08 11:31:42 -07:00
Evan Duffield
ed9e287ce8 changed block cycle 2015-08-08 11:31:23 -07:00
evan82
b67d049fb8 Merge pull request #491 from UdjinM6/v0.12.0.x_locks_fixes
(WIP) V0.12.0.x Locks fixes
2015-08-08 11:11:37 -07:00
evan82
d5f70626c9 Merge pull request #493 from UdjinM6/v0.12.0.x_mnconf_comments
V0.12.0.x recognize comments in masternode.conf / write initial file
2015-08-08 11:10:47 -07:00
evan82
2f479e45db Merge pull request #492 from UdjinM6/v0.12.0.x_mncheck
V0.12.0.x set a cooldown for MN check
2015-08-08 11:10:38 -07:00
Evan Duffield
bed645ff9e version bump 2015-08-08 11:09:00 -07:00
Evan Duffield
25750983b0 change superblocks to every 600 blocks 2015-08-08 11:08:00 -07:00
Evan Duffield
dde2b2667a add getvotes for fin bual budget 2015-08-08 10:36:01 -07:00
UdjinM6
e4677275a2 limit scope of cs_wallet in PrepareDarksendDenominate 2015-08-08 20:11:20 +03:00
Matt Corallo
d04285430d SQUASH "Implement watchonly support in fundrawtransaction" 2015-08-08 09:30:53 -07:00
Matt Corallo
428a898acd SQUASH "Add have-pubkey distinction to ISMINE flags" 2015-08-08 09:30:53 -07:00
Daniel Kraft
69c3bde448 Add some const declarations where they are appropriate.
Declare some arguments of functions as "const" pointers where they are
not meant to be modified.
2015-08-08 18:18:41 +02:00
UdjinM6
47b16bab5f recognize comments in masternode.conf / write initial file 2015-08-08 13:49:55 +03:00
UdjinM6
c1aa277286 set a cooldown for MN check 2015-08-08 13:36:30 +03:00
UdjinM6
ec3848c5dd Locks fixes:
- trylock for updateDarksendProgress, checkBalanceChanged, "block"
- trylock+wait for UnlockCoins, SendDarksendDenominate, ProcessNewBlock, ActivateBestChain
- move trylock in DoAutomaticDenominating lower
2015-08-08 10:34:41 +03:00
Evan Duffield
b8e7b84916 extra debugging 2015-08-07 16:53:07 -07:00
Evan Duffield
03236899d1 add fbvote debugging / wallet lock 2015-08-07 15:47:23 -07:00
Evan Duffield
528d2a562e fix log entries 2015-08-07 14:45:08 -07:00
Evan Duffield
33d5b7e746 fix autocheck bug 2015-08-07 13:39:08 -07:00
Cory Fields
9493803f4a Revert "Revert "Assert on probable deadlocks if the second lock isnt try_lock""
This reverts commit a4fe57da62.

The issue here should be fixed by the previous commit.
2015-08-07 16:18:16 -04:00
Cory Fields
605433ffb5 locks: don't lock cs_wallet before making rpc calls 2015-08-07 16:17:57 -04:00
Evan Duffield
e0ecfbd00b allow logging for fbvote 2015-08-07 13:00:27 -07:00
Evan Duffield
572ebf4502 prinf -> logprintf 2015-08-07 11:33:50 -07:00
Evan Duffield
f28e12f23d more debugging for autocheck 2015-08-07 09:54:02 -07:00
Evan Duffield
73e6cc4449 Compare string version of CScript instead 2015-08-07 09:32:35 -07:00
evan82
dac2b0fae5 Merge pull request #490 from UdjinM6/v0.12.0.x_process_on_IsBlockchainSynced
V0.12.0.x process DS,IX,MN,DGBB on IsBlockchainSynced, not on IBD
2015-08-07 06:18:50 -07:00
evan82
491ccc8d62 Merge pull request #488 from UdjinM6/v0.12.0.x_over_scr
V0.12.0.x fixes for overview screen / DS progress
2015-08-07 06:18:10 -07:00
evan82
8424dc7b1a Merge pull request #487 from UdjinM6/v0.12.0.x_ask_for_mn
V0.12.0.x ask for mn / lower mnw ban
2015-08-07 06:17:25 -07:00
Philip Kaufmann
54bd28fa75 [Qt] show client user agent in debug window 2015-08-07 14:01:49 +02:00
Wladimir J. van der Laan
0c465f5e60
Merge pull request #4587
ed166df [Qt] allow users to set -onion via GUI (Philip Kaufmann)
2015-08-07 13:43:13 +02:00
Wladimir J. van der Laan
100c9d3994
Merge pull request #6505
df9c2ee [Qt] replace wifi icon with network symbol (Marco)
9142867 [QT] cleanup icons (Marco)
2015-08-07 12:57:17 +02:00
Wladimir J. van der Laan
e545371b77
Merge pull request #6377
c433828 Handle no chain tip available in InvalidChainFound() (Ross Nicoll)
2015-08-07 09:14:53 +02:00
Wladimir J. van der Laan
41d650ff92
Merge pull request #6527
231c560 Use unique name for AlertNotify tempfile (Casey Rodarmor)
2015-08-07 08:22:11 +02:00
UdjinM6
8063bcc8aa process DS,IX,MN,DGBB on IsBlockchainSynced, not on IBD 2015-08-07 07:48:55 +03:00
UdjinM6
745142f6bf DS progress weights depend on DS rounds in settings / force overview to update on OK in options 2015-08-07 06:19:10 +03:00
UdjinM6
f57c470f95 ask for mn / lower ban score for mnw 2015-08-07 06:07:40 +03:00
Evan Duffield
f94d9803c6 Fixed --disablewallet crash 2015-08-06 16:09:22 -07:00
Evan Duffield
fca0a6d4b8 client bump 2015-08-06 14:48:03 -07:00
Evan Duffield
d251dc6599 Keep track of immature budgets/proposals 2015-08-06 13:18:10 -07:00
Pavel Janík
627468d2ea Add support for data-based outputs (OP_RETURN) to bitcoin-tx. 2015-08-06 20:27:52 +02:00
Pavel Janík
d7078533eb Add OP_RETURN support in createrawtransaction RPC call, add tests. 2015-08-06 20:27:52 +02:00
Wladimir J. van der Laan
a4fe57da62
Revert "Assert on probable deadlocks if the second lock isnt try_lock"
Disabling this for now - too many intermittent Travis issues.

This reverts commit 0fcc4e1e04
(pull #5515).
2015-08-06 14:15:54 +02:00
Wladimir J. van der Laan
2f746c6e8a
Merge pull request #6177
ef8dfe4 Prevent block.nTime from decreasing (Mark Friedenbach)
2015-08-06 12:01:21 +02:00
Wladimir J. van der Laan
fbf44e6f3e Add debug message to CValidationState for optional extra information
Add a field `strDebugMessage` which can be passed to DoS or Invalid,
and queried using GetDebugMessage() to add extra troubleshooting
information to the validation state.
2015-08-06 09:47:01 +02:00
Casey Rodarmor
231c5601a1 Use unique name for AlertNotify tempfile 2015-08-05 23:12:26 -04:00
Evan Duffield
a47585ea33 version bump 2015-08-05 16:37:43 -07:00
Evan Duffield
50c7b96c69 Try lock in ProcessGetData 2015-08-05 14:33:51 -07:00
evan82
e05622037c Merge pull request #477 from UdjinM6/v0.12.0.x_locks
V0.12.0.x more locks fixes
2015-08-05 14:31:29 -07:00
UdjinM6
9a9e7b7644 strings/translation source fixes 2015-08-06 00:12:01 +03:00
evan82
42d7223191 Merge pull request #479 from UdjinM6/v0.12.0.x_sync_added
v0.12.0.x clear mapSeenSync... on Reset
2015-08-05 13:14:24 -07:00
UdjinM6
54ac44e60b relay dstx to everyone 2015-08-05 22:43:00 +03:00
Wladimir J. van der Laan
a0625b8085
Merge pull request #5913
5922b67 Add assertion and cast before sending reject code (Wladimir J. van der Laan)
a651403 Add absurdly high fee message to validation state (for RPC propagation) (Shaul Kfir)
2015-08-05 19:12:48 +02:00
Wladimir J. van der Laan
5922b6774e Add assertion and cast before sending reject code
This gets rid of a warning. Add an assertion to make sure that the
reject code is in the correct range for the network protocol
(if it is outside the range it must be a bug)
2015-08-05 19:02:19 +02:00
Evan Duffield
8bd8a897d0 IsBlockchainSynced in mnsync 2015-08-05 07:28:10 -07:00
Evan Duffield
801e597d64 added mnsync command 2015-08-05 07:24:58 -07:00
Wladimir J. van der Laan
c384800027
Merge pull request #6462
7b79cbd limit total length of user agent comments (Pavol Rusnak)
557f8ea implement uacomment config parameter which can add comments to user agent as per BIP-0014 (Pavol Rusnak)
2015-08-05 15:43:10 +02:00
Wladimir J. van der Laan
c9c017adf6
Merge pull request #6489
f261f19 Give a better error message if system clock is bad (Casey Rodarmor)
2015-08-05 10:23:01 +02:00
Pavol Rusnak
7b79cbd722 limit total length of user agent comments
Reworked-By: Wladimir J. van der Laan <laanwj@gmail.com>
2015-08-05 09:38:20 +02:00
UdjinM6
903970d0cf clear mapSeenSync... on Reset 2015-08-05 05:10:47 +03:00
evan82
0d625c888d Merge pull request #478 from UdjinM6/v0.12.0.x_sync_added
V0.12.0.x track hashes and update `last...` only twice per hash
2015-08-04 19:00:15 -07:00
UdjinM6
6b74652b01 track hashes and update "last..." only twice per hash 2015-08-05 04:18:37 +03:00
Evan Duffield
bb5570015f Keep track of and reprocess rejected blocks 2015-08-04 18:05:57 -07:00
UdjinM6
7d78c98f0d Few more lock-related fixes:
- do not lock cs_main for mnodeman.CheckAndRemove() - we have trylock inside CMasternode.Check, should be enough
- fast cs_main lock for ix
- use RelayInv instead of manually locking nodes / pushing inv
- do not lock cs_vNodes / ClearFulfilledRequest on every 100th block, CMasternodeSync should already handle resync by itself better now
2015-08-05 01:54:31 +03:00
UdjinM6
ff159ad7e7 ConnectNode/FindNide:
- Use FindNode instead of explicit loops
- Do not use FindNode where we can grab node right from ConnectNode (slightly less cs_vNodes)
2015-08-05 01:38:54 +03:00
UdjinM6
3f7e62e2bf cleanup CMasternodeSync a bit 2015-08-05 00:49:14 +03:00
UdjinM6
174f8a7644 merge IsBlockchainSynced and WakeUp 2015-08-05 00:15:24 +03:00
Evan Duffield
57599e07e3 protocol bump 2015-08-04 11:22:31 -07:00
Evan Duffield
743f7fc5eb new wakeup/sleep sync code 2015-08-04 11:21:27 -07:00
Evan Duffield
0260e06648 version bump 2015-08-04 10:58:21 -07:00
Evan Duffield
76959ead20 Fixed GetBudget 2015-08-04 10:55:54 -07:00
Pieter Wuille
586a29253d
Merge pull request #6503
19dd40a Consolidate individual references to the current maximum peer connection value of 125 into a single constant declaration. (Matt Quinn)
2015-08-04 19:43:30 +02:00
Evan Duffield
c770283371 Lower IX conf minimum
- 1 less than the "send IX" gui requires, incase of a block propagating the network at the time
2015-08-04 10:42:05 -07:00
Evan Duffield
a0addf20a9 check collateral tx, find masternode before vote 2015-08-04 09:31:19 -07:00
Marco
df9c2ee1c9 [Qt] replace wifi icon with network symbol 2015-08-04 16:53:30 +02:00
UdjinM6
b4aaa11864 translations >80% 2015-08-04 17:02:24 +03:00
Marco
9142867572 [QT] cleanup icons
* Cleanup SVG code
* Unify design ("Typicons" seem to have round edges)
* Fix transparency issue with clock5.png
2015-08-04 12:06:12 +02:00
evan82
76858b0341 Merge pull request #474 from UdjinM6/v0.12.0.x_ref_IsBlockchainSynced
V0.12.0.x use fBlockchainSynced right on IsBlockchainSynced start
2015-08-03 16:49:25 -07:00
Wladimir J. van der Laan
b6fee6b7c7
Merge pull request #6504
9ca7857 Rationalize currency unit to "BTC" (Ross Nicoll)
2015-08-04 01:24:19 +02:00
UdjinM6
2235671775 use fBlockchainSynced right on IsBlockchainSynced start 2015-08-04 02:23:36 +03:00
Ross Nicoll
9ca7857df7 Rationalize currency unit to "BTC"
Previously various user-facing strings have used inconsistent currency units "BTC",
"btc" and "bitcoins". This adds a single constant and uses it for each reference to
the currency unit.

Also adds a description of the unit for --maxtxfee, and adds the missing "amount"
field description to the (deprecated) move RPC command.
2015-08-03 22:58:30 +01:00
Matt Quinn
19dd40a25f Consolidate individual references to the current maximum peer connection
value of 125 into a single constant declaration.
2015-08-03 14:37:00 -07:00
evan82
66c3cc1708 Merge pull request #472 from UdjinM6/v0.12.0.x_ref_IsBlockchainSynced
V0.12.0.x refactor IsBlockchainSynced
2015-08-03 14:21:43 -07:00
UdjinM6
2e8445e741 refactor IsBlockchainSynced 2015-08-04 00:09:27 +03:00
Evan Duffield
ecea4bfaf9 client version bump 2015-08-03 13:41:19 -07:00
UdjinM6
12d320301f add composite debug category dash=darksend+instantx+masternode+keepass+mnpayments+mnbudget 2015-08-03 23:23:30 +03:00
evan82
cc4b40616f Merge pull request #470 from UdjinM6/v0.12.0.x_fix_rpc_darksend_lock
V0.12.0.x fix rpc for darksend
2015-08-03 13:16:56 -07:00
UdjinM6
240bb10d33 fix rpc for darksend 2015-08-03 23:14:19 +03:00
Evan Duffield
1f35a12033 disable ix for fin budget submit 2015-08-03 12:57:15 -07:00
Evan Duffield
92be1268bb Fixed bug with AutoCheck finalbudget voting 2015-08-03 12:54:54 -07:00
Casey Rodarmor
2d8c49d126 Clean up tx prioritization when conflict mined 2015-08-03 15:49:01 -04:00
Casey Rodarmor
f261f19b4b Give a better error message if system clock is bad
Fixes #2007

This checks to see if the system clock appears to be bad and gives a
helpful error message. If the user's clock is set incorrectly, hopefully
they'll abort, fix it, and then save themselves a fruitless resync.
2015-08-03 15:11:52 -04:00
Evan Duffield
c7077dc9d4 disable try-lock on IBD 2015-08-03 12:11:32 -07:00
Evan Duffield
e0031a807e Add superblock checks in various places 2015-08-03 11:38:08 -07:00
Wladimir J. van der Laan
219b916545
Merge pull request #6498
a8d0407 Move recentRejects initialization to top of InitBlockIndex (Wladimir J. van der Laan)
0847d9c Keep track of recently rejected transactions (Peter Todd)
d741371 Only use randomly created nonces in CRollingBloomFilter. (Pieter Wuille)
d2d7ee0 Make CRollingBloomFilter set nTweak for you (Peter Todd)
a3d65fe Reuse vector hashing code for uint256 (Pieter Wuille)
bbe4108 Add uint256 support to CRollingBloomFilter (Peter Todd)
2015-08-03 20:13:43 +02:00
Wladimir J. van der Laan
10ac38ed9f
Merge pull request #6284
c6455c7 doc: mention change to option parsing behavior in release notes (Wladimir J. van der Laan)
c38c49d Fix argument parsing oddity with -noX (Wladimir J. van der Laan)
2015-08-03 19:54:52 +02:00
Wladimir J. van der Laan
9e6c33b202
Merge pull request #6356
f0cba6f Delay initial pruning until after wallet init (Adam Weiss)
2015-08-03 19:34:50 +02:00
UdjinM6
18635f0979 fix debug output 2015-08-03 19:24:23 +03:00
Wladimir J. van der Laan
f18b8ec7cf Make sure LogPrintf strings are line-terminated
Fix the cases where LogPrint[f] was accidentally called without line
terminator, which resulted in concatenated log lines.

(see e.g. #6492)
2015-08-03 17:40:55 +02:00
Evan Duffield
334c3ea971 Added ReprocessBlocks 2015-08-02 16:08:37 -07:00
Evan Duffield
f6721cbe17 Reconsider : typo, use i and break 2015-08-02 15:50:27 -07:00
Evan Duffield
d80feacc8e Reprocess before disconnect for rescan 2015-08-02 14:59:28 -07:00
Evan Duffield
d1e6388ccc Undo try_locks for miner 2015-08-02 13:07:23 -07:00
Evan Duffield
9a18014987 enable block cache 2015-08-02 12:16:09 -07:00
Evan Duffield
34d5fb1d75 remove checkpoint 2015-08-02 09:52:01 -07:00
Evan Duffield
28fe729708 fix non-super block check 2015-08-02 09:31:12 -07:00
Evan Duffield
0387ebe244 Version 35 2015-08-02 07:29:09 -07:00
Evan Duffield
ef1dc8434e Prepare testnet for upgrade 2015-08-02 07:28:38 -07:00
Evan Duffield
c0af8b15f8 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-08-02 07:01:11 -07:00
UdjinM6
091867525c more info on ds progress / update tr strings / prepare dash_en.ts for translations 2015-08-02 06:19:48 +03:00
UdjinM6
b8dbdb356a Merge pull request #468 from crowning-/UI_Enhancements
UI: "Confirm send coins" popup beautified
2015-08-02 06:18:09 +03:00
Evan Duffield
53e1cd66ff Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-08-01 16:05:45 -07:00
evan82
718c7f14f9 Merge pull request #384 from UdjinM6/v0.12.0.x_debug_categories
V0.12.0.x additional debug categories
2015-08-01 15:48:03 -07:00
crowning-
efc74b2253 UI: "Confirm send coins" popup beautified 2015-08-01 21:55:46 +02:00
Evan Duffield
64aad03485 draft 2015-08-01 02:03:15 -07:00
Evan Duffield
171c0b145a TRY_LOCK for blocks 2015-08-01 01:58:18 -07:00
Evan Duffield
44c99417d2 disable block cache / fix reprocess 2015-08-01 01:51:30 -07:00
Evan Duffield
8b62e590df version bump / proto bump / try mining lock 2015-07-31 19:18:26 -07:00
Evan Duffield
fa9a0ec037 Use reconsider blocks for IX instead of disconnect 2015-07-31 12:39:02 -07:00
evan82
8168b60301 Merge pull request #465 from crowning-/v0.12.0.x
UI: alignment fix for Overview-page
2015-07-31 11:54:21 -07:00
UdjinM6
dd8fa7c365 Continue work on more debug categories
- rebased to latest v12
- masternode, mnpayments, mnbudget and keepass categories
- remove c_str in logprint(f)
2015-07-31 19:01:18 +03:00
Wladimir J. van der Laan
a8d0407c4f Move recentRejects initialization to top of InitBlockIndex
This avoids that premature return in the condition that a new chain is initialized
results in NULL pointer errors due to recentReject not being constructed.

Also add assertions where it is used.
2015-07-31 17:58:12 +02:00
UdjinM6
1c7c81afb3 cleanup other incorrect ix log outputs 2015-07-31 18:52:19 +03:00
UdjinM6
184611f2ac add instantx debug category 2015-07-31 18:52:19 +03:00
UdjinM6
f0923de04c add darksend debug category 2015-07-31 18:52:19 +03:00
UdjinM6
2ade614458 fix 2015-07-31 18:49:57 +03:00
Pavol Rusnak
557f8eac7a implement uacomment config parameter
which can add comments to user agent as per BIP-0014
2015-07-31 16:19:23 +02:00
evan82
371bf3491b Merge pull request #464 from UdjinM6/v0.12.0.x_cleanup
V0.12.0.x cleanups/small fixes:
2015-07-31 05:52:16 -07:00
Wladimir J. van der Laan
86cfd23f68
Merge pull request #6473
5fb5c9b Clean up chainparams some more. (Daniel Kraft)
2015-07-31 10:10:55 +02:00
Wladimir J. van der Laan
9848d4297b
Merge pull request #6487
eec7757 qt: Introduce PlatformStyle (Wladimir J. van der Laan)
2015-07-31 10:06:49 +02:00
Wladimir J. van der Laan
eec7757445 qt: Introduce PlatformStyle
Introduce a PlatformStyle to handle platform-specific customization of
the UI.

This replaces 'scicon', as well as #ifdefs to determine whether to place
icons on buttons.

The selected PlatformStyle defaults to the platform that the application
was compiled on, but can be overridden from the command line with
`-uiplatform=<x>`.

Also fixes the warning from #6328.
2015-07-31 09:35:18 +02:00
crowning-
d75ffba355 UI: alignment fix for Overview-page (typo fix) 2015-07-31 09:35:17 +02:00
crowning-
a5170420db UI: alignment fix for Overview-page 2015-07-31 08:40:06 +02:00
mruddy
af3208bfa6 Resolve issue 3166.
These changes decode valid SIGHASH types on signatures in assembly (asm) representations of scriptSig scripts.
This squashed commit incorporates substantial helpful feedback from jtimon, laanwj, and sipa.
2015-07-30 19:56:00 -04:00
Evan Duffield
d57d6f0466 disable IX for proposal fees 2015-07-30 14:27:25 -07:00
Evan Duffield
1cf19c64ac Check prop FeeHash separate w/o banning prop 2015-07-30 13:15:27 -07:00
Evan Duffield
6c6aa3512f fixed sendtoaddressix 2015-07-30 12:00:17 -07:00
Evan Duffield
5024b7d3f6 Added sendtoaddressix for api IX support 2015-07-30 11:33:56 -07:00
UdjinM6
9ab4a72454 cleanups/fixes:
- use map.insert instead of [] (should be safer)
- debug output / comments / spaces / names
- fix few long strings / make translatable one more label in UI
2015-07-30 19:12:05 +03:00
Evan Duffield
ebc2591e4b Revert "lock debugging"
This reverts commit e230762d5a.
2015-07-30 07:49:08 -07:00
Evan Duffield
7a9028631a Revert "Disable CheckAndRemove on file dumps"
This reverts commit 3fc9ea4adf.
2015-07-30 07:41:14 -07:00
UdjinM6
afd715286a fix all kind of lock issues 2015-07-30 16:44:18 +03:00
Evan Duffield
3f4727716a disable sync-retry 2015-07-30 06:27:57 -07:00
Evan Duffield
3a72bea5b3 fixed sync edge case 2015-07-30 06:27:57 -07:00
Evan Duffield
3fc9ea4adf Disable CheckAndRemove on file dumps
- Testing theory for lockups
2015-07-30 06:27:57 -07:00
Evan Duffield
805452955b Proposal nTime based on fee transaction block 2015-07-30 06:27:29 -07:00
crowning-
0e7b73e166 UI: better alignment of overview-screen 2015-07-30 06:27:29 -07:00
UdjinM6
36bb9d6e27 FindRandomNotInVec - should give less failures then FindRandom on doauto 2015-07-30 06:27:29 -07:00
UdjinM6
6c7d66f0c1 add cs_wallet lock on GetInputDarksendRounds 2015-07-30 06:27:29 -07:00
UdjinM6
8a3f3428dd move ds/ix/mn lib to wallet category 2015-07-30 06:27:29 -07:00
UdjinM6
c99af0bc63 More DS refactoring/fixes:
- move ds rounds calculation to wallet
- add cache to / rework anon/denom balance functions
- fix updates on new blocks for ds status on overview page
- fix after rebase
2015-07-30 06:27:29 -07:00
UdjinM6
ba5e906b9d do not mix 1000 if it's local MN _OR_ input is locked - should allow to mix 1000 in all other cases 2015-07-30 06:27:28 -07:00
UdjinM6
976bd7853f Refactor DS:
- always clear entries, do not try to reuse them
- unlock coins only when needed (do not unlock them every 10 blocks)
- make logic a bit more strightforward in few places
- clear all expired on timeout (not just the first found)
- add 2 additional statuses on doauto
- run DS checks when mn list sync started, do not wait for full sync
- move most class members to private
2015-07-30 06:27:28 -07:00
Evan Duffield
e230762d5a lock debugging 2015-07-30 06:27:28 -07:00
crowning-
ff2fa918b6 UI: CSS for watch-only addresses added 2015-07-30 06:27:28 -07:00
Evan Duffield
0152a1fc11 Removed IsBudgetPaymentBlock lock 2015-07-29 13:59:07 -07:00
Evan Duffield
dfad32272c Refactored locking for masternode winners and budgets 2015-07-29 12:29:46 -07:00
Daniel Kraft
5fb5c9b213 Clean up chainparams some more.
Clean up the code in chainparams a bit more after the recent
refactorings.  In particular, make sure the structure of the "RegTest"
params matches the structure of the other classes.  This makes the code
clearer to read.

Also remove redundant values of the genesis block in always-specified
optional arguments and mark variable/argument as "const".
2015-07-29 21:13:36 +02:00
Wladimir J. van der Laan
675d2feffa
Merge pull request #6224
59b49cd Eliminate signed/unsigned comparison warning (Suhas Daftuar)
04b5d23 Replace sleep with syncing using pings (Suhas Daftuar)
6b1066f Ignore whitelisting during IBD for unrequested blocks. (Suhas Daftuar)
bfc30b3 Ignore unrequested blocks too far ahead of tip (Suhas Daftuar)
2015-07-29 20:04:15 +02:00
Adam Weiss
f0cba6f8eb Delay initial pruning until after wallet init
Don't prune until any wallet rescanning has taken place to avoid
potentially pruning blocks that the wallet rescan may need.
2015-07-29 14:00:25 -04:00
Wladimir J. van der Laan
7cbed7fa28
Merge pull request #6488
17ac0f4 Avoid leaking file descriptors in RegisterLoad (Casey Rodarmor)
2015-07-29 18:59:23 +02:00
Evan Duffield
fc33c3b963 fixed GetBudget bug 2015-07-29 01:29:15 -07:00
Evan Duffield
f82a028869 Budget prop empty / version bump 2015-07-29 01:08:47 -07:00
Evan Duffield
0edb236801 Fixed item count functionality and sync with no budegt 2015-07-29 01:06:30 -07:00
Evan Duffield
dc829e9d2c added syncing counts 2015-07-28 21:16:11 -07:00
Evan Duffield
08de7c3bc4 try activation immediately after sync 2015-07-28 20:26:08 -07:00
Evan Duffield
8acfd77750 Fixed HaveBudget, allow failure after 3 tries 2015-07-28 13:14:32 -07:00
Evan Duffield
a069a5df5e Update isBlockchainSynced requirements 2015-07-28 13:07:40 -07:00
Peter Todd
0847d9cb5f
Keep track of recently rejected transactions
Nodes can have divergent policies on which transactions they will accept
and relay.  This can cause you to repeatedly request and reject the same
tx after its inved to you from various peers which have accepted it.
Here we add rolling bloom filter to keep track of such rejections,
clearing the filter every time the chain tip changes.

Credit goes to Alex Morcos, who created the patch that this code is
based on.

Original code by Peter Todd. Refactored to not construct the
filter at startup time by Pieter Wuille.
2015-07-28 15:50:13 -04:00
Cory Fields
17221bf77e chainparams: don't use std namespace 2015-07-28 15:33:33 -04:00
Cory Fields
f0deec572b chainparams: move CCheckpointData into chainparams.h
This unties CChainParams from its dependency on checkpoints. Instead, now it
only depends on the raw checkpoint data.
2015-07-28 15:26:50 -04:00
Pieter Wuille
eddaba7b56
Revert "Cache transaction validation successes"
This reverts commit 17b11428c1.
2015-07-28 20:15:00 +02:00
Casey Rodarmor
17ac0f4025 Avoid leaking file descriptors in RegisterLoad
This is pretty trivial, but if there's an error here we'll leak a file
descriptor. Changed it to always close the file.
2015-07-28 14:01:00 -04:00
Evan Duffield
ffaedc1829 Fixed proposal nTime calculation and usage 2015-07-28 08:55:11 -07:00
Evan Duffield
69b02b5519 Fixed documentation 2015-07-28 07:52:12 -07:00
Evan Duffield
8be929d870 version bump 2015-07-28 06:43:39 -07:00
Evan Duffield
d72d3d022d Various Fixes
- Testnet budget adjustments to allow quick cycles that create no inflation in the testnet environment
- Budget proposal are sorted by YesCount-NoCount now
- Added nTime to proposals
- Only allow proposals more than 1 day old into budgets
2015-07-28 06:40:48 -07:00
Evan Duffield
781db99ee9 Changed hard fork date to Aug 30 2015-07-28 01:28:08 -07:00
Pavel Vasin
5e56ef5152 qt: use CHashWriter also in SignVerifyMessageDialog
This eliminates unnecessary copying of data being hashed.
2015-07-28 10:59:16 +03:00
Evan Duffield
b6222a9ae9 change req sigs to 6 of 10 2015-07-27 17:33:57 -07:00
Evan Duffield
b540068f94 enable mnw lock 2015-07-27 15:44:51 -07:00
Evan Duffield
bf18699ade client bump /proto bump 2015-07-27 12:35:17 -07:00
Evan Duffield
cddbda994f Fixed DarkSend dstx propagation issues 2015-07-27 12:34:02 -07:00
Evan Duffield
9689e5c077 improve errors for missing finbudgets/props 2015-07-27 10:28:10 -07:00
Pieter Wuille
d741371d7d Only use randomly created nonces in CRollingBloomFilter. 2015-07-27 19:09:39 +02:00
Peter Todd
d2d7ee0e86 Make CRollingBloomFilter set nTweak for you
While CBloomFilter is usually used with an explicitly set nTweak,
CRollingBloomFilter is only used internally. Requiring every caller to
set nTweak is error-prone and redundant; better to have the class handle
that for you with a high-quality randomness source.

Additionally when clearing the filter it makes sense to change nTweak as
well to recover from a bad setting, e.g. due to insufficient randomness
at initialization, so the clear() method is replaced by a reset() method
that sets a new, random, nTweak value.
2015-07-27 18:38:49 +02:00
Pieter Wuille
a3d65fedaa Reuse vector hashing code for uint256 2015-07-27 18:38:45 +02:00
Peter Todd
bbe41088c6 Add uint256 support to CRollingBloomFilter 2015-07-27 18:37:18 +02:00
Evan Duffield
e03879b3cf Update spork name : SPORK_10_MASTERNODE_PAY_UPDATED_NODES 2015-07-27 08:28:10 -07:00
Gavin Andresen
517e6dd256 Unit test doublespends in new blocks
As suggested by Greg Maxwell-- unit test to make sure a block
with a double-spend in it doesn't pass validation if half of
the double-spend is already in the memory pool (so full-blown
transaction validation is skipped) when the block is received.
2015-07-27 15:50:21 +02:00
Pieter Wuille
17b11428c1 Cache transaction validation successes 2015-07-27 15:28:43 +02:00
evan82
225ad3be89 Merge pull request #458 from crowning-/UI_Enhancements
UI: Limit display of Sendcoins-popup to 10 entries.
2015-07-27 05:59:48 -07:00
Wladimir J. van der Laan
c38c49d0b7 Fix argument parsing oddity with -noX
`bitcoind -X -noX` ends up, unintuitively, with `X` set.
(for all boolean options X)

This result is due to the odd two-pass processing of arguments. This
patch fixes this oddity and simplifies the code at the same time.
2015-07-27 14:47:54 +02:00
Wladimir J. van der Laan
ca37e0f339
Merge pull request #5697
60c8bac Includes: Cleanup around net main and wallet (Jorge Timón)
9dd793f TRIVIAL: Missing includes (Jorge Timón)
2015-07-27 14:40:29 +02:00
Wladimir J. van der Laan
614601be8f rpc: Accept strings in AmountFromValue
Accept strings containing decimal values, in addition to bare values.

Useful from JSON-RPC implementations where it's not possible to have
direct control over the text of numbers (e.g. where numbers are always
doubles), and it's still desired to send an exact value.

This would allow users to post JSON content with numbers encoded like
`{"value": "0.00000001"}` instead of `{"value": 0.00000001}` which some
php/python encoders wrap into 1e-8, or worse.
2015-07-27 13:55:46 +02:00
Wladimir J. van der Laan
d43297c5ba
Merge pull request #6468
6f8b6d3 don't try to decode invalid encoded ext keys (Jonas Schnelli)
8d2af54 extend bip32 tests to cover Base58c/CExtKey decode (Jonas Schnelli)
7cb1f9f fix and extend CBitcoinExtKeyBase template (Jonas Schnelli)
2015-07-27 13:20:54 +02:00
Wladimir J. van der Laan
f6850d58f7
Merge pull request #6471
060b3d3 fixup: qt 5.5 snuck in another module that needs path hand-holding (Cory Fields)
ecd6a89 depends: make more qt flags explicit (Cory Fields)
ab67dd7 depends: bump to qt 5.5 (Cory Fields)
5189fe3 depends: split qt config options to separate lines (Jacob Welsh)
fe997df build: fix building against qt5.4/5.5 (Cory Fields)
2015-07-27 12:28:42 +02:00
Evan Duffield
7b480ac74d Eliminate false positives for syncing process 2015-07-26 20:41:57 -07:00
Evan Duffield
597c2b299d new masternode start strategy - only check blockchain sync status 2015-07-26 13:09:52 -07:00
Evan Duffield
d227f28621 allow masternodes to turn on pre-sync - udjin 2015-07-26 12:37:01 -07:00
crowning-
76c4cfc0de UI: Limit display of Sendcoins-popup to 10 entries. 2015-07-26 18:43:22 +02:00
Evan Duffield
da21fed1f5 version bump 2015-07-26 07:36:40 -07:00
Evan Duffield
145c845d1f Changed vote restrition model
- Masternodes can only vote once per hour now, instead of 100 times a day total
- UI reports back errors now
2015-07-26 07:01:49 -07:00
Evan Duffield
f82b34f3f2 better sorting algorithm
-- sort props by votes then nFeeHashTX
2015-07-26 05:26:15 -07:00
Evan Duffield
2b3edff435 Only relay good budget items 2015-07-25 21:23:38 -07:00
Evan Duffield
b04faf6e2d Update lastPing in mapSeen obj, remove ping from CMasternode hash 2015-07-25 21:13:17 -07:00
Evan Duffield
04fc6e1fb4 Change rest of sync process to direct inv messages / reduced sync timeout 2015-07-25 20:17:53 -07:00
Evan Duffield
61becf2f11 directly send inv messages 2015-07-25 19:27:40 -07:00
Evan Duffield
c0a5dfba61 Masternode inv messages / save seen in mncache 2015-07-25 12:07:30 -07:00
Evan Duffield
43101ebeca Implement planned hard forks, August 24, 2015 2015-07-25 11:02:38 -07:00
Evan Duffield
0b9d761a38 only take newest votes 2015-07-25 09:59:59 -07:00
Evan Duffield
8187228be1 Fixed budget syncing issues / forking issues / syncing issues
- Budgets now store the seen objects locally so they're not overwritten when saving/loading to check validity of budget.dat
- Added safer sync "failure" mode, that will retry an hour later if the sync fails for some reason. This will stop the client from thinking it has budget data and rejecting blocks when they're valid.
- protocol bump
- version bump
2015-07-25 09:29:29 -07:00
evan82
24183b156b Merge pull request #456 from UdjinM6/v0.12.0.x_info_mn_count
V0.12.0.x more info for masternode count output/rpcconsole dialog
2015-07-25 06:32:41 -07:00
evan82
26b2c3243c Merge pull request #455 from UdjinM6/v0.12.0.x_mnb_hash_lastPing
V0.12.0.x include lastPing in mnb hash calculation
2015-07-25 06:31:51 -07:00
UdjinM6
8079967cc5 more info for masternode count output/rpcconsole dialog 2015-07-25 11:18:22 +03:00
Jonas Schnelli
6f8b6d339b don't try to decode invalid encoded ext keys 2015-07-25 09:51:52 +02:00
UdjinM6
5a6e474ec6 include lastPing in mnb hash calculation 2015-07-25 09:22:58 +03:00
Evan Duffield
61745d7724 Filter SigTime modes / version / proto bump 2015-07-24 16:10:44 -07:00
UdjinM6
491c46c412 remove sync forcing and count already seen as a success instead 2015-07-24 21:35:11 +03:00
Evan Duffield
38cd9bd679 Improve portability of mn ranking algos 2015-07-24 09:44:46 -07:00
Evan Duffield
5281c48f70 Fix syncing issues
- if(pindexPrev->nHeight + 4 < pindexBestHeader->nHeight || pindexPrev->nTime + 600 < GetTime()) return;
-- && allowed skipping in various situations, which caused blocks to be rejected because of lack of mnfinalbudget data
2015-07-24 09:10:08 -07:00
Evan Duffield
9e65749ff6 Safer calcscore implementation 2015-07-24 08:50:10 -07:00
Evan Duffield
c137a204fb Added calcscore cmd 2015-07-24 08:21:02 -07:00
Evan Duffield
85e1280bc3 limit mnw votes-per-mn 2015-07-24 07:12:48 -07:00
Philip Kaufmann
ed166dfa82 [Qt] allow users to set -onion via GUI
- also allow users to see, if the default proxy (-proxy) is used for
  reaching peers via IPv6 or Tor
2015-07-24 12:28:06 +02:00
Wladimir J. van der Laan
bfd807ff32
Merge pull request #6456
ec249d4 util: use locale-independent parsing in ParseDouble (Wladimir J. van der Laan)
7650449 univalue: Avoid unnecessary roundtrip through double for numbers (Wladimir J. van der Laan)
e061e27 rpc: Make ValueFromAmount always return 8 decimals (Wladimir J. van der Laan)
2015-07-24 11:08:52 +02:00
Evan Duffield
48f9e277f9 changed min ver back to 70066 2015-07-23 18:55:39 -07:00
Cory Fields
fe997dfd12 build: fix building against qt5.4/5.5 2015-07-23 21:10:35 -04:00
UdjinM6
f8f4bff9a1 do not sync while IBD 2015-07-24 01:35:59 +03:00
UdjinM6
f0ccd2b8cb fix resync 2015-07-24 01:35:11 +03:00
Evan Duffield
814f8e3f17 delete comment 2015-07-23 15:05:47 -07:00
Evan Duffield
ac947444da protocol bump 2015-07-23 15:02:15 -07:00
Evan Duffield
9fb56d9479 Various improvements
- Use INV messages where possible in syncing process
- Ask 4 peers intend of 2 to send of inventory of mnw, and budgets
- Special regtest sync mode
- Fix mnw freezing issue (maybe)
2015-07-23 14:35:14 -07:00
Jorge Timón
60c8bac77c Includes: Cleanup around net main and wallet
-Move from .h to .cpp: in main, net and wallet
-Remove unnecessary #include "main.h"
-Cleanup some wallet files includes
2015-07-23 21:10:26 +02:00
Jorge Timón
9dd793f499 TRIVIAL: Missing includes 2015-07-23 21:10:22 +02:00
Evan Duffield
fa6216f115 Check for existing budget hash before submitting 2015-07-23 11:48:19 -07:00
Evan Duffield
9aca541200 inc min peer version to 70094 for testing 2015-07-23 11:36:07 -07:00
Evan Duffield
5c935c8c86 version bump 2015-07-23 11:16:49 -07:00
Wladimir J. van der Laan
d2464dfee9
Merge pull request #6287
a794284 locking: add a quick example of GUARDED_BY (Cory Fields)
2b890dd locking: fix a few small issues uncovered by -Wthread-safety (Cory Fields)
cd27bba locking: teach Clang's -Wthread-safety to cope with our scoped lock macros (Cory Fields)
2015-07-23 18:45:26 +02:00
Wladimir J. van der Laan
d946e9a848
Merge pull request #5515
0fcc4e1 Assert on probable deadlocks if the second lock isnt try_lock (Matt Corallo)
2015-07-23 18:34:35 +02:00
Evan Duffield
f727b2dbd7 Fixed RemainingPayments display bug
- When proposal hasn't started yet, remaining payment is calculated incorrectly.
2015-07-23 07:36:41 -07:00
Jonas Schnelli
8d2af54ecc extend bip32 tests to cover Base58c/CExtKey decode 2015-07-23 16:32:31 +02:00
Jonas Schnelli
7cb1f9f7eb fix and extend CBitcoinExtKeyBase template
- fix Decode call (req. only one param)
- add constructor for base58c->CExtKey
2015-07-23 16:32:21 +02:00
Evan Duffield
35cc21edf3 New masternodes must wait till end of queue 2015-07-23 07:16:55 -07:00
Evan Duffield
cd862ac1ea Disable multisig proposals / IsScheduled read ahead 8 blocks 2015-07-23 06:46:38 -07:00
evan82
5cccd2b269 Merge pull request #447 from crowning-/UI_Enhancements
UI: fixed width of wallet-repair-buttons for longer locales
2015-07-23 06:31:09 -07:00
evan82
516c5fff0f Merge pull request #450 from UdjinM6/v0.12.0.x_active_mn
V0.12.0.x active masternode fixes
2015-07-23 06:30:46 -07:00
evan82
9e879d5e8d Merge pull request #451 from UdjinM6/v0.12.0.x_fix_rpc
V0.12.0.x small fixes for rpc
2015-07-23 06:29:33 -07:00
UdjinM6
ae48f0984e small fixes for rpc 2015-07-23 05:32:13 +03:00
UdjinM6
6123770bf8 active masternode fixes 2015-07-23 05:19:37 +03:00
Evan Duffield
18a908065f Fixed mnbudget suggestion 2015-07-22 18:53:17 -07:00
Evan Duffield
b9d47a0c6f Submit finalized budget 2 days before payment 2015-07-22 17:54:47 -07:00
Evan Duffield
c2a23c5beb Fix sync-spork logic 2015-07-22 16:51:51 -07:00
Matt Corallo
0fcc4e1e04 Assert on probable deadlocks if the second lock isnt try_lock 2015-07-22 16:49:54 -07:00
Ross Nicoll
c433828df9 Handle no chain tip available in InvalidChainFound()
Handle the case where no chain tip is available, in InvalidChainFound(). This fixes a null pointer deference when running unit tests, if the genesis block or block validation code is broken.
2015-07-22 21:10:09 +00:00
Wladimir J. van der Laan
633fe10869
Merge pull request #6149
27d7605 Buffer log messages and explicitly open logs (Adam Weiss)
2015-07-22 18:24:20 +02:00
Evan Duffield
dec45ac67a Fixed bug with remotely enabled masternodes and wrong protocol version 2015-07-21 20:54:58 -07:00
Evan Duffield
388f22c576 Version 26 / New masternode consensus system
- Consensus system selects 1/10 of the oldest masternodes by payment, then selects payee by score from those. This fixes various race conditions when blocks are close together or inconsistant historical winner lists.
- Ask for up to 2 cycles of history
- Keep up to 5 cycles of history locally
2015-07-21 20:07:23 -07:00
Evan Duffield
cbe2bae130 Improved lastpaid and fixed votes calculation 2015-07-21 16:57:21 -07:00
Evan Duffield
b2c4e14ee8 Add offset for lastpaid / seperate min mnw peer version 2015-07-21 16:11:49 -07:00
Evan Duffield
18fc14e03c Improved mnw sync 2015-07-21 15:14:54 -07:00
Evan Duffield
9e5cd419d0 Fixed compile error 2015-07-21 10:00:11 -07:00
Evan Duffield
3fae250190 Dont accept MNW from older masternodes 2015-07-21 08:09:17 -07:00
Evan Duffield
de485fe93d Allow peers to ask for budget votes on testnet more than once 2015-07-21 07:05:35 -07:00
Wladimir J. van der Laan
45d1f5932b
Merge pull request #6381
c4973aa Chainparams: CTestNetParams and CRegTestParams extend directly from CChainParams (Jorge Timón)
d3cf546 Chainparams: Introduce CreateGenesisBlock() static function (Jorge Timón)
2015-07-21 13:29:16 +02:00
Wladimir J. van der Laan
24f6928192
Merge pull request #6400
1327897 Reformat help text of estimatefee and estimatepriority to match other help texts. (Pavel Janík)
2015-07-21 12:49:41 +02:00
Wladimir J. van der Laan
24ce77d775
Merge pull request #6444
0aad1f1 Exempt unspendable transaction outputs from dust checks (zathras-crypto)
2015-07-21 11:47:57 +02:00
Evan Duffield
e4a0e8340c Masternode payment cache and mnget changes
- Cache saves masternode payment history
- On startup, the client will find the most recent block and calculate the amount of entries to ask for. The other peer will then send that amount of entries to save bandwidth on restarts.
2015-07-20 19:24:43 -07:00
Evan Duffield
1eab82ae2b Erase seen masternode broadcasts when masternode drops from list 2015-07-20 16:48:57 -07:00
crowning-
49afaa0557 Merge remote-tracking branch 'upstream/v0.12.0.x' into UI_Enhancements 2015-07-21 01:21:23 +02:00
Matt Corallo
6bdb474dc9 Implement watchonly support in fundrawtransaction
Some code and test cases stolen from
Bryan Bishop <bryan@ledgerx.com> (pull #5524).
2015-07-20 16:01:38 -07:00
Matt Corallo
f5813bdd3e Add logic to track pubkeys as watch-only, not just scripts 2015-07-20 16:01:37 -07:00
Matt Corallo
d3354c52d7 Add have-pubkey distinction to ISMINE flags
This indicates that, eg, we have a public key for a key which may
be used as a pay-to-pubkey-hash. It generally means that we can
create a valid scriptSig except for missing private key(s) with
which to create signatures.
2015-07-20 16:01:37 -07:00
Matt Corallo
5c17059872 Update importaddress help to push its use to script-only 2015-07-20 16:01:37 -07:00
Matt Corallo
a1d7df3236 Add importpubkey method to import a watch-only pubkey 2015-07-20 16:01:37 -07:00
Matt Corallo
907a425aa5 Add p2sh option to importaddress to import redeemScripts 2015-07-20 16:01:37 -07:00
Matt Corallo
983d2d90af Split up importaddress into helper functions 2015-07-20 16:01:37 -07:00
Matt Corallo
cfc3dd3428 Also remove pay-2-pubkey from watch when adding a priv key 2015-07-20 16:01:37 -07:00
Evan Duffield
6df7519e02 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-20 15:14:18 -07:00
Evan Duffield
37f55a3181 Refactored masternode payments system
- Replaced coinbase cache in favor of using the masternode payments voting system only
- Syncing masternode payments now supports up to the syncing the entire payment list
2015-07-20 15:09:42 -07:00
UdjinM6
8198291c7b Force sync progress:
If it's already more then MASTERNODE_SYNC_TIMEOUT seconds passed since we asked
and we still have nothing, assume there is nothing to sync but give it another
MASTERNODE_SYNC_TIMEOUT seconds until we move further
2015-07-20 22:33:18 +03:00
Evan Duffield
d193cc2d91 Clean up broadcast list when nodes are removed 2015-07-20 12:20:15 -07:00
Evan Duffield
2d745eb539 Don't sync sporks in regtest, fix segfault
- segfault caused by:
-    fRequireEnabled = (fRequireEnabled && pmn->IsEnabled()) || !fRequireEnabled;
-    if(pmn != NULL && fRequireEnabled && pmn->protocolVersion >= masternodePayments.GetMinMasternodePaymentsProto())
2015-07-20 11:56:02 -07:00
crowning-
52b930329d UI: fixed width of wallet-repair-buttons for longer locales 2015-07-20 20:52:49 +02:00
Evan Duffield
f36e4251ab mnb/mnp debugging 2015-07-20 11:43:10 -07:00
evan82
aa996b2615 Merge pull request #446 from UdjinM6/v0.12.0.x_fix_mnb_ping_acceptance
V0.12.0.x fix mnb ping acceptance
2015-07-20 11:21:15 -07:00
UdjinM6
cc26cff893 do not require active MN on ping check from UpdateFromNewBroadcast 2015-07-20 20:46:22 +03:00
evan82
a683078867 Merge pull request #445 from crowning-/UI_Enhancements
UI: allow "," in "Min amount" field of Transaction-View
2015-07-20 10:45:37 -07:00
Evan Duffield
77af4fb6ad MNP ping changes
- Ping every 5 minutes
- Nodes will propagate pings every 10 minutes
2015-07-20 10:44:27 -07:00
Pavel Janík
1327897aee Reformat help text of estimatefee and estimatepriority to match other help texts. 2015-07-20 19:32:38 +02:00
crowning-
fb5f80a06a UI: allow "," in "Min amount" field of Transaction-View 2015-07-20 18:28:49 +02:00
Wladimir J. van der Laan
6d6b11e793
Merge pull request #6408
dca6040 [Qt] remove std namespace polution from code (Philip Kaufmann)
2015-07-20 18:00:32 +02:00
Wladimir J. van der Laan
ae52a7ffd1
Fix warning introduced by #6412
SOCKET are defined as unsigned integers, thus always >=0.

Rebased-From: 89289d875d
2015-07-20 17:30:17 +02:00
Pieter Wuille
0739e6e57a
Test whether created sockets are select()able
Conflicts:
	src/net.cpp

Github-Pull: #6412
Rebased-From: d422f9b1fd
2015-07-20 17:29:44 +02:00
Pieter Wuille
9e38d0f745 Separate core memory usage computation in core_memusage.h 2015-07-20 11:17:53 -04:00
Wladimir J. van der Laan
89289d875d
Fix warning introduced by #6412
SOCKET are defined as unsigned integers, thus always >=0.
2015-07-20 17:10:02 +02:00
Wladimir J. van der Laan
1a2de3237f
Merge pull request #6412
d422f9b Test whether created sockets are select()able (Pieter Wuille)
2015-07-20 16:54:28 +02:00
Wladimir J. van der Laan
dc51608c9c
Merge pull request #6447
2cb8ee9 remove unused inv from ConnectTip() (Pavel Vasin)
2015-07-20 16:43:07 +02:00
UdjinM6
753297ea99 drop -masternodeminprotocol/nMasternodeMinProtocol, use masternodePayments.GetMinMasternodePaymentsProto() 2015-07-20 08:03:36 +03:00
UdjinM6
5f9c676e05 fix condition for a recent block in mn sync 2015-07-20 04:54:03 +03:00
UdjinM6
b1f19c7e82 process checks we can without waiting for full sync 2015-07-20 04:54:02 +03:00
UdjinM6
4bcd548b62 slightly refactor 2015-07-20 04:54:02 +03:00
UdjinM6
86c869137f fixes for sync 2015-07-20 04:54:02 +03:00
UdjinM6
dba572ac96 use specific protocols 2015-07-20 04:54:02 +03:00
Evan Duffield
e6327e5546 Disable coinbase payee cache 2015-07-19 17:06:52 -07:00
Evan Duffield
57df98b38a Force chain reprocess on load for coinbase-payee index 2015-07-19 15:40:40 -07:00
Evan Duffield
e1279ebf1d Reprocess best chain for coinbase payee on each block 2015-07-19 11:19:11 -07:00
Evan Duffield
60f7428585 Disabled coinpayee cleanup 2015-07-19 10:56:45 -07:00
Evan Duffield
9668befdf4 Dont ask for mnb of known masternodes 2015-07-19 09:38:23 -07:00
Evan Duffield
c95111476c vesion bump 2015-07-19 08:51:02 -07:00
Evan Duffield
898fbcae02 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-19 08:50:01 -07:00
Evan Duffield
9c34930680 Disable nDos on early ping / sync regtest changes 2015-07-19 08:49:46 -07:00
Evan Duffield
143c80789c rebuild index when switching chains 2015-07-19 06:45:35 -07:00
Evan Duffield
2e6eb9f2b6 incremental update of coinbase cache 2015-07-19 06:28:23 -07:00
crowning-
19d698529e UI: Persist Darksend+InstantX settings (Cut'n'paste error fixed) 2015-07-19 14:42:38 +02:00
crowning-
c8c83af2f5 UI: Persist Darksend+InstantX settings and default to Darksend=false on first start (revert screen-size change) 2015-07-19 14:29:18 +02:00
crowning-
63c8ae1516 UI: Persist Darksend+InstantX settings and default to Darksend=false on first start 2015-07-19 14:25:55 +02:00
Simon Males
0ef9858707 Documenting pruned, pruneheight and softforks in getblockchaininfo 2015-07-19 14:07:35 +02:00
Evan Duffield
9a4914e6c1 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-18 12:52:23 -07:00
Evan Duffield
e82e5339f9 Better NewBlock sync check 2015-07-18 12:52:12 -07:00
evan82
e2257c844b Merge pull request #440 from UdjinM6/v0.12.0.x_rpc_masternode
V0.12.0.x few small masternode rpc fixes
2015-07-18 12:34:53 -07:00
Evan Duffield
841c7c270b version/proto bump 2015-07-18 12:29:19 -07:00
Evan Duffield
7aa9676118 Only check vote sigs once / payee cache update on newblock 2015-07-18 12:24:06 -07:00
UdjinM6
27dd4ccf06 move only 2015-07-18 22:17:17 +03:00
UdjinM6
a3dfd86058 Code cleanups for masternode rpc
- drop boost/lexical_cast
- drop c_str() where applicable
- slightly prettify descriptions and some output
2015-07-18 21:20:22 +03:00
UdjinM6
aa96d701af tabs to spaces 2015-07-18 20:40:19 +03:00
Evan Duffield
90f508c67e Pay masternodes when no valid budget 2015-07-18 08:53:40 -07:00
Evan Duffield
956d85c59b Change variable naming for rpc commands
- Added MonthlyPayment and TotalPayment
2015-07-18 08:48:44 -07:00
zathras-crypto
0aad1f13b2
Exempt unspendable transaction outputs from dust checks
Since unspendable outputs can't be spent, there is no threshold at which it would be uneconomic to spend them.

This primarily targets transaction outputs with `OP_RETURN`.

---

Initially based on:

commit 9cf0ae26350033d43d5dd3c95054c0d1b1641eda
Author: zathras-crypto <zathrasc@gmail.com>
Date:   Wed Mar 25 02:04:02 2015 -0700

Changes:

- cherry-picked on top of bitcoin:master
- added RPC test for fundrawtransaction
2015-07-18 17:31:55 +02:00
Evan Duffield
637805b2de Require 7 confirmations for finalized budget 2015-07-18 07:49:39 -07:00
Evan Duffield
853863ae86 Only check budget block payees after sync is complete 2015-07-18 06:46:54 -07:00
Wladimir J. van der Laan
ec249d4a1d util: use locale-independent parsing in ParseDouble
Use locale-indepent C++ based parsing instead of C's strtod,
which checks for different input based on the user's locale.
Fixes #6443.
2015-07-18 09:04:18 +02:00
Wladimir J. van der Laan
7650449a67 univalue: Avoid unnecessary roundtrip through double for numbers
JSON makes no distinction between numbers and reals, and our code
doesn't need to do so either.

This removes VREAL, as well as its specific post-processing in
`UniValue::write`. Non-monetary amounts do not need to be forcibly
formatted with 8 decimals, so the extra roundtrip was unnecessary
(and potentially loses precision).
2015-07-18 09:04:18 +02:00
Wladimir J. van der Laan
e061e2778d rpc: Make ValueFromAmount always return 8 decimals
This is the format that was always returned to JSON clients.
The difference was not noticed before, because VREAL values
are post-processed by univalue.

By implementing the functionality directly it breaks the dependency
of rpcserver on utilmoneystr. FormatMoney is now only used for debugging
purposes.

To test, port over the formatting tests from util_tests.cpp to
rpc_tests.cpp.
2015-07-18 09:03:59 +02:00
Evan Duffield
f9e2b18e57 version bump 2015-07-17 21:38:56 -07:00
Evan Duffield
916deaa398 Small syncing improvement 2015-07-17 21:38:15 -07:00
evan82
494afeef50 Merge pull request #439 from UdjinM6/v0.12.0.x_revert_lower_fee
V0.12.0.x revert attempts to lower fee
2015-07-17 20:15:04 -07:00
evan82
45cd565f6c Merge pull request #438 from UdjinM6/v0.12.0.x_register_MN
V0.12.0.x more checks on MN register (start-many/alias)
2015-07-17 20:14:49 -07:00
UdjinM6
990e32f3c0 revert all changes regarding attempts to lower fee 2015-07-18 03:35:59 +03:00
UdjinM6
bf1ec73357 more checks on MN register 2015-07-18 03:10:47 +03:00
Evan Duffield
59024b1b46 Resync on sleep/wake or failure 2015-07-17 16:49:41 -07:00
evan82
d9f3102313 Merge pull request #435 from UdjinM6/v0.12.0.x_ref_rpc_budget
V0.12.0.x few rpc budget fixes
2015-07-17 11:10:39 -07:00
evan82
a8e79ecd16 Merge pull request #434 from UdjinM6/v0.12.0.x_fix_fees
V0.12.0.x Fix fees
2015-07-17 11:09:24 -07:00
evan82
8ec3b473c1 Merge pull request #432 from UdjinM6/v0.12.0.x_ref_mn_statuses
V0.12.0.x Slightly refactor masternode statuses
2015-07-17 11:09:00 -07:00
Evan Duffield
d5c4f3bea4 Only ask for missing masternodes/budget items after sync is complete 2015-07-17 11:03:49 -07:00
evan82
f9ada02a7d Merge pull request #433 from UdjinM6/v0.12.0.x_ref_budget
V0.12.0.x Budget module refactor
2015-07-17 10:29:59 -07:00
UdjinM6
33ee068d6a Slightly refactor masternode statuses:
- better names (MASTERNODE_INITIAL was defined twice before that)
- move to proper header
2015-07-17 20:01:54 +03:00
UdjinM6
1282f676e5 Fixes for budget rpc
- readability
- drop c_str()
- drop boost/lexical_cast
- ValueFromAmount for money
- fValid as bool
- fix/simplify descriptions
- more info on vote-many
- feedback on mnbudget vote
2015-07-17 19:28:25 +03:00
UdjinM6
31e703dfcd Fix fees
ref https://dashtalk.org/threads/v12-testing-thread.5484/page-62#post-59368
2015-07-17 18:33:15 +03:00
UdjinM6
b84bf76324 Budget module refactor
- readability (names / spaces / simplify constructions / etc)
- proper types (int for block height, CAmount for money)
- prettify log output / drop c_str() there
- read budgets on dump before writing (safety)
- microoptimization (++it)
- sort proposals by Yeas
- sort finalized budgets by votes
- fix few small bugs
2015-07-17 18:07:07 +03:00
Evan Duffield
b6001065ae Set fValid=true when receiving new votes 2015-07-17 07:40:26 -07:00
Evan Duffield
d60f3f6984 Added more information to getvotes 2015-07-17 07:38:35 -07:00
UdjinM6
91eda7e21c Few sync improvements:
- do not call Added....() inside CMasternodeSync::Process() - that was "faking" sync process
- unify "RequestedMasternodeAttempt <= ..." logic and define MASTERNODE_SYNC_TIMEOUT
- add missing masternodeSync.AddedMasternodeList() to CMasternodeMan::ProcessMessage()
- fix "include"s
- don't check vecMasternodesUsed while not synced
2015-07-17 13:08:15 +03:00
Cory Fields
7e66e9c97b
openssl: avoid config file load/race
Rebased-From: d4b1d5a8ba
Github-Pull: #6438
2015-07-17 09:16:57 +02:00
Evan Duffield
7101c951f8 Budget Improvements
- Client bump
- Improved syncing logic (sholud stop hanging issues)
- New spork for turning on super blocks
- Fixed issue with sending old/invalid finalized budgets
- Fixed issue with syncing clients and lack of confirmations with budget items (for IX)
2015-07-16 20:03:42 -07:00
Evan Duffield
ac488262c2 version bump 2015-07-16 12:13:42 -07:00
Evan Duffield
e5f37b8c98 New Spork : Reconsider X Blocks
- This allows us to fix forks remotely without anyone having to reindex. It remains trustless, because all nodes will simply find the longest chain.
2015-07-16 11:06:45 -07:00
Evan Duffield
017217f423 Added IsTransactionValid for finalized budgets 2015-07-16 10:47:51 -07:00
Evan Duffield
fc54241441 Default txindex to true 2015-07-16 07:34:40 -07:00
Evan Duffield
3c8b335594 Force txindex when a Mastenode 2015-07-16 03:00:16 -07:00
Philip Kaufmann
dca6040a86 [Qt] remove std namespace polution from code 2015-07-16 11:54:28 +02:00
Evan Duffield
e65a1edce3 version / proto bump 2015-07-16 02:43:53 -07:00
Pavel Vasin
2cb8ee9ac7 remove unused inv from ConnectTip() 2015-07-16 12:31:36 +03:00
Evan Duffield
f139dbbc74 Fixed prepare -- shouldn't check collateral 2015-07-15 15:56:40 -07:00
Evan Duffield
ffed6dc948 Added CBudgetManager::ToString 2015-07-15 14:21:21 -07:00
Evan Duffield
21769085ec Test feeTX in IsValid 2015-07-15 07:18:03 -07:00
Wladimir J. van der Laan
ed789ceade
Merge pull request #6438
d4b1d5a openssl: avoid config file load/race (Cory Fields)
2015-07-15 15:49:45 +02:00
Wladimir J. van der Laan
ce183dce2e
qt: update forgotten emit to Q_EMIT in macdockiconhandler.mm
Leftover from #6433
2015-07-15 15:09:31 +02:00
Wladimir J. van der Laan
d29ec6c230 qt: define QT_NO_KEYWORDS
QT_NO_KEYWORDS prevents Qt from defining the `foreach`, `signals`,
`slots` and `emit` macros.

Avoid overlap between Qt macros and boost - for example #undef hackiness
in #6421.
2015-07-15 07:30:23 +02:00
Evan Duffield
db080fec22 version bump 2015-07-14 19:49:01 -07:00
Evan Duffield
6e0a468701 Highly improved syncing process 2015-07-14 19:48:02 -07:00
Evan Duffield
9e9e01b5f6 Fixed GetBudget 2015-07-14 16:06:00 -07:00
Evan Duffield
a4e3031db1 Refactored CleanAndRemove Proposals 2015-07-14 15:52:07 -07:00
Cory Fields
d4b1d5a8ba openssl: avoid config file load/race 2015-07-14 17:54:04 -04:00
Evan Duffield
50d1b827eb Fixed proposal fee IX confirmations 2015-07-14 12:52:46 -07:00
Evan Duffield
30ea44322e Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-14 08:04:18 -07:00
Evan Duffield
c2d4b553c5 version bump 2015-07-14 08:04:07 -07:00
evan82
eb7ca6fdef Merge pull request #430 from UdjinM6/v0.12.0.x_mergebtc
V0.12.0.x merge latest fixes from bitcoin 10.0.2
2015-07-14 07:55:38 -07:00
Evan Duffield
d228b4bf47 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-14 07:55:07 -07:00
Evan Duffield
665a93cd4f Merge branch 'v0.12.0.x_lower_mn_reuse' of https://github.com/UdjinM6/dash into UdjinM6-v0.12.0.x_lower_mn_reuse 2015-07-14 07:44:22 -07:00
evan82
a0a4940097 Merge pull request #428 from UdjinM6/v0.12.0.x_fix_IsBudgetCollateralValid_log
V0.12.0.x Fix CBudgetProposalBroadcast::IsBudgetCollateralValid log output / strError
2015-07-14 07:43:08 -07:00
evan82
eb9aa2cb87 Merge pull request #427 from UdjinM6/v0.12.0.x_change_sync_activemn_start
V0.12.0.x Start all DS, mnodeman, IX related checks and activate mn only after sync is over
2015-07-14 07:41:57 -07:00
evan82
d98a6fae23 Merge pull request #426 from UdjinM6/v0.12.0.x_mnb_mnp
V0.12.0.x major (incompatible) masternode broadcast/ping changes
2015-07-14 07:41:09 -07:00
Evan Duffield
e57f2d4003 Check IsValid when preparing fee 2015-07-14 07:05:33 -07:00
Suhas Daftuar
c2ffbe5bdd Ignore getheaders requests when not synced.
Rebased-From: a1ba0778dd
Github-Pull: #6172
2015-07-14 13:19:47 +03:00
Alex Morcos
09a4cb65fc Fix removing of orphan transactions
We don't want to erase orphans that still have missing inputs, they should still be tracked as orphans.  Also, the transaction thats being accepted can't be an orphan otherwise it would have previously been accepted, so doesn't need to be added to the erase queue.

Github-Pull: #5985
Rebased-From: 14d4eef799
2015-07-14 13:19:47 +03:00
Wladimir J. van der Laan
850dcb9334 Add option -alerts to opt out of alert system
Make it possible to opt-out of the centralized alert system by providing
an option `-noalerts` or `-alerts=0`. The default remains unchanged.

This is a gentler form of #6260, in which I went a bit overboard by
removing the alert system completely.

I intend to add this to the GUI options in another pull after this.

Conflicts:
	src/init.cpp
	src/main.cpp

Github-Pull: #6274
Rebased-From: 02a6702a82
2015-07-14 13:19:09 +03:00
Tom Harding
84b483e3c3 Fix getbalance *
Chance "getbalance *" not to use IsTrusted.  The method and result
now match the "getbalance <specific-account>" behavior. In
particular, "getbalance * 0" now works.

Also fixed a comment -- GetGalance has required 1 confirmation
for many years, and the default "getbalance *" behavior matches
that.

Github-Pull: #6276
Rebased-From: 7d6a85ab5b
Rebased-By: @trasher-
2015-07-14 13:19:09 +03:00
Wladimir J. van der Laan
c709b86a5d json: fail read_string if string contains trailing garbage
Change `read_string` to fail when not the entire input has been
consumed. This avoids unexpected, even dangerous behavior (fixes #6223).

The new JSON parser adapted in #6121 also solves this problem so in
master this is a temporary fix, but should be backported to older releases.

Also adds tests for the new behavior.

Github-Pull: #6226
Rebased-From: 4e157fc60d
2015-07-14 13:19:08 +03:00
Luke Dashjr
2fc7256f72 Remove P2SH coinbase flag, no longer interesting
Github-Pull: #6203
Rebased-From: d449772cf6
2015-07-14 13:19:08 +03:00
Wladimir J. van der Laan
d2ccd08ef1 Parameter interaction: disable upnp if -proxy set
To protect privacy, do not use UPNP when a proxy is set. The user may
still specify -listen=1 to listen locally (for a hidden service), so
don't rely on this happening through -listen.

Fixes #2927.

Conflicts:
	src/init.cpp

Rebased-From: 8c35b6f3be
Github-Pull: #6153
2015-07-14 13:19:08 +03:00
Wladimir J. van der Laan
07053c3ada Fix two problems in CSubNet parsing
Fix two CSubNet constructor problems:

- The use of `/x` where 8 does not divide x was broken, due to a
  bit-order issue

- The use of e.g. `1.2.3.4/24` where the netmasked bits in the network
  are not 0 was broken. Fix this by explicitly normalizing the netwok
  according to the bitmask.

Also add tests for these cases.

Fixes #6179. Thanks to @jonasschnelli for reporting and initial fix.

Rebased-From: b45c50ce51
Github-Pull: #6186
2015-07-14 13:19:07 +03:00
Wladimir J. van der Laan
bd3ed5c280 Simplify code for CSubnet
Simplify the code by using CAddress.ip directly, instead of the reversed
GetByte() semantics.

Rebased-From: 19e8d7be42
Github-Pull: #6186
2015-07-14 13:19:07 +03:00
UdjinM6
59271beabd Fix CBudgetProposalBroadcast::IsBudgetCollateralValid log output / strError 2015-07-14 11:32:49 +03:00
UdjinM6
6651abe343 lower mn reuse rate 2015-07-14 10:38:04 +03:00
UdjinM6
f2c5653379 Start all ds, mnodeman, ix related checks and activate mn only after sync is over 2015-07-14 09:16:19 +03:00
UdjinM6
3ef2cec49d proto bump 2015-07-14 08:59:08 +03:00
UdjinM6
26fed43603 Major masternode broadcast/ping changes (incompatible with prev version, proto bump required):
- Do not rely on local lastTimeSeen and requested fRequested anymore. Use last know (signed) ping instead and base all logic on that. Should reduce mn list difference between
 nodes.
- Rework CActiveMasternode accordingly along with states, errorMessages, rpc etc.
- Clean some related code, move parts from public to private
- drop c_str in LogPrintf that were related to this functionality (todo: drop it for LogPrintf everywhere else)
2015-07-14 08:50:30 +03:00
Evan Duffield
bee6941195 Fixed Propagation Of Budgets / Proto Bump 2015-07-13 20:03:08 -07:00
Evan Duffield
6fa0d23714 Commit collateral transaction correctly for finalized budget 2015-07-13 06:34:54 -07:00
Wladimir J. van der Laan
71cbeaad9a rpc: Implement random-cookie based authentication
When no `-rpcpassword` is specified, use a special 'cookie' file for
authentication. This file is generated with random content when the
daemon starts, and deleted when it exits. Read access to this file
controls who can access through RPC. By default this file is stored in
the data directory but it be overriden with `-rpccookiefile`.

This is similar to Tor CookieAuthentication: see
https://www.torproject.org/docs/tor-manual.html.en

Alternative to #6258. Like that pull, this allows running bitcoind
without any manual configuration. However, daemons should ideally never write to
their configuration files, so I prefer this solution.
2015-07-13 13:11:41 +02:00
Wladimir J. van der Laan
3d9362d5ac
Merge pull request #6398
85ee55b rpc: Remove chain-specific RequireRPCPassword (Wladimir J. van der Laan)
2015-07-13 12:55:06 +02:00
Evan Duffield
40a14cb802 version bump / proto bump 2015-07-12 16:39:37 -07:00
Evan Duffield
acf09d1bc1 Collateral is now checked for age 2015-07-12 16:37:55 -07:00
Evan Duffield
8e7c4e7491 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-12 14:04:00 -07:00
Evan Duffield
304ab6c7ab Various improvements to the proposal system
- Proposal scripts are now checked correctly
- Fee transactions are created correctly for IX and non-IX types
2015-07-12 14:02:39 -07:00
crowning-
9b170483b7 Minor Options-Dialog enhancements 2015-07-12 20:23:38 +02:00
crowning-
3f19365d2a Minor Coincontrol-Dialog enhancements 2015-07-12 20:04:52 +02:00
evan82
82bb9617ee Merge pull request #424 from UdjinM6/v0.12.0.x_fix_progress
V0.12.0.x calculate ds progress from 3 parts
2015-07-12 10:48:05 -07:00
evan82
bacd3e456f Merge pull request #423 from crowning-/UI_Enhancements
De-selecting all transactions resets computed sum to 0 now.
2015-07-12 10:47:52 -07:00
Evan Duffield
2885f9e6ca protocol bump / version bump 2015-07-12 10:47:28 -07:00
Evan Duffield
6b7ab34d30 Budget collateral changes
- Use OP_RETURN >> BudgetHash, with an output the size of BUDGET_FEE_TX. This will allow us to burn coins, that will be recreated and avoid hitting the "insane fee" checks
2015-07-12 10:38:32 -07:00
Evan Duffield
0b3ef3c9fe Various fixes
- Proposal submitting now works properly
- Syncing proposals now works properly
- Finalized budgets are now created correctly
2015-07-12 10:34:21 -07:00
UdjinM6
e7b00b8b7e calculate ds progress from 3 parts 2015-07-12 19:18:03 +03:00
crowning-
604914c15e De-selecting all transactions resets computed sum to 0 now. 2015-07-12 18:00:48 +02:00
Evan Duffield
0a02fa00bb removed vote from prepare/submit and fixed some help strings 2015-07-12 08:09:06 -07:00
evan82
635a5fbf97 Merge pull request #422 from crowning-/v0.12.0.x
Fix Darksend completion UI
2015-07-12 07:46:23 -07:00
Evan Duffield
a59c5d9edd fixed issues with rpc commands 2015-07-12 07:45:58 -07:00
crowning-
60358c28e2 Fix Darksend completion UI 2015-07-12 12:57:59 +02:00
Jorge Timón
c4973aaaf6 Chainparams: CTestNetParams and CRegTestParams extend directly from CChainParams
...instead of CMainParams and CTestNetParams respectively

Do the same for CBaseChainParams.
The inheritance was only reducing readibility in this case
2015-07-12 11:13:47 +02:00
Jorge Timón
d3cf546ec2 Chainparams: Introduce CreateGenesisBlock() static function 2015-07-12 11:03:06 +02:00
UdjinM6
2dbf8290f7 Few fixes for mnbudget rpc
- do not ask for vote on prepare and submit
- fix bug found by @thelazier
- fix command descriptions to avoid confusions
- tiny refactoring for tx/ix
2015-07-12 09:39:22 +03:00
Evan Duffield
640e721487 fixed spork show 2015-07-11 16:17:03 -07:00
Evan Duffield
03d6f3c140 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-11 13:26:22 -07:00
Evan Duffield
c701839a43 Proposal Security Overhaul
Submissions to the network now require a fee to be paid to the network (mining fee) using a special transaction with a OP_RETURN && ProposalHash in one of the outputs. This allows the network to filter spam quickly, while also allowing anyone to submit a proposal to the network.

To implement these changes we've introduced a few new commands:

mnbudget prepare PROPOSAL-NAME URL PAYMENT_COUNT BLOCK_START DASH_ADDRESS DASH_AMOUNT YES|NO|ABSTAIN [USE_IX(TRUE|FALSE)]
- To create the special transaction

mnbudget submit PROPOSAL-NAME URL PAYMENT_COUNT BLOCK_START DASH_ADDRESS DASH_AMOUNT YES|NO|ABSTAIN FEE_TX
- After the transaction is accepted by the network and has 3 confirmations, you can submit the transaction to the network here

mnbudget show
- Get the proposal hash from here

mnbudget vote PROPOSAL-HASH YES|NO|ABSTAIN
- You can now simply vote by hash using this command
2015-07-11 13:20:12 -07:00
Wladimir J. van der Laan
7cdefb927e
Merge pull request #6410
5098c47 Implement accurate memory accounting for mempool (Pieter Wuille)
2015-07-11 15:47:43 +02:00
Suhas Daftuar
59b49cd074 Eliminate signed/unsigned comparison warning 2015-07-11 07:05:18 -04:00
UdjinM6
1f978f561c Temporary unlock MN coins locked by -mnconflock on masternode start-alias/many and immediately lock them back right after finding all available coins 2015-07-10 19:53:51 +03:00
evan82
4a514b7e7c Merge pull request #420 from UdjinM6/v0.12.0.x_masternode.conf_err_verbose
V0.12.0.x make masternode.conf parsing more verbose on errors / translate strings
2015-07-10 09:18:37 -07:00
UdjinM6
7a09989195 make masternode.conf parsing more verbose on errors / translate strings 2015-07-10 19:08:50 +03:00
Pieter Wuille
d422f9b1fd Test whether created sockets are select()able 2015-07-10 12:05:09 -04:00
Wladimir J. van der Laan
fac21df5f0
Merge pull request #6370
6ebac07 Remove ChainParams::DefaultMinerThreads (Wladimir J. van der Laan)
2015-07-10 17:12:40 +02:00
Wladimir J. van der Laan
c52e8b300a
Merge pull request #6379
9cc9152 rpc: Accept scientific notation for monetary amounts in JSON (Wladimir J. van der Laan)
2015-07-10 16:50:46 +02:00
Pieter Wuille
5098c47b24 Implement accurate memory accounting for mempool 2015-07-10 10:49:31 -04:00
Wladimir J. van der Laan
9cc91523db rpc: Accept scientific notation for monetary amounts in JSON
Add a function `ParseFixedPoint` that parses numbers according
to the JSON number specification and returns a 64-bit integer.

Then this in `AmountFromValue`, rather than `ParseMoney`.

Also add lots of tests (thanks to @jonasschnelli for some of them).

Fixes issue #6297.
2015-07-10 15:43:26 +02:00
Wladimir J. van der Laan
943b322d5d
Merge pull request #5486
c45c7ea [REST] add JSON support for /rest/headers/ (Jonas Schnelli)
2015-07-10 15:25:51 +02:00
Wladimir J. van der Laan
445220544e
Merge pull request #5288
e3cae52 Added -whiteconnections=<n> option (Josh Lehan)
2015-07-10 15:07:15 +02:00
Wladimir J. van der Laan
85ee55b5c3 rpc: Remove chain-specific RequireRPCPassword
I've never liked the chain-specific exception to having to set a
password. It gives issues with #6388 which makes it valid to
set no password in every case (as it enables random cookie authentication).

This pull removes the flag, so that all chains are regarded the same.

It also removes the username==password test, which doesn't provide any
substantial extra security.
2015-07-10 15:01:55 +02:00
Wladimir J. van der Laan
708037fcc7
Merge pull request #6384
15e26a6 qt: Force TLS1.0+ for SSL connections (Wladimir J. van der Laan)
2015-07-10 15:00:01 +02:00
Wladimir J. van der Laan
7fc25c2e5d
Merge pull request #6368
cb54d17 CLTV: Add more tests to improve coverage (Esteban Ordano)
2015-07-09 11:20:17 +02:00
Wladimir J. van der Laan
aa565327ec
Merge pull request #6378
5e058e7 [Qt] constify foreach uses where possible (Philip Kaufmann)
2015-07-09 10:54:21 +02:00
UdjinM6
d597653615 fix alternative units in send dialog 2015-07-09 06:54:30 +03:00
Evan Duffield
2d118769f0 version/proto bump 2015-07-08 10:27:26 -07:00
Evan Duffield
8a5ebeaa62 added spork for reseting budget 2015-07-08 10:25:47 -07:00
Evan Duffield
a351456c17 Fixed invalid saved budget.dat issue 2015-07-08 10:17:16 -07:00
Evan Duffield
91a0887a0d Fix active removal of proposals 2015-07-08 08:55:52 -07:00
Evan Duffield
a8f5472037 fixed compile error 2015-07-08 08:19:07 -07:00
evan82
246037abdb Merge pull request #415 from UdjinM6/v0.12.0.x_budgets_var_naming_logging
V0.12.0.x use proper naming for variables in masternode-budget
2015-07-08 07:35:20 -07:00
evan82
872ef7f9a9 Merge pull request #414 from UdjinM6/v0.12.0.x_fix_minmnpaymentsproto
V0.12.0.x fix min mnpayments proto usage
2015-07-08 07:20:31 -07:00
evan82
2a3b96e020 Merge pull request #411 from UdjinM6/v0.12.0.x_various_small_fixes
V0.12.0.x various small fixes
2015-07-08 07:19:41 -07:00
evan82
dea8f15668 Merge pull request #413 from UdjinM6/v0.12.0.x_relayinv
V0.12.0.x introduce RelayInv
2015-07-08 07:17:47 -07:00
evan82
69aced6378 Merge pull request #409 from UdjinM6/v0.12.0.x_fix_GetInputDarksendRounds
V0.12.0.x Fix GetInputDarksendRounds
2015-07-08 07:16:29 -07:00
evan82
87207fbc36 Merge pull request #410 from UdjinM6/v0.12.0.x_fix_progress
V0.12.0.x (Yet) another attempt to get DS progress displayed right
2015-07-08 07:15:39 -07:00
evan82
5914a24f47 Merge pull request #408 from crowning-/v0.12.0.x
satoshi(s) -> duff(s) in locales
2015-07-08 07:15:29 -07:00
evan82
ede21b01fd Merge pull request #407 from UdjinM6/v0.12.0.x_satoshi_duff_dash
V0.12.0.x satoshi(s) -> duff(s)  &  Satoshi:x.x.x -> Dash Core:x.x.x
2015-07-08 07:15:09 -07:00
evan82
1a3975eab0 Merge pull request #406 from UdjinM6/v0.12.0.x_safer_PrepareDarksendDenominate
v0.12.0.x Implement safer version of CWallet::PrepareDarksendDenominate
2015-07-08 07:14:36 -07:00
Wladimir J. van der Laan
11576a57d2
Merge pull request #6387
65ce021 [bitcoin-cli] improve error output (Jonas Schnelli)
2015-07-08 13:39:57 +02:00
UdjinM6
2fdb5b01f7 use proper naming for variables in masternode-budget 2015-07-08 05:35:58 +03:00
UdjinM6
635778f0ab use spork dependent logic to get the right minimal proto everywhere MIN_MNPAYMENTS_PROTO_VERSION was used previously 2015-07-08 05:00:09 +03:00
UdjinM6
9cfdaffee5 introduce RelayInv 2015-07-08 04:31:10 +03:00
Wladimir J. van der Laan
133601f6a5 tests: Fix bitcoin-tx signing testcase
Fixes wrong scriptPubkey problem, which caused the transaction to
not actually be signed.
2015-07-07 18:26:38 +02:00
Jonas Schnelli
65ce0215a4 [bitcoin-cli] improve error output 2015-07-07 17:25:56 +02:00
UdjinM6
d94967d958 small fixes 2015-07-07 15:47:22 +03:00
UdjinM6
a4520af056 (Yet) another attempt to get progress displayed right 2015-07-07 10:21:13 +03:00
UdjinM6
7eee9f15ec Fix GetInputDarksendRounds:
- show user and use in external calculations rounds that are calculated respecting current settings while use "real" rounds in internal calulation to store correct results in cache and easily provide user with updated info on settings change
- fix max real rounds limit (16)
2015-07-07 10:16:22 +03:00
Philip Kaufmann
5e058e7417 [Qt] constify foreach uses where possible
- this doesn't replace BOOST_FOREACH, it just makes used arguments const
  where possible
2015-07-07 06:53:43 +02:00
crowning-
9c5bcff4cb satoshi(s) -> duff(s) in locales 2015-07-07 05:13:50 +02:00
Adam Weiss
27d7605804 Buffer log messages and explicitly open logs
Prevents stomping on debug logs in datadirs that are locked by other
instances and lost parameter interaction messages that can get wiped by
ShrinkDebugFile().

The log is now opened explicitly and all emitted messages are buffered
until this open occurs.  The version message and log cut have also been
moved to the earliest possible sensible location.
2015-07-06 21:54:31 -04:00
UdjinM6
a8d230f80d satoshi(s) -> duff(s) & Satoshi:x.x.x -> Dash Core:x.x.x (both for user visible strings only) 2015-07-07 01:40:38 +03:00
evan82
10ad24226c Merge pull request #405 from UdjinM6/v0.12.0.x_prevent_ban_for_unknown_MN
V0.12.0.x Stop banning nodes for unknown masternodes while processing budget messages
2015-07-06 15:39:42 -07:00
evan82
10d8d3e979 Merge pull request #404 from crowning-/v0.12.0.x
Fixed warning from labelCoinControlChangeLabel
2015-07-06 15:32:30 -07:00
evan82
f6a6d1b4a3 Merge pull request #403 from crowning-/Digits
Configurable decimal digits
2015-07-06 15:32:14 -07:00
UdjinM6
05d93445a2 Implement safer version of CWallet::PrepareDarksendDenominate:
Make outputs by looping through denominations: try to add every needed denomination, repeat up to 5-10 times.
This way we can be pretty sure that it should have at least one of each needed denomination.
We also do not care about full amount as long as we have right denominations, just pass what we found.
2015-07-07 01:20:53 +03:00
Evan Duffield
5b98d9db05 fixed getinfo for 0-vote proposals 2015-07-06 15:06:09 -07:00
UdjinM6
e40de28900 Stop banning nodes for unknown masternodes while processing budget messages.
Also cleanup naming/logging a bit.
2015-07-07 00:00:00 +03:00
crowning-
cc494c6091 Fixed warning QLabel(0xb0049b8, name = "labelCoinControlChangeLabel") does not have a property named "padding" 2015-07-06 22:52:46 +02:00
Evan Duffield
6c6a280df8 Version bump / more fixes 2015-07-06 13:37:43 -07:00
Evan Duffield
05e126f853 Clear expired proposals / added mnbudget check 2015-07-06 13:23:09 -07:00
Esteban Ordano
cb54d17355 CLTV: Add more tests to improve coverage
Four cases included:

* The CLTV operand type mismatches the tx locktime. In the script it is
  1 (interpreted as block height), but in the tx is 500000000
  (interpreted as date)
* The stack is empty when executing OP_CLTV
* The tx is final by having only one input with MAX_INT sequence number
* The operand for CLTV is negative (after OP_0 OP_1 OP_SUB)
2015-07-06 13:09:37 -07:00
Evan Duffield
2e8a1dcb94 fixed GetVoteCommand 2015-07-06 12:53:49 -07:00
Evan Duffield
391cc398a4 show voting commands for proposals in mnbudget show 2015-07-06 11:36:13 -07:00
Evan Duffield
1af0fa5098 Only sync masternode assets after new block 2015-07-06 11:12:56 -07:00
Wladimir J. van der Laan
15e26a6a9a qt: Force TLS1.0+ for SSL connections 2015-07-06 20:06:16 +02:00
Evan Duffield
5f3543efa5 merged 2015-07-06 10:52:09 -07:00
Evan Duffield
4596e7f336 Vastly improved proposal management implementation
-Syncing now happens in stages. Masternodes and Sporks, then Masternode winners, then proposals. Some of these require the masternode signatures, otherwise there are race conditions within the syncing process itself.
-Resigning - When a proposal is sent to the network initially it's signed by a masternode, if that masternode goes inactive the proposal becomes invalid. Resigning allows other masternodes to update proposal keep it valid with the coming and going of masternodes.
-Resigning compatibility - non masternodes will scan and flag proposals as invalid to accept updated owners.
-Invalid votes are now actively removed from the proposals when they go inactive
- Remove budgets with negative votes of more than 10% of network
- Only allow proposals into budget that have more than 10% of network support
- Faster removal of inactive masternodes
2015-07-06 10:46:58 -07:00
Wladimir J. van der Laan
086cb336cd
Merge pull request #6365
5a7304b Move recently introduced CTransAction::IsEquivalentTo to CWalletTx (Wladimir J. van der Laan)
2015-07-06 19:11:14 +02:00
Wladimir J. van der Laan
9546a977d3
Merge pull request #6335
9238ecb Policy: MOVEONLY: 3 functions to policy.o: (Luke Dashjr)
627b9de Policy: MOVEONLY: Create policy/policy.h with some constants (Jorge Timón)
2015-07-06 18:54:20 +02:00
UdjinM6
b1d78b5200 Alternative digits implementation 2015-07-06 04:09:10 +03:00
crowning-
ee167ad2f3 Configurable decimal digits 2015-07-05 21:19:46 +02:00
Jonas Schnelli
c45c7ea0fa [REST] add JSON support for /rest/headers/ 2015-07-05 15:48:33 +02:00
UdjinM6
ce41645713 fix CFinalizedBudget::AutoCheck() crash 2015-07-05 10:37:52 +03:00
crowning-
c990c5a011 Wallet Window Title: minor changes 2015-07-05 03:11:58 +02:00
crowning-
860a895cf5 Merge remote-tracking branch 'upstream/v0.12.0.x' into v0.12.0.x 2015-07-05 03:11:45 +02:00
crowning-
252322997c User configurable Wallet Window Title 2015-07-05 02:27:20 +02:00
crowning-
36f65addc7 Fixed typo 2015-07-05 02:02:14 +02:00
Evan Duffield
edaf479063 Added CleanAndRemove for Proposal votes 2015-07-04 15:49:42 -07:00
Evan Duffield
2b949e08a8 Quicker masternode removal 2015-07-04 10:44:45 -07:00
Evan Duffield
b1360473b4 Budget changes
- Remove budgets with negative votes of more than 10% of network
- Only allow proposals into budget that have more than 10% of network support
2015-07-04 10:42:42 -07:00
Evan Duffield
7481a27fe4 Smarter algorithm for finding the nHeight for the last block 2015-07-04 08:28:55 -07:00
Evan Duffield
6fc05e7fa8 nHeight calculation for BlockValue checking 2015-07-04 07:50:43 -07:00
Evan Duffield
6834476573 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-04 07:28:53 -07:00
Evan Duffield
b04ffb923c Rebuild coinbase cache when needed 2015-07-04 07:27:20 -07:00
crowning-
27a2ceb287 Popup information on first mixing 2015-07-04 15:29:21 +02:00
crowning-
87e72e0331 Persist Date and Type filters in "Transactions" tab 2015-07-04 15:27:37 +02:00
Evan Duffield
b8d5a3ce6b Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-03 22:09:15 -07:00
Evan Duffield
ed799658a9 version bump 2015-07-03 22:09:04 -07:00
evan82
4c25051d98 Merge pull request #398 from UdjinM6/v0.12.0.x_overviewpage_unit
V0.12.0.x overviewpage unit (fix crash)
2015-07-03 22:07:59 -07:00
Evan Duffield
377770c6ec Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-03 22:05:57 -07:00
Evan Duffield
42d9a581a1 Smarter nHeight detection for masternode payments 2015-07-03 22:05:10 -07:00
UdjinM6
a33c569a1d Store current unit as a private member of OverviewPage object and use it instead of calling walletModel->getOptionsModel()->getDisplayUnit(). This should solve an issue when walletModel->getOptionsModel()->getDisplayUnit() fails on shutdown/restart even if (walletModel && walletModel->getOptionsModel()) is true. 2015-07-04 07:58:42 +03:00
Wladimir J. van der Laan
ead842d623 Remove assertion from ~LockedPageManager
This assertion will occur any time that the client quits without
shutting down properly due to an error condition. As the user will
report this error instead of the error that was the root cause, it is
better to remove it.
2015-07-04 05:15:10 +02:00
evan82
2536e85888 Merge pull request #395 from UdjinM6/v0.12.0.x_fix_DS_MN_crashes
V0.12.0.x fix ds mn crashes
2015-07-03 11:10:14 -07:00
evan82
703fbe816a Merge pull request #392 from crowning-/Wallet_Restart
Restart-wallet fix
2015-07-03 11:09:59 -07:00
Evan Duffield
6becaf0462 Added mnbudget projection and changed "show"
- Show now shows every proposal that is known, which seems to be the general expected behavior of the users
- Added "projection" for showing what will end up in the budget if it was finalized currently
2015-07-03 10:54:10 -07:00
Evan Duffield
151cb174f2 Disable autostart in regtest mode 2015-07-03 09:52:27 -07:00
Wladimir J. van der Laan
6ebac0782f Remove ChainParams::DefaultMinerThreads
No longer relevant after #5957. This hack existed because of another
hack where the numthreads parameter, on regtest, doubled as how many
blocks to generate.
2015-07-03 16:46:20 +02:00
Wladimir J. van der Laan
d0a10c1959
Merge pull request #6329
0c37634 acceptnonstdtxn option to skip (most) "non-standard transaction" checks, for testnet/regtest only (Luke Dashjr)
2015-07-03 14:00:06 +02:00
Luke Dashjr
0c376340a4 acceptnonstdtxn option to skip (most) "non-standard transaction" checks, for testnet/regtest only 2015-07-03 08:29:16 +00:00
crowning-
8ba0328b71 Only restart wallet 1x, no matter how often a user clicks on a restart-button 2015-07-03 07:55:45 +02:00
crowning-
3195e04d7d Merge remote-tracking branch 'upstream/v0.12.0.x' into Wallet_Restart 2015-07-03 07:55:29 +02:00
Evan Duffield
4420d563cb fixed proposal display functionality 2015-07-02 17:51:31 -07:00
UdjinM6
189e48328d fix 2 crashes 2015-07-03 01:56:43 +03:00
Evan Duffield
5f282c2692 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-07-02 15:34:29 -07:00
Evan Duffield
3bd8cc1e98 fixed bug with proposals 2015-07-02 15:34:11 -07:00
Wladimir J. van der Laan
5a7304b69d Move recently introduced CTransAction::IsEquivalentTo to CWalletTx
CTransAction::IsEquivalentTo was introduced in #5881.
This functionality is only useful to the wallet, and should never have
been added to the primitive transaction type.
2015-07-02 20:57:39 +02:00
Jonas Schnelli
177a0e4914 Adding CSubNet constructor over a single CNetAddr 2015-07-02 20:44:27 +02:00
Jonas Schnelli
409bccfbf5 use CBanEntry as object container for banned nodes
- added a reason enum for a ban
- added creation time for a ban

Using CBanEntry as container will keep banlist.dat extenable.
2015-07-02 20:29:36 +02:00
Jonas Schnelli
dfa174c295 CAddrDB/CBanDB: change filesize variables from int to uint64_t 2015-07-02 20:29:36 +02:00
Jonas Schnelli
f581d3d656 banlist.dat: store banlist on disk 2015-07-02 20:29:36 +02:00
Wladimir J. van der Laan
d6db1157bc
Merge pull request #6362
72b9452 When processing RPC commands during warmup phase, parse the request object before returning an error so that id value can be used in the response. (Forrest Voight)
2015-07-02 20:09:28 +02:00
evan82
d39815db32 Merge pull request #394 from UdjinM6/v0.12.0.x_inv
V0.12.0.x inv related fixes
2015-07-02 11:02:04 -07:00
evan82
71e0ede0d4 Merge pull request #393 from UdjinM6/v0.12.0.x_lang80percentplus
V0.12.0.x update languages with 80%+ completition
2015-07-02 11:01:42 -07:00
Wladimir J. van der Laan
d7ada03b8a
Merge pull request #6361
4716267 Use real number of cores for default -par, ignore virtual cores (Wladimir J. van der Laan)
2015-07-02 20:01:04 +02:00
Wladimir J. van der Laan
3203a0832a
Merge pull request #5881
5d34e16 Add txn_clone.py test (Tom Harding)
defd2d5 Better txn_doublespend.py test (Tom Harding)
b2b3619 Implement CTransaction::IsEquivalentTo(...) (Tom Harding)
2015-07-02 19:59:50 +02:00
Wladimir J. van der Laan
987efae1fd
Merge pull request #6133
e617fe2 Fix various warnings (Luke Dashjr)
2015-07-02 19:54:12 +02:00
Evan Duffield
5fdaf0bfc1 added checkpoint 2015-07-02 09:53:55 -07:00
Wladimir J. van der Laan
726e28643c
Merge pull request #6247
076badb Add getblockheader RPC call (Peter Todd)
2015-07-02 18:53:18 +02:00
Evan Duffield
13bd6a15eb version/proto bump 2015-07-02 09:45:28 -07:00
Evan Duffield
28052240a5 Improvements for syncing budget votes
- New orphan object and reprocessing logic
- Added some logic for asking peers for missing proposals and finalized budgets
2015-07-02 09:41:33 -07:00
Evan Duffield
d8a6057205 Fixed issues with budget syncing 2015-07-02 08:07:30 -07:00
Forrest Voight
72b9452b1d When processing RPC commands during warmup phase, parse the
request object before returning an error so that id value can
be used in the response.

Prior to this commit, RPC commands sent during Bitcoin's
warmup/startup phase were responded to with a JSON-RPC error
with an id of null, which violated the JSON-RPC 2.0 spec:

id: This member is REQUIRED. It MUST be the same as the value
of the id member in the Request Object. If there was an error
in detecting the id in the Request object (e.g. Parse
error/Invalid Request), it MUST be Null.
2015-07-01 21:55:08 -04:00
UdjinM6
b66928043e Few inv related fixes:
- add missing strings and make inv strings a bit more consistent (imo)
- remove "unknown" types that were used to prevent errors thrown at user with old wallet,
  just log such errors in debug mode for "net" category. Should also make behaviour of functions
  relaing on CInv::IsKnownType() more adequate
  (and it doesn't make sense to warn users by throwing errors at them in such situations anyway I guess)
2015-07-02 04:28:45 +03:00
UdjinM6
2ed4c93b6d update languages with 80%+ completition 2015-07-02 03:53:33 +03:00
Evan Duffield
a89b0e705f Fixed syncing code for stuck clients 2015-07-01 16:46:03 -07:00
crowning-
4d758b9924 Restart-wallet fix 2015-07-02 00:12:11 +02:00
Wladimir J. van der Laan
6bcb0a21c5
Merge pull request #6353
5ed1079 Show softfork status in getblockchaininfo (Wladimir J. van der Laan)
2015-07-01 19:37:24 +02:00
Wladimir J. van der Laan
5ed10793c2 Show softfork status in getblockchaininfo 2015-07-01 19:36:17 +02:00
Wladimir J. van der Laan
47162673c7 Use real number of cores for default -par, ignore virtual cores
To determine the default for `-par`, the number of script verification
threads, use [boost:🧵:physical_concurrency()](http://www.boost.org/doc/libs/1_58_0/doc/html/thread/thread_management.html#thread.thread_management.thread.physical_concurrency)
which counts only physical cores, not virtual cores.

Virtual cores are roughly a set of cached registers to avoid context
switches while threading, they cannot actually perform work, so spawning
a verification thread for them could even reduce efficiency and will put
undue load on the system.

Should fix issue #6358, as well as some other reported system overload
issues, especially on Intel processors.

The function was only introduced in boost 1.56, so provide a utility
function `GetNumCores` to fall back for older Boost versions.
2015-07-01 18:01:16 +02:00
Jonas Schnelli
a7b9623d18 miner: rename UpdateRequestCount signal to ResetRequestCount 2015-07-01 16:09:58 +02:00
Jonas Schnelli
5496253966 add CReserveScript to allow modular script keeping/returning
- use one CReserveScript per mining thread
2015-07-01 16:06:14 +02:00
Shaul Kfir
a651403e09 Add absurdly high fee message to validation state (for RPC propagation) 2015-06-30 15:59:11 -04:00
Jonas Schnelli
087e65def9 fix GetScriptForMining() CReserveKey::keepKey() issue 2015-06-30 21:45:46 +02:00
Jonas Schnelli
d0fc10a844 detach wallet from miner 2015-06-30 21:45:46 +02:00
evan82
4b6d55b1b9 Merge pull request #391 from UdjinM6/v0.12.0.x_ds_on_overview
V0.12.0.x Various DS related fixes for overview page
2015-06-30 10:31:48 -07:00
UdjinM6
ca94f2f6d7 Various DS related fixes for overview page:
- streamline initialization logic for litemode/masternode/ds
- call updateDarksendProgress on setBalance
- format amountAndRounds for 0 balance same way as for normal balance (see c3febd20a8)
- use style='white-space:pre' to show long strings in tooltips correctly, adapt few strings
- small fixes (cleanup naming, notr, use static where possible and get rid of unneeded class members)
2015-06-30 19:01:51 +03:00
Suhas Daftuar
6b1066fab4 Ignore whitelisting during IBD for unrequested blocks. 2015-06-30 09:42:56 -04:00
UdjinM6
69f482ec2e Execute "mogrify *.png" to fix "GUI: libpng warning: iCCP: known incorrect sRGB profile" 2015-06-30 05:42:12 +03:00
Wladimir J. van der Laan
0564c5b795
Merge pull request #6337
6a4b97e Testing infrastructure: mocktime fixes (Gavin Andresen)
2015-06-29 16:41:29 +02:00
UdjinM6
e9eb2faeb6 new icon 2015-06-29 02:23:29 +03:00
Evan Duffield
bac2dc81a2 version bump 2015-06-28 14:49:16 -07:00
evan82
faf150d9d3 Merge pull request #388 from UdjinM6/v0.12.0.x_sum_tx
V0.12.0.x sum tx separator and negative value highlight
2015-06-28 14:01:05 -07:00
evan82
7fb910b74f Merge pull request #387 from UdjinM6/v0.12.0.x_compact_amountandrounds
V0.12.0.x compact AmountAndRounds
2015-06-28 14:00:55 -07:00
UdjinM6
c3febd20a8 Do not show decimals for "amounts and rounds" text but show usual way formatted numbers inside its tooltip 2015-06-28 17:27:24 +03:00
UdjinM6
9db667c240 always show separator for sum tx amount and highlight (red) negative amounts 2015-06-28 17:22:14 +03:00
UdjinM6
9bc6042c27 unlock inputs on DS failure 2015-06-28 17:07:44 +03:00
Luke Dashjr
9238ecb417 Policy: MOVEONLY: 3 functions to policy.o:
- [script/standard.o] IsStandard
- [main.o] IsStandardTx
- [main.o] AreInputsStandard

Also, don't use namespace std in policy.cpp
2015-06-26 17:59:10 +02:00
Jorge Timón
627b9deff4 Policy: MOVEONLY: Create policy/policy.h with some constants 2015-06-26 17:59:07 +02:00
Wladimir J. van der Laan
24f24896d6
Merge pull request #6299
4f40716 test: Move reindex test to standard tests (Wladimir J. van der Laan)
36c97b4 Bugfix: Don't check the genesis block header before accepting it (Jorge Timón)
2015-06-26 15:40:59 +02:00
Wladimir J. van der Laan
41076aad0c
Merge pull request #6124
ffd75ad Enable CHECKLOCKTIMEVERIFY as a standard script verify flag (Peter Todd)
bc60b2b Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65) (Peter Todd)
48e9c57 Move LOCKTIME_THRESHOLD to src/script/script.h (Peter Todd)
99088d6 Make CScriptNum() take nMaxNumSize as an argument (Peter Todd)
2015-06-26 14:42:45 +02:00
Evan Duffield
2b75faefee Various fixes improvements
- Implemented spork for only paying new nodes after a period of time on mainnet
- protocol bump
- fixed a few issues with sporks. Spork show now shows all sporks, instead of the changed ones. IsSporkActive now supports sporks set to 0 as on.
2015-06-25 12:59:11 -07:00
Evan Duffield
8a4c22ec9a fixed typo 2015-06-25 11:22:11 -07:00
Evan Duffield
5227451604 Merge branch 'v0.12.0.x' of https://github.com/darkcoin/darkcoin into v0.12.0.x 2015-06-25 11:09:19 -07:00
Evan Duffield
55dda32f34 Removed need for amounts in masternode winners protocol 2015-06-25 11:08:50 -07:00
evan82
558ac17318 Merge pull request #385 from UdjinM6/v0.12.0.x_translations
(WIP) V0.12.0.x translations
2015-06-25 08:31:51 -07:00
Evan Duffield
e3963ea71c Spork changes / improvements
- New Command "Spork Active" : Show which sporks report as active
- Cleaned up the spork code and fixed some bugs with defaults
2015-06-25 08:17:53 -07:00
Wladimir J. van der Laan
5aa34c7944
Merge pull request #6333
b932953 Hardcoded seeds update June 2015 (Wladimir J. van der Laan)
884454a contrib: Add port parsing to makeseeds.py (Wladimir J. van der Laan)
ccd4369 contrib: Improvements to hardcoded seeds scripts (Wladimir J. van der Laan)
2015-06-25 17:07:00 +02:00
Wladimir J. van der Laan
e34a8acd9f
Merge pull request #6233
3e91433 Advance pindexLastCommonBlock for blocks in chainActive (Suhas Daftuar)
2015-06-25 16:36:23 +02:00
UdjinM6
5e21166456 refresh en source/translations 2015-06-25 17:32:21 +03:00
UdjinM6
9d05c98110 fix strings 2015-06-25 17:32:12 +03:00
Jonas Schnelli
77aeb7c964 UniValue: don't escape solidus, keep espacing of reverse solidus 2015-06-25 08:10:08 +02:00
Wladimir J. van der Laan
b9329536cd Hardcoded seeds update June 2015 2015-06-25 08:05:52 +02:00
Evan Duffield
94493bee63 fixed compile issues 2015-06-24 12:42:01 -07:00
Gavin Andresen
6a4b97e863
Testing infrastructure: mocktime fixes
New, undocumented-on-purpose -mocktime=timestamp command-line
argument to startup with mocktime set. Needed because
time-related blockchain sanity checks are done on startup, before a
test has a chance to make a setmocktime RPC call.

And changed the setmocktime RPC call so calling it will not result in
currently connected peers being disconnected due to inactivity timeouts.
2015-06-24 15:18:55 -04:00
Evan Duffield
38e736ad22 bump version 2015-06-24 11:21:12 -07:00
evan82
e323df71c6 Merge pull request #383 from UdjinM6/v0.12.0.x_small_ds_code_cleanups
V0.12.0.x small ds code cleanups
2015-06-24 11:16:41 -07:00
evan82
479d1cfad4 Merge pull request #382 from UdjinM6/v0.12.0.x_move_ds_pool_status_out_of_overviewpage
V0.12.0.x move ds pool status out of overviewpage
2015-06-24 11:16:26 -07:00
evan82
39c03405fa Merge pull request #381 from UdjinM6/v0.12.0.x_fix_db_shutdown_crash
V0.12.0.x fix db shutdown crash
2015-06-24 11:15:50 -07:00
Evan Duffield
8d8f9fae48 Autostart masternode upon startup 2015-06-24 09:46:49 -07:00
Evan Duffield
fd8afcc91a added masternode status info 2015-06-24 09:41:03 -07:00
UdjinM6
b30f8b5fcb remove unused variable 2015-06-24 19:33:53 +03:00
UdjinM6
a4bb283367 slight optimizations/readability improvements for ds 2015-06-24 19:30:05 +03:00
UdjinM6
451a98732e remove unneeded "darkSendPool." in DS pool class functions 2015-06-24 19:25:43 +03:00
UdjinM6
60622b887d add missing MSG_ENTRIES_ADDED for proper ds status display 2015-06-24 19:23:22 +03:00
UdjinM6
0bfaefde92 move ds pool status out of overview page 2015-06-24 19:08:14 +03:00
UdjinM6
4a9e7dba84 fix db shutdown crash - adopt btc daf956b7b196769f8027026dd047e72412a9a039 2015-06-24 17:49:30 +03:00
Evan Duffield
cf53f2f897 protocol bump 2015-06-24 07:41:52 -07:00
Evan Duffield
71761f6317 Merge branch 'v0.12.0.x' of https://github.com/darkcoin/darkcoin into v0.12.0.x 2015-06-23 16:46:55 -07:00
Evan Duffield
f1b868f098 Removed PoSe due to consensus issues
- With nodes coming and going on the network, the network could come to different opinions about who should get paid next in line due to some nodes being flagged as failing a PoSe check. This will have to be fixed by introducing a blockchain based PoSe system, but that's out of the scope of this release. To fix the issues in the interrim, I'm removing PoSe checks for the time being.
2015-06-23 16:44:31 -07:00
UdjinM6
08a6803165 fixing all kind of typos etc 2015-06-23 23:44:20 +03:00
Evan Duffield
4afaa1d8cf Scan blocks if coinpayee cache is not present 2015-06-23 12:08:11 -07:00
Evan Duffield
3c01ffa444 fixed errors from merge 2015-06-23 10:59:14 -07:00
Evan Duffield
3eeb33e577 version / proto bump 2015-06-23 10:53:22 -07:00
Evan Duffield
43e6976695 merged 2015-06-23 10:53:12 -07:00
Evan Duffield
c72355335c Coinbase Payee Cache Implementation
- Masternode nLastPaid is removed and a new caching system that keeps the last 30 days of coinbase payees replaces it
- To deal with some significant attack vectors, the masternode donation feature was removed. The donation feature was added to support developement anyway, so this will be replaced by the budgeting code.
-  This code should allow the network to come to consensus about who should be paid pretty effectively
2015-06-23 10:48:03 -07:00
evan82
f12664166b Merge pull request #378 from UdjinM6/v0.12.0.x_ds_coincontrol
V0.12.0.x ds coincontrol
2015-06-23 10:12:26 -07:00
evan82
cdaaa297f6 Merge pull request #377 from UdjinM6/v0.12.0.x_dsee_mnb
V0.12.0.x refactor: dsee -> mnb
2015-06-23 10:11:55 -07:00
evan82
6aa49e5a70 Merge pull request #376 from UdjinM6/v0.12.0.x_fees
V0.12.0.x fees fixes
2015-06-23 10:11:20 -07:00
UdjinM6
5037c710de When DS inputs are selected in coincontrol:
- spend exactly these inputs
- allow to spend more than 0.1 as a fee (note: still will respect non-ds fee limits)
2015-06-23 18:47:05 +03:00
UdjinM6
a6a04cb5c1 refactor: dsee -> mnb 2015-06-23 18:40:08 +03:00
UdjinM6
154567bf5d refactor: allowFree -> ignoreFees 2015-06-23 18:24:20 +03:00
UdjinM6
db18ce0480 bump required version for fee_estimates.dat file 2015-06-23 18:22:39 +03:00
UdjinM6
159b3366b1 reject real insane fee instead of hardcoded 2015-06-23 18:19:45 +03:00
UdjinM6
f3e619a2d1 btc/kb -> dash/kb 2015-06-23 18:15:12 +03:00
UdjinM6
d35dab332a bump min fees 10x 2015-06-23 18:02:46 +03:00
Wladimir J. van der Laan
91389e51c7
Merge pull request #6088
2085895 fundrawtransaction tests (Jonas Schnelli)
21bbd92 Add fundrawtransaction RPC method (Matt Corallo)
1e0d1a2 Add FundTransaction method to wallet (Matt Corallo)
2d84e22 Small tweaks to CCoinControl for fundrawtransaction (Matt Corallo)
9b4e7d9 Add DummySignatureCreator which just creates zeroed sigs (Pieter Wuille)
2015-06-23 12:40:00 +02:00
Luke Dashjr
e617fe2578 Fix various warnings
Found while building on Debian 7
2015-06-23 08:39:57 +00:00
UdjinM6
3e95f3b98c accept(verify) DS mixing txes ignoring fees 2015-06-23 07:12:24 +03:00
UdjinM6
9925e0a360 try to lower fee in CreateTransaction 2015-06-22 22:36:35 +03:00
evan82
511b11aa53 Merge pull request #374 from UdjinM6/v0.12.0.x_ds_reservekeys
V0.12.0.x deal with reservekeys in CreateDenominated and MakeCollaterals more accurate (+todo)
2015-06-22 12:25:27 -07:00
evan82
59097ed28d Merge pull request #373 from UdjinM6/v0.12.0.x_fix_PrepareDarksendDenominate
V0.12.0.x fix PrepareDarksendDenominate - loop instead of if
2015-06-22 11:35:29 -07:00
UdjinM6
d766b6b564 fix PrepareDarksendDenominate - loop instead of if 2015-06-22 21:10:46 +03:00
UdjinM6
02230c4263 deal with reservekeys in CreateDenominated and MakeCollaterals more accurate (+todo) 2015-06-22 20:59:27 +03:00
UdjinM6
a049348110 bump ix min proto 2015-06-22 20:51:28 +03:00
Evan Duffield
12863bb423 version bump 2015-06-22 08:47:24 -07:00
Evan Duffield
feaaf1e166 fixed bug with counting votes 2015-06-22 07:20:34 -07:00
Evan Duffield
12e5f8f4d4 added some debugging 2015-06-22 06:50:33 -07:00
Peter Todd
ffd75adce0
Enable CHECKLOCKTIMEVERIFY as a standard script verify flag
Transactions that fail CLTV verification will be rejected from the
mempool, making it easy to test the feature. However blocks containing
"invalid" CLTV-using transactions will still be accepted; this is *not*
the soft-fork required to actually enable CLTV for production use.
2015-06-22 00:00:48 -04:00
Peter Todd
bc60b2b4b4 Replace NOP2 with CHECKLOCKTIMEVERIFY (BIP65)
<nLockTime> CHECKLOCKTIMEVERIFY -> <nLockTime>

Fails if tx.nLockTime < nLockTime, allowing the funds in a txout to be
locked until some block height or block time in the future is reached.

Only the logic and unittests are implemented; this commit does not have
any actual soft-fork logic in it.

Thanks to Pieter Wuille for rebase.

Credit goes to Gregory Maxwell for the suggestion of comparing the
argument against the transaction nLockTime rather than the current
time/blockheight directly.
2015-06-21 23:56:28 -04:00
Peter Todd
db6047d61b
Take the training wheels off anti-fee-sniping
Now that the off-by-one error w/nLockTime txs issue has been fixed by
87550eef (75a4d512 in the 0.11 branch) we can make the anti-fee-sniping
protection create transactions with nLockTime set such that they're only
valid in the next block, rather than an earlier block.

There was also a concern about poor propagation, however testing with
transactions with nLockTime = GetAdjustedTime()+1 as a proxy for
nLockTime propagation, as well as a few transactions sent the moment
blocks were received, has turned up no detectable issues with
propagation. If you have a block at a given height you certainly have at
least one peer with that block who will accept the transaction. That
peer will certainly have other peers who will accept it, and soon
essentially the whole network has the transaction. In particular, if a
node recives a transaction that it rejects due to the tx being
non-final, it will be accepted again later as it winds its way around
the network.
2015-06-21 23:39:49 -04:00
Evan Duffield
dddc095856 changed enforcement strategy for mn payments 2015-06-21 10:06:25 -07:00
Evan Duffield
892212d407 version / min version bump 2015-06-21 09:32:32 -07:00
Evan Duffield
b8c842744d clear out old masternodes in CheckAndRemove 2015-06-21 06:54:07 -07:00
Wladimir J. van der Laan
b6668209aa build: Remove -DBOOST_SPIRIT_THREADSAFE
Now that boost spirit is no longer used, `-DBOOST_SPIRIT_THREADSAFE`
doesn't need to be passed to the compiler anymore.
2015-06-21 14:09:34 +02:00
Evan Duffield
1cf09fae8e update protocol version 2015-06-20 19:03:06 -07:00
Jorge Timón
36c97b4e5d Bugfix: Don't check the genesis block header before accepting it
This fixes an error triggered when running with -reindex after #5975
2015-06-21 01:24:51 +02:00
Evan Duffield
ca95ca2d95 fixed nDos for failure of mnp 2015-06-20 13:28:41 -07:00
Evan Duffield
06ac558fee version bump 2015-06-20 13:00:19 -07:00
Evan Duffield
049aae7c49 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-06-20 12:59:38 -07:00
Evan Duffield
947b79c8c5 Changed masternode broadcast/pinging logic
- Fixed a bug causing the broadcasts to be ignored in some situations
- Added some logic to rebroadcast new masternodes, so the rest of the network finds out about unknown nodes quickly
- should help masternode payments to work properly
2015-06-20 12:56:56 -07:00
UdjinM6
97c97f7e40 use v11-like AcceptToMemoryPool call in ProcessMessage(dstx/tx) 2015-06-20 05:33:15 +03:00
Evan Duffield
a0d8442835 added hybrid keys for masternode payment voting 2015-06-19 11:33:02 -07:00
Wladimir J. van der Laan
247b91449a
Merge pull request #6262
506bae3 Return all available information via validateaddress (dexX7)
2015-06-19 18:30:58 +02:00
Evan Duffield
b6f760ff90 Check before pulling payee 2015-06-19 09:14:48 -07:00
Wladimir J. van der Laan
57539884f2
Merge pull request #6290
57092ed rpc: make `gettxoutsettinfo` run lock-free (Wladimir J. van der Laan)
2015-06-19 17:42:50 +02:00
Jonas Schnelli
1c043d5672 fix lock issue for QT node diconnect and RPC disconnectnode 2015-06-19 16:32:22 +02:00
Jonas Schnelli
932687bc10 setban: add IPv6 tests 2015-06-19 13:51:42 +02:00
Jonas Schnelli
62909f68a0 fix missing lock in CNode::ClearBanned() 2015-06-19 13:31:33 +02:00
UdjinM6
58c0f150a4 fix dsc 2015-06-19 04:42:25 +03:00
evan82
3834e459d9 Merge pull request #364 from UdjinM6/v0.12.0.x_fix_mnping
V0.12.0.x fix mnping
2015-06-18 11:52:49 -07:00
UdjinM6
1e393d5b70 fix mnping 2015-06-18 21:41:01 +03:00
evan82
85815dcf29 Merge pull request #362 from snogcel/v0.12.0.x
Available Balance, Pending Label Fix
2015-06-18 10:38:52 -07:00
Wladimir J. van der Laan
40400d53d3
Merge pull request #6272
edbdf88 tests: Extend RPC proxy tests (Wladimir J. van der Laan)
baf0507 Improve proxy initialization (Wladimir J. van der Laan)
2015-06-18 17:53:36 +02:00
Wladimir J. van der Laan
0abfa8a22f
Merge pull request #6158
9d79afe add RPC tests for setban & disconnectnode (Jonas Schnelli)
1f02b80 setban: add RPCErrorCode (Jonas Schnelli)
d624167 fix CSubNet comparison operator (Jonas Schnelli)
4e36e9b setban: rewrite to UniValue, allow absolute bantime (Jonas Schnelli)
3de24d7 rename json field "bannedtill" to "banned_until" (Jonas Schnelli)
433fb1a [RPC] extend setban to allow subnets (Jonas Schnelli)
e8b9347 [net] remove unused return type bool from CNode::Ban() (Jonas Schnelli)
1086ffb [QA] add setban/listbanned/clearbanned tests (Jonas Schnelli)
d930b26 [RPC] add setban/listbanned/clearbanned RPC commands (Jonas Schnelli)
2252fb9 [net] extend core functionallity for ban/unban/listban (Jonas Schnelli)
2015-06-18 16:48:37 +02:00
thelazier
639c67d354 Fix getblocktemplate not show payee from masternode winners.. 2015-06-18 16:40:22 +07:00
snogcel
5fed89fde4 Available Balance, Pending Label Fix 2015-06-17 21:37:30 -06:00
Evan Duffield
cc458007e3 update version 2015-06-17 17:10:42 -07:00
UdjinM6
91c7f66562 remove nLastPaid from CMasternodeBroadcast 2015-06-18 00:18:24 +03:00
UdjinM6
795ee119ec SecondsSincePayment (fix buffer overflow / change logic / move impl to cpp) 2015-06-17 23:03:09 +03:00
Jonas Schnelli
1f02b80253 setban: add RPCErrorCode 2015-06-17 21:40:56 +02:00
Jonas Schnelli
d624167387 fix CSubNet comparison operator 2015-06-17 21:40:55 +02:00
Jonas Schnelli
4e36e9bcc7 setban: rewrite to UniValue, allow absolute bantime 2015-06-17 21:40:55 +02:00
Jonas Schnelli
3de24d7647 rename json field "bannedtill" to "banned_until" 2015-06-17 21:40:55 +02:00
Jonas Schnelli
433fb1a95d [RPC] extend setban to allow subnets 2015-06-17 21:40:55 +02:00
Jonas Schnelli
e8b93473f1 [net] remove unused return type bool from CNode::Ban() 2015-06-17 21:40:55 +02:00
Jonas Schnelli
1086ffba26 [QA] add setban/listbanned/clearbanned tests 2015-06-17 21:40:55 +02:00
Jonas Schnelli
d930b26a26 [RPC] add setban/listbanned/clearbanned RPC commands 2015-06-17 21:40:55 +02:00
Jonas Schnelli
2252fb91cd [net] extend core functionallity for ban/unban/listban 2015-06-17 21:40:55 +02:00
Suhas Daftuar
ae6f957a62 Enable block relay when pruning 2015-06-17 15:37:50 -04:00
Suhas Daftuar
0da6ae2dc3 Do not inv old or missing blocks when pruning
When responding to a getblocks message, only return inv's as
long as we HAVE_DATA for blocks in the chain, and only for blocks
that we aren't likely to delete in the near future.
2015-06-17 15:37:50 -04:00
Evan Duffield
df77f56e11 Budget stability fixes
- Proposals must start on a budget block now
- Finalized budgets now enforce proposal start and end periods
- Other misc fixes
2015-06-16 10:04:35 -07:00
Evan Duffield
5c4dc3727b fixed issue with reindex and super blocks 2015-06-16 07:04:50 -07:00
Philip Kaufmann
0ce30eaa36 fix crash on shutdown when e.g. changing -txindex and abort action
- fixes #3136
- the problem is related to Boost path and a static initialized internal
  pointer
- using a std::string in CDBEnv::EnvShutdown() prevents the problem
- this removes the boost::filesystem::path path field from CDBEnv
2015-06-16 15:03:50 +02:00
Alex van der Peet
60dbe73016 New RPC command disconnectnode 2015-06-16 14:19:41 +02:00
Wladimir J. van der Laan
a903ad7e9c
Merge pull request #6283
26a639e remove using namespace std from addrman.cpp (Philip Kaufmann)
40c592a make CAddrMan::size() return the correct type of size_t (Philip Kaufmann)
2015-06-16 14:06:59 +02:00
Wladimir J. van der Laan
57092ed9e7 rpc: make gettxoutsettinfo run lock-free
For leveldb "An iterator operates on a snapshot of the database taken
when the iterator is created". This means that it is unnecessary to
lock out other threads while computing statistics, and neither to hold
cs_main for the whole time. Let the thread run free.
2015-06-16 13:50:38 +02:00
Cory Fields
a794284e61 locking: add a quick example of GUARDED_BY
This was chosen not because it's necessarily helpful, but because its locking
assumptions were already correct.
2015-06-16 04:10:21 -04:00
Cory Fields
2b890dd424 locking: fix a few small issues uncovered by -Wthread-safety
- rpcwallet: No need to lock twice here
- openssl: Clang doesn't understand selective lock/unlock here. Ignore it.
- CNode: Fix a legitimate (though very unlikely) locking bug.
2015-06-16 04:04:02 -04:00
Cory Fields
cd27bba060 locking: teach Clang's -Wthread-safety to cope with our scoped lock macros
This allows us to use function/variable/class attributes to specify locking
requisites, allowing problems to be detected during static analysis.

This works perfectly with newer Clang versions (tested with 3.3-3.7). For older
versions (tested 3.2), it compiles fine but spews lots of false-positives.
2015-06-16 03:59:26 -04:00
Cory Fields
72bf90d770 Fix scheduler build with some boost versions.
Some boost versions have a conflicting overload of wait_until that returns void.
Explicitly use a template here to avoid hitting that overload.
2015-06-15 16:29:57 -04:00
Philip Kaufmann
26a639e21f remove using namespace std from addrman.cpp 2015-06-15 14:45:19 +02:00
Philip Kaufmann
40c592aa21 make CAddrMan::size() return the correct type of size_t 2015-06-15 14:43:31 +02:00
Wladimir J. van der Laan
be6420407b
Add option -alerts to opt out of alert system
Make it possible to opt-out of the centralized alert system by providing
an option `-noalerts` or `-alerts=0`. The default remains unchanged.

This is a gentler form of #6260, in which I went a bit overboard by
removing the alert system completely.

I intend to add this to the GUI options in another pull after this.

Conflicts:
	src/init.cpp
	src/main.cpp

Github-Pull: #6274
Rebased-From: 02a6702a82
2015-06-15 10:17:56 +02:00
Tom Harding
0fd8464458
Fix getbalance *
Chance "getbalance *" not to use IsTrusted.  The method and result
now match the "getbalance <specific-account>" behavior. In
particular, "getbalance * 0" now works.

Also fixed a comment -- GetGalance has required 1 confirmation
for many years, and the default "getbalance *" behavior matches
that.

Github-Pull: #6276
Rebased-From: 7d6a85ab5b
Rebased-By: @trasher-
2015-06-15 10:13:13 +02:00
Wladimir J. van der Laan
c1fb0e1075
Merge pull request #6274
02a6702 Add option `-alerts` to opt out of alert system (Wladimir J. van der Laan)
2015-06-15 09:57:33 +02:00
Wladimir J. van der Laan
02a6702a82 Add option -alerts to opt out of alert system
Make it possible to opt-out of the centralized alert system by providing
an option `-noalerts` or `-alerts=0`. The default remains unchanged.

This is a gentler form of #6260, in which I went a bit overboard by
removing the alert system completely.

I intend to add this to the GUI options in another pull after this.
2015-06-15 09:53:33 +02:00
Wladimir J. van der Laan
5ebe7db6d0
Merge pull request #6257
ef2a3de Add paytxfee to getwalletinfo, warnings to getnetworkinfo (Stephen)
2015-06-15 09:39:30 +02:00
Evan Duffield
c489574e8a Masternode System Bug Fixes
- Fixed a race condition with masternode node selection upon new blocks
- Using nTime for lastpaid instead of the current time for high consensus
2015-06-14 17:05:51 -07:00
Josh Lehan
e3cae52538 Added -whiteconnections=<n> option
This sets aside a number of connection slots for whitelisted peers,
useful for ensuring your local users and miners can always get in,
even if your limit on inbound connections has already been reached.
2015-06-14 02:07:15 -07:00
Tom Harding
7d6a85ab5b Fix getbalance *
Chance "getbalance *" not to use IsTrusted.  The method and result
now match the "getbalance <specific-account>" behavior. In
particular, "getbalance * 0" now works.

Also fixed a comment -- GetGalance has required 1 confirmation
for many years, and the default "getbalance *" behavior matches
that.
2015-06-12 15:31:01 -07:00
Wladimir J. van der Laan
ab0ec67903
Merge pull request #6209
e059726 [Qt] deselect peer when switching away from peers tab in RPC console (Philip Kaufmann)
7211ada [Qt] replace Boost foreach with Qt version peertablemodel.cpp (Philip Kaufmann)
1b0db7b [Qt] extend rpc console peers tab (Philip Kaufmann)
2015-06-12 16:49:53 +02:00
Wladimir J. van der Laan
8ccc07c077
Merge pull request #6256
65b9454 Use best header chain timestamps to detect partitioning (Gavin Andresen)
2015-06-12 16:44:36 +02:00
Wladimir J. van der Laan
baf05075fa Improve proxy initialization
Simplify and make the code in AppInit2 more clear.

This provides a straightforward flow, gets rid of .count() (which makes
it possible to override an earlier provided proxy option to nothing), as
well as comments the different cases.
2015-06-12 12:41:44 +02:00
Wladimir J. van der Laan
ebab5d3c59
Merge pull request #6266
0cc7b23 Fix univalue handling of \u0000 characters. (Daniel Kraft)
2015-06-12 09:15:26 +02:00
Stephen
ef2a3de25c Add paytxfee to getwalletinfo, warnings to getnetworkinfo 2015-06-11 16:12:34 -04:00
Wladimir J. van der Laan
dd8fe8215a
Merge pull request #6221
c257a8c Prune: Support noncontiguous block files (Adam Weiss)
2015-06-11 18:24:35 +02:00
Daniel Kraft
0cc7b2352e Fix univalue handling of \u0000 characters.
Univalue's parsing of \u escape sequences did not handle NUL characters
correctly.  They were, effectively, dropped.  The extended test-case
fails with the old code, and is fixed with this patch.
2015-06-11 12:09:05 +02:00
Wladimir J. van der Laan
51870fc151
Merge pull request #6264
9b5659d Remove translation for -help-debug options (Wladimir J. van der Laan)
2015-06-11 10:50:01 +02:00
Matt Corallo
21bbd920e5 Add fundrawtransaction RPC method 2015-06-11 01:03:23 -07:00
Matt Corallo
1e0d1a2ff0 Add FundTransaction method to wallet
Some code stolen from Jonas Schnelli <jonas.schnelli@include7.ch>
2015-06-11 01:03:23 -07:00
Matt Corallo
2d84e22703 Small tweaks to CCoinControl for fundrawtransaction 2015-06-11 01:03:23 -07:00
Pieter Wuille
9b4e7d9a5e Add DummySignatureCreator which just creates zeroed sigs 2015-06-11 01:03:23 -07:00
Philip Kaufmann
e059726811 [Qt] deselect peer when switching away from peers tab in RPC console 2015-06-11 08:39:08 +02:00
Philip Kaufmann
7211adad85 [Qt] replace Boost foreach with Qt version peertablemodel.cpp 2015-06-11 08:38:02 +02:00
Philip Kaufmann
1b0db7b984 [Qt] extend rpc console peers tab
- add node id, ping wait, whitelisted and common height
- rephrase some labels to make them easier to understand for users
2015-06-11 08:38:01 +02:00
Wladimir J. van der Laan
eba2f061a0
Merge pull request #6061
eb83719 Consensus: Refactor: Separate Consensus::CheckTxInputs and GetSpendHeight in CheckInputs (Jorge Timón)
2015-06-10 18:04:38 +02:00
Jorge Timón
eb837199a0 Consensus: Refactor: Separate Consensus::CheckTxInputs and GetSpendHeight in CheckInputs 2015-06-10 14:07:30 +02:00
Jorge Timón
425c3a87ff Consensus: Separate CheckIndexAgainstCheckpoint() from ContextualCheckBlockHeader 2015-06-10 13:04:50 +02:00
Wladimir J. van der Laan
ac5476e2c1
Merge pull request #6057
7e6569e [squashme] improve/corrects prune mode detection test for required wallet rescans (Jonas Schnelli)
7a12119 [RPC] disable import functions in pruned mode (Jonas Schnelli)
3201035 [autoprune] allow wallet in pruned mode (Jonas Schnelli)
2015-06-10 12:32:31 +02:00
Wladimir J. van der Laan
3a1d3e8f52
Merge pull request #5985
14d4eef Fix removing of orphan transactions (Alex Morcos)
2015-06-10 12:15:19 +02:00
Wladimir J. van der Laan
9b5659d1c4 Remove translation for -help-debug options
Do not translate -help-debug options, Many technical terms, and
only a very small audience, so is unnecessary stress to translators.

Brings the code up to date with translation string policy in
`doc/translation_strings_policy.md`.

Also remove no-longer-relevant "In this mode -genproclimit controls how
many blocks are generated immediately." (as of #5957) from regtest help.
2015-06-10 11:59:23 +02:00
Wladimir J. van der Laan
e54ff2fc0e
Merge pull request #6213
eebd4cc [init] add -blockversion help and extend -upnp help (Philip Kaufmann)
2015-06-10 11:39:06 +02:00
Wladimir J. van der Laan
8d9f0a6069
Merge pull request #5927
dce8360 Reduce checkpoints' effect on consensus. (Pieter Wuille)
2015-06-10 10:33:12 +02:00
Wladimir J. van der Laan
9c93ee5ceb
Merge pull request #6222
efd4444 Explicitly set tx.nVersion for the genesis block and mining tests (Mark Friedenbach)
2015-06-10 09:48:00 +02:00
UdjinM6
f1debd4688 fix segfault in budgets 2015-06-10 09:49:08 +03:00
Evan Duffield
928f6edcb6 Adjusted max payment per finalized budget to 10% of the monthly block reward 2015-06-09 20:46:24 -06:00
evan82
07fbdfc525 Merge pull request #356 from UdjinM6/v0.12.0.x_mnping_blockhash
V0.12.0.x add recent (tip - 12) blockhash to mnping
2015-06-09 20:04:12 -06:00
evan82
201448cea0 Merge pull request #358 from UdjinM6/v0.12.0.x_fix_budget_gethash
V0.12.0.x fix budget gethash
2015-06-09 20:01:00 -06:00
Wladimir J. van der Laan
643114f539
Merge pull request #6239
7d8ffac Changes necessary now that zero values accepted in AmountFromValue (Wladimir J. van der Laan)
a04bdef Get rid of fPlus argument to FormatMoney (Wladimir J. van der Laan)
4b4b9a8 Don't go through double in AmountFromValue and ValueFromAmount (Wladimir J. van der Laan)
2015-06-09 18:38:33 +02:00
UdjinM6
5f5ee7a59b fix CFinalizedBudgetVote and CBudgetVote hashing, see https://github.com/dashpay/dash/pull/357 for more info 2015-06-09 19:37:58 +03:00
Wladimir J. van der Laan
3a2ca9bbde
Merge pull request #6246
0640a5e Add an alternate location of endian.h header (Andriy Voskoboinyk)
2015-06-09 18:24:53 +02:00
dexX7
506bae3ac9
Return all available information via validateaddress
`"validateaddress"` omits some information, even in cases where is it available.

The primary motivation is to be able to retrieve redeemScripts, after using `"addmultisigaddress"`, when not all keys are available in the keystore, but the redeemScript actually is.

The output of `"validateaddress"` with this commit:

Keys not available:
```js
validateaddress "n4KWZKx349gdMQGgTnZ8W6WfgSwybkGSK3"
{
  "isvalid": true,
  "address": "n4KWZKx349gdMQGgTnZ8W6WfgSwybkGSK3",
  "scriptPubKey": "76a914fa20d564550b105787f7ce3a9ad7fd9a45cd407088ac",
  "ismine": false,
  "iswatchonly": false,
  "isscript": false
}
```
```js
validateaddress "2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK"
{
  "isvalid": true,
  "address": "2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK",
  "scriptPubKey": "a9146769c19a16c9400b908756e19a4d2afb9e9760e187",
  "ismine": false,
  "iswatchonly": false,
  "isscript": true
}
```

After adding the redeemScript:
```js
addmultisigaddress 2 '["02537357B156A33306A7A014A3748631C59DF405B56F11BA4AA4A3CE81501AF095","02F1FB200390E7864EF4450C07B15988179A57C3CF3A878F668E1070CB615749FE"]'
2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK

validateaddress "2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK"
{
  "isvalid": true,
  "address": "2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK",
  "scriptPubKey": "a9146769c19a16c9400b908756e19a4d2afb9e9760e187",
  "ismine": false,
  "iswatchonly": false,
  "isscript": true,
  "script": "multisig",
  "hex": "522102537357b156a33306a7a014a3748631c59df405b56f11ba4aa4a3ce81501af0952102f1fb200390e7864ef4450c07b15988179a57c3cf3a878f668e1070cb615749fe52ae",
  "addresses": [
    "n4KWZKx349gdMQGgTnZ8W6WfgSwybkGSK3",
    "mmSKNtbYYHRrhTLKiok5TuYrGEs4Y2A4k6"
  ],
  "sigsrequired": 2,
  "account": ""
}
```

All keys available:
```js
validateaddress "n4KWZKx349gdMQGgTnZ8W6WfgSwybkGSK3"
{
  "isvalid": true,
  "address": "n4KWZKx349gdMQGgTnZ8W6WfgSwybkGSK3",
  "scriptPubKey": "76a914fa20d564550b105787f7ce3a9ad7fd9a45cd407088ac",
  "ismine": true,
  "iswatchonly": false,
  "isscript": false,
  "pubkey": "02537357b156a33306a7a014a3748631c59df405b56f11ba4aa4a3ce81501af095",
  "iscompressed": true,
  "account": ""
}
```
```js
validateaddress "2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK"
{
  "isvalid": true,
  "address": "2N2g2H7gjA8a11g1yKBgh5VTqndyvbnWpBK",
  "scriptPubKey": "a9146769c19a16c9400b908756e19a4d2afb9e9760e187",
  "ismine": true,
  "iswatchonly": false,
  "isscript": true,
  "script": "multisig",
  "hex": "522102537357b156a33306a7a014a3748631c59df405b56f11ba4aa4a3ce81501af0952102f1fb200390e7864ef4450c07b15988179a57c3cf3a878f668e1070cb615749fe52ae",
  "addresses": [
    "n4KWZKx349gdMQGgTnZ8W6WfgSwybkGSK3",
    "mmSKNtbYYHRrhTLKiok5TuYrGEs4Y2A4k6"
  ],
  "sigsrequired": 2,
  "account": ""
}
```
2015-06-09 17:21:27 +02:00
Wladimir J. van der Laan
c57e12aeef
Merge pull request #6217
51fc672 [Qt] disconnect peers from peers tab via context menu (Philip Kaufmann)
2015-06-09 17:13:29 +02:00
adios
f9b77c4376 Masternode broadcast's and ping's GetHash method fix 2015-06-09 17:22:31 +04:00
UdjinM6
19d9a65f8a add recent (tip - 12) block hash to mnping 2015-06-09 14:37:36 +03:00
Gavin Andresen
65b9454503
Use best header chain timestamps to detect partitioning
The partition checking code was using chainActive timestamps
to detect partitioning; with headers-first syncing, it should use
(and with this pull request, does use) pIndexBestHeader timestamps.

Fixes issue #6251
2015-06-08 16:34:58 -04:00
evan82
aa91dde992 Merge pull request #354 from UdjinM6/v0.12.0.x_merge_master
V0.12.0.x merge master
2015-06-07 18:50:37 -06:00
Andriy Voskoboinyk
0640a5eb60 Add an alternate location of endian.h header 2015-06-07 04:54:20 +03:00
evan82
cddd69ef40 Merge pull request #350 from UdjinM6/v0.12.0.x_budget
V0.12.0.x budget fixes/cleanups
2015-06-06 08:14:44 -06:00
Wladimir J. van der Laan
55294a9fb6
Merge pull request #6241
c946ebe fix util_tests.cpp clang warnings (Jonas Schnelli)
2015-06-06 11:31:55 +02:00
Jonas Schnelli
c946ebed5e fix util_tests.cpp clang warnings
was introduced with #6121
2015-06-06 10:12:12 +02:00
Wladimir J. van der Laan
7d8ffac186 Changes necessary now that zero values accepted in AmountFromValue
- Add an accept test for zero amounts, and a reject test for negative
  amounts
- Remove ugly hack in `settxfee` that is no longer necessary
- Do explicit zero checks in wallet RPC functions
- Don't add a check for zero amounts in `createrawtransaction` - this
  could be seen as a feature
2015-06-06 09:41:12 +02:00
Wladimir J. van der Laan
a04bdefbeb Get rid of fPlus argument to FormatMoney
It's never used with any other value than false, the default.
2015-06-06 09:30:41 +02:00
Wladimir J. van der Laan
4b4b9a8de6 Don't go through double in AmountFromValue and ValueFromAmount
My prime gripe with JSON spirit was that monetary values still had to be
converted from and to floating point which can cause deviations (see #3759
and https://bitcoin.stackexchange.com/questions/22716/bitcoind-sendfrom-round-amount-error).

As UniValue stores internal values as strings, this is no longer
necessary. This avoids risky double-to-integer and integer-to-double
conversions completely, and results in more elegant code to boot.
2015-06-06 09:30:41 +02:00
Peter Todd
076badb60f
Add getblockheader RPC call
Alternative to getblock that works even when the block itself has been
pruned, returning all available information.
2015-06-05 17:07:58 -02:30
Wladimir J. van der Laan
12cdbabc26
Merge pull request #6152
08d9373 Remove unused code from wallet and validation interface (Michael Ford)
2015-06-05 21:24:15 +02:00
Wladimir J. van der Laan
3fce72eaa3
Merge pull request #6206
a9ac95c use const references where appropriate (Philip Kaufmann)
2015-06-05 07:11:44 +02:00
Jonas Schnelli
ef5fca8b80 fix rpcmining/getblocktemplate univalue transition logic error 2015-06-04 21:40:11 +02:00
UdjinM6
d53968ea56 fix ix comments 2015-06-04 21:54:33 +03:00
Philip Kaufmann
a9ac95c1bc use const references where appropriate 2015-06-04 19:34:18 +02:00
Suhas Daftuar
3e9143386a Advance pindexLastCommonBlock for blocks in chainActive
This prevents an edge case where a block downloaded and pruned
in-between successive calls to FindNextBlocksToDownload could
cause the block to be unnecessarily re-requested.
2015-06-04 13:00:26 -04:00
UdjinM6
9e8d54124f Merge branch 'master' into v0.12.0.x_merge_master 2015-06-04 19:14:32 +03:00
evan82
34e808bfbd Merge pull request #348 from UdjinM6/v0.12.0.x_fix_unlock_null_collateral
V0.12.0.x fix unlock/setnull/collateraltx
2015-06-04 07:10:49 -07:00
evan82
1a9e34e18a Merge pull request #347 from UdjinM6/v0.12.0.x_ds_rand_denom
V0.12.0.x ds rand denom
2015-06-04 07:09:59 -07:00
Jonas Schnelli
44c7474446 univalue: add type check unit tests 2015-06-04 13:58:14 +02:00
Wladimir J. van der Laan
c02309204b univalue: add strict type checking 2015-06-04 13:18:57 +02:00
Wladimir J. van der Laan
7e98a3c642 util: Add ParseInt64 and ParseDouble functions
Strict parsing functions for other numeric types.

- ParseInt64 analogous to ParseInt32, but for 64-bit values.
- ParseDouble for doubles.
- Make all three Parse* functions more strict (e.g. reject whitespace on
  the inside)

Also add tests.
2015-06-04 13:18:46 +02:00
Wladimir J. van der Laan
043df2b568 Simplify RPCclient, adapt json_parse_error test
# Conflicts:
#	src/test/rpc_tests.cpp
2015-06-04 13:18:35 +02:00
Jonas Schnelli
519eedeba7 fix univalue json parse tests 2015-06-04 10:35:36 +02:00
Jonas Schnelli
c7fbbc7e1d fix missing univalue types during constructing 2015-06-04 09:16:21 +02:00
Jonas Schnelli
8f7e4abbe6 fix rpc batching univalue issue 2015-06-04 09:16:21 +02:00
Jonas Schnelli
9a8897f4ac Remove JSON Spirit wrapper, remove JSON Spirit leftovers
- implement find_value() function for UniValue
- replace all Array/Value/Object types with UniValues, remove JSON Spirit to UniValue wrapper
- remove JSON Spirit sources
2015-06-04 09:16:21 +02:00
Jonas Schnelli
3df0411ad9 remove JSON Spirit UniValue wrapper 2015-06-04 09:16:06 +02:00
Jonas Schnelli
1f263c899e fix rpc unit test, plain numbers are not JSON compatible object
UniValues read() does only read valid json.
2015-06-04 09:16:06 +02:00
Jonas Schnelli
e04d9c25cf univalue: correct bool support 2015-06-04 09:16:06 +02:00
Jonas Schnelli
0c5b2cf69a univalue: add support for real, fix percision and make it json_spirit compatible
- avoid breaking the API because of different number/percision handling
2015-06-04 09:16:06 +02:00
Jonas Schnelli
21c10de8c2 special threatment for null,true,false because they are non valid json 2015-06-04 09:16:06 +02:00
Jonas Schnelli
6c7bee0624 expicit set UniValue type to avoid empty values 2015-06-04 09:16:05 +02:00
Jonas Schnelli
53b4671a9d extend conversion to UniValue 2015-06-04 09:16:05 +02:00
Jeff Garzik
15982a8b69 Convert tree to using univalue. Eliminate all json_spirit uses. 2015-06-04 09:16:05 +02:00
Jeff Garzik
5e3060c0d1 UniValue: export NullUniValue global constant 2015-06-04 09:16:05 +02:00
Jeff Garzik
efc7883772 UniValue: prefer .size() to .count(), to harmonize w/ existing tree 2015-06-04 09:16:05 +02:00
Wladimir J. van der Laan
dbd8550231
Merge pull request #6220
d648236 bump version in clientversion.h (Philip Kaufmann)
2015-06-03 19:30:08 +02:00
Adam Weiss
c257a8c9a6 Prune: Support noncontiguous block files
In some corner cases, it may be possible for recent blocks to end up in
the same block file as much older blocks.  Previously, the pruning code
would stop looking for files to remove upon first encountering a file
containing a block that cannot be pruned, now it will keep looking for
candidate files until the target is met and all other criteria are
satisfied.

This can result in a noncontiguous set of block files (by number) on
disk, which is fine except for during some reindex corner cases, so
make reindex preparation smarter such that we keep the data we can
actually use and throw away the rest.  This allows pruning to work
correctly while downloading any blocks needed during the reindex.
2015-06-03 13:25:33 -04:00
UdjinM6
17d3df5300 fix CBudgetManager::FindProposal 2015-06-03 19:45:15 +03:00
UdjinM6
d335c1ebbe MOVE: group classes` implementation together; REMOVE: GetMasternodeBudgetEscrow (not used) 2015-06-03 19:10:11 +03:00
UdjinM6
6e0a64bc5d simplify few IFs 2015-06-03 18:42:37 +03:00
Suhas Daftuar
bfc30b3437 Ignore unrequested blocks too far ahead of tip 2015-06-03 11:36:04 -04:00
Wladimir J. van der Laan
9d60602444
Merge pull request #5875
aa8c827 P2P regression test for new AcceptBlock behavior (Suhas Daftuar)
9be0e68 Be stricter in processing unrequested blocks (Suhas Daftuar)
2015-06-03 16:20:58 +02:00
Wladimir J. van der Laan
181771b712
json: fail read_string if string contains trailing garbage
Change `read_string` to fail when not the entire input has been
consumed. This avoids unexpected, even dangerous behavior (fixes #6223).

The new JSON parser adapted in #6121 also solves this problem so in
master this is a temporary fix, but should be backported to older releases.

Also adds tests for the new behavior.

Github-Pull: #6226
Rebased-From: 4e157fc60d
2015-06-03 15:16:18 +02:00
Wladimir J. van der Laan
4e157fc60d json: fail read_string if string contains trailing garbage
Change `read_string` to fail when not the entire input has been
consumed. This avoids unexpected, even dangerous behavior (fixes #6223).

The new JSON parser adapted in #6121 also solves this problem so in
master this is a temporary fix, but should be backported to older releases.

Also adds tests for the new behavior.
2015-06-03 12:18:40 +02:00
Mark Friedenbach
efd44440d8 Explicitly set tx.nVersion for the genesis block and mining tests
If/when CTransaction::CURRENT_VERSION is incremented, this will break CChainParams and the miner tests. This fix sets the transaction version explicitly where we depend on the hash value (genesis block, proof of work checks).
2015-06-02 16:39:34 -07:00
UdjinM6
b8b3690a5c Merge pull request #349 from crowning-/Statusbar_Icons
Statusbar icons for testnet added
2015-06-03 00:55:36 +03:00
Suhas Daftuar
9be0e6837b Be stricter in processing unrequested blocks
AcceptBlock will no longer process an unrequested block, unless it has not
been previously processed and has more work than chainActive.Tip()
2015-06-02 13:54:29 -04:00
Philip Kaufmann
d648236d87 bump version in clientversion.h 2015-06-02 17:11:05 +02:00
Philip Kaufmann
51fc672f59 [Qt] disconnect peers from peers tab via context menu
- It is now allowed to disconnect peers from peers tab via
  right-click context menu. Peers are not permanently banned!
2015-06-02 09:34:35 +02:00
Luke Dashjr
ecc96f5ba9
Remove P2SH coinbase flag, no longer interesting
Github-Pull: #6203
Rebased-From: d449772cf6
2015-06-02 09:14:13 +02:00
Wladimir J. van der Laan
f00b62391b
Merge pull request #6203
d449772 Remove P2SH coinbase flag, no longer interesting (Luke Dashjr)
2015-06-02 09:11:13 +02:00
Wladimir J. van der Laan
88a7ead5de
Merge pull request #6172
a1ba077 Ignore getheaders requests when not synced. (Suhas Daftuar)
2015-06-02 07:56:02 +02:00
Evan Duffield
439679f5bc Finalized Budget Voting and Payment
- Added strBudgetMode with modes of "auto", "output-vin" and "suggest". Auto votes for what the masternode sees as the most popular proposals, output-vin is a delegation mode to another party and "suggest" sends a message to the network, suggesting the most popular proposals
2015-06-01 12:06:03 -07:00
Philip Kaufmann
eebd4cca19 [init] add -blockversion help and extend -upnp help 2015-06-01 14:38:44 +02:00
Wladimir J. van der Laan
87550eefc1
Merge pull request #6183
28bf062 Fix off-by-one error w/ nLockTime in the wallet (Peter Todd)
2015-06-01 11:33:33 +02:00
Wladimir J. van der Laan
8d05ec7bda
Merge pull request #6164
aa41bc8 Update help message to match the #4219 change (lpescher)
f60bb5e Update documentation to match the #4219 change (lpescher)
cb87386 Make command line option to show all debugging consistent with similar options (lpescher)
2015-06-01 11:26:59 +02:00
Wladimir J. van der Laan
4f1677b6ba
Merge pull request #6198
0bb4385 Improve comment explaining purpose of MAX_MONEY constant (Peter Todd)
2015-06-01 11:25:59 +02:00
crowning-
859d523a46 Statusbar_Icons: makefile for Gitian fixed 2015-06-01 10:27:46 +02:00
crowning-
8f695a03c1 Statusbar icons for tDASH added 2015-06-01 09:55:07 +02:00
Wladimir J. van der Laan
e9d0d252fc
Merge pull request #6208
d6922aa [net, trivial] remove using namespace std pollution in netbase.cpp (Philip Kaufmann)
49b2292 [net, trivial] explicitly use std::string for FindNode (Philip Kaufmann)
2015-06-01 09:53:45 +02:00
Wladimir J. van der Laan
42746b0476
Merge pull request #6193
6e71efa [REST] remove json input for getutxos, limit to query max. 15 outpoints (Jonas Schnelli)
64b8027 rest.cpp: strip whitespace (Jonas Schnelli)
2015-06-01 09:48:17 +02:00
Wladimir J. van der Laan
921ea89bc3
Merge pull request #6195
8273793 Eliminate compiler warning due to unused variable (Suhas Daftuar)
2015-06-01 08:49:47 +02:00
Philip Kaufmann
d6922aad2c [net, trivial] remove using namespace std pollution in netbase.cpp 2015-05-31 15:48:23 +02:00
Philip Kaufmann
49b22928ee [net, trivial] explicitly use std::string for FindNode
- in OpenNetworkConnection we have a FindNode call, which gets a const
  char*, wheras we only have defined a FindNode for std::string
2015-05-31 15:44:22 +02:00
Luke Dashjr
d449772cf6 Remove P2SH coinbase flag, no longer interesting 2015-05-31 06:53:48 +00:00
Evan Duffield
a93ceed090 Finalized Budget Changes
- Finalized budgets now pass proposal hash, payee and amount. This keeps them completely separate from the proposal system to aid in consensus.
- Added status messages for badly formed finalized budgets (probably attacks). If users see messages like this they should check the proposals to see if something is wrong with them before voting.
2015-05-30 13:12:12 -07:00
Evan Duffield
c4b1156206 Merge branch 'v0.12.0.x' of https://github.com/dashpay/dash into v0.12.0.x 2015-05-30 10:30:01 -07:00
Evan Duffield
eaf7b940a6 Complete rewrite of consensus code for mn/budget payments
- Added FindProposal and FindFinalBudget to budgeting class
- Added 2 new sporks for Proposals and Budget payment enforcement. This is outside of the decentralized code so we can turn it off if there's a problem.
- Detect budget blocks and pay correct amounts in super blocks
2015-05-30 10:27:51 -07:00
UdjinM6
543256c3e8 - fix issues with locking coins and not unlocking them properly (mostly on failures)
- more SetNull calls on failures
- move collateral tx reset out of SetNull and redo verification/renewal on doAuto in one single place (should prevent fast keypool exhausting on failures)
- move lastNewBlock from SetNull to Reset
2015-05-30 07:44:56 +03:00
crowning-
e01fefa6c4 Dash copyright year fixed 2015-05-30 05:13:09 +02:00
UdjinM6
4292d4d87d - Randomize denoms calculated ot of vecAmounts. Should help to find partners faster/more often and maybe slightly improve anonymity also.
- sessionTotal doesn't makes sense anymore, get rid of it.
- GetDenominationsByAmount cleaned but it is not used anywhere else so maybe it should be removed too (placed a comment there but didn't remove it yet).
2015-05-30 05:59:31 +03:00
UdjinM6
04f9fb043f Merge pull request #342 from crowning-/Wallet_Repair
Wallet Repair Buttons
2015-05-29 11:26:03 +03:00
crowning-
d953b23061 Wallet Repair Buttons: statustip changed 2015-05-29 08:18:33 +02:00
crowning-
4574218349 Wallet Repair Buttons: removed obsolete comment 2015-05-28 23:14:09 +02:00
crowning-
a4dce4340a Wallet Repair Buttons: refactoring and remove old repair args before restart 2015-05-28 23:09:14 +02:00
Evan Duffield
bd4a7f2fad Masternode payment consensus via quorums
- Payees are chosen by their last payment, if no payment it's based on their hash
- Fixed a few issues with counting quorum votes
2015-05-28 10:45:31 -07:00
Jonas Schnelli
7e6569ea5b [squashme] improve/corrects prune mode detection test for required wallet rescans 2015-05-28 09:00:45 +02:00
Jonas Schnelli
7a12119d7a [RPC] disable import functions in pruned mode
import functions could lead to a rescan beyond prune level
2015-05-28 09:00:45 +02:00
Jonas Schnelli
3201035f22 [autoprune] allow wallet in pruned mode 2015-05-28 09:00:45 +02:00
Peter Todd
0bb43854c7
Improve comment explaining purpose of MAX_MONEY constant 2015-05-27 21:02:04 -04:00
Evan Duffield
d470eddc01 fixed hashing issues with mnw messages 2015-05-27 15:07:53 -07:00
Mark Friedenbach
ef8dfe41d1 Prevent block.nTime from decreasing
Under some circumstances it is possible for there to be a significant,
discontinuous jump in a node's clock value. On mining nodes, this can
result in block templates which are no longer valid due to time-based
nLockTime constraints. UpdateTime() is modified so that it will never
decrease a block's nLockTime, thereby preventing such invalidations.
2015-05-27 14:03:11 -07:00
crowning-
6f49808caa Wallet Repair Buttons: refactoring to remove redundant code 2015-05-27 22:35:46 +02:00
Evan Duffield
fe55b12a1f added improvements for finding next masternode to get paid 2015-05-27 12:47:01 -07:00
Jonas Schnelli
6e71efa9f0 [REST] remove json input for getutxos, limit to query max. 15 outpoints
Remove possibility to send json encoded parameters to `/rest/getutxos/` to avoid possible DoS scenarios.

The JSON output option is untouched.
2015-05-27 20:10:02 +02:00
Evan Duffield
66dcf6bbc7 cleaned up naming of budget functions 2015-05-27 10:11:00 -07:00
Suhas Daftuar
8273793350 Eliminate compiler warning due to unused variable 2015-05-27 13:04:59 -04:00
Evan Duffield
41eb74dc82 Stable budget implementation
- All budgeting code seems to be rather stable now. Serialization/caching is working rather well.
- Fixed some ambiguous variable names within the budgeting system that were causing the file caching to not work all of the time
2015-05-27 09:28:55 -07:00
Suhas Daftuar
a1ba0778dd Ignore getheaders requests when not synced. 2015-05-27 10:36:04 -04:00
Jorge Timón
e69734309c Chainparams: Explicit CMessageHeader::MessageStartChars to functions in main:
-UndoWriteToDisk
-WriteBlockToDisk
2015-05-27 16:01:07 +02:00
Wladimir J. van der Laan
c7c9af381c
Merge pull request #5669
da29ecb Consensus: MOVEONLY: Move CValidationState from main consensus/validation (jtimon)
27afcd8 Consensus: Refactor: Decouple CValidationState from main::AbortNode() (Cory Fields)
2015-05-27 15:00:02 +02:00
Peter Todd
28bf06236d
Fix off-by-one error w/ nLockTime in the wallet
Previously due to an off-by-one error the wallet ignored
nLockTime-by-height transactions that would be valid in the next block
even though they are accepted into the mempool. The transactions
wouldn't show up until confirmed, nor would they be included in the
unconfirmed balance. Similar to the mempool behavior fix in 665bdd3b,
the wallet code was calling IsFinalTx() directly without taking into
account the fact that doing so tells you if the transaction could have
been mined in the *current* block, rather than the next block.

To fix this we strip IsFinalTx() of non-consensus-critical
functionality, removing the default arguments, and add CheckFinalTx() to
check if a transaction will be final in the next block.
2015-05-27 05:51:33 -04:00
Jonas Schnelli
64b8027c5c rest.cpp: strip whitespace 2015-05-27 09:41:14 +02:00
Wladimir J. van der Laan
ebd7d8d78c
Parameter interaction: disable upnp if -proxy set
To protect privacy, do not use UPNP when a proxy is set. The user may
still specify -listen=1 to listen locally (for a hidden service), so
don't rely on this happening through -listen.

Fixes #2927.

Conflicts:
	src/init.cpp

Rebased-From: 8c35b6f3be
Github-Pull: #6153
2015-05-27 09:35:40 +02:00
Wladimir J. van der Laan
0bcf04f046
Merge pull request #6153
8c35b6f Parameter interaction: disable upnp if -proxy set (Wladimir J. van der Laan)
2015-05-27 09:33:01 +02:00
Wladimir J. van der Laan
ae3d8f371a
Fix two problems in CSubNet parsing
Fix two CSubNet constructor problems:

- The use of `/x` where 8 does not divide x was broken, due to a
  bit-order issue

- The use of e.g. `1.2.3.4/24` where the netmasked bits in the network
  are not 0 was broken. Fix this by explicitly normalizing the netwok
  according to the bitmask.

Also add tests for these cases.

Fixes #6179. Thanks to @jonasschnelli for reporting and initial fix.

Rebased-From: b45c50ce51
Github-Pull: #6186
2015-05-27 09:11:27 +02:00
Wladimir J. van der Laan
e4a7d51537
Simplify code for CSubnet
Simplify the code by using CAddress.ip directly, instead of the reversed
GetByte() semantics.

Rebased-From: 19e8d7be42
Github-Pull: #6186
2015-05-27 09:10:56 +02:00
Wladimir J. van der Laan
182686cdbd
Merge pull request #6186
b45c50c Fix two problems in CSubNet parsing (Wladimir J. van der Laan)
19e8d7b Simplify code for CSubnet (Wladimir J. van der Laan)
2015-05-27 09:08:39 +02:00
crowning-
e68350d372 Wallet Repair Buttons (possible segfault on OSX fixed) 2015-05-26 23:09:16 +02:00
Evan Duffield
efe377fa69 tie budget system to masternode payment system 2015-05-26 07:56:51 -07:00
Wladimir J. van der Laan
165e323d85 qt: Periodic translation update 2015-05-26 14:36:47 +02:00
Wladimir J. van der Laan
9f7809f6c3
Merge pull request #5976
8ba7f84 Reduce download timeouts as blocks arrive (Suhas Daftuar)
2015-05-26 13:02:40 +02:00
Michael Ford
8697ff33ed Remove duplicate chainparams.h include from alert_tests 2015-05-26 17:16:21 +08:00
Wladimir J. van der Laan
e9af4e65b5
Merge pull request #5947
36cba8f Alert if it is very likely we are getting a bad chain (Gavin Andresen)
2015-05-26 10:41:17 +02:00
Wladimir J. van der Laan
b45c50ce51 Fix two problems in CSubNet parsing
Fix two CSubNet constructor problems:

- The use of `/x` where 8 does not divide x was broken, due to a
  bit-order issue

- The use of e.g. `1.2.3.4/24` where the netmasked bits in the network
  are not 0 was broken. Fix this by explicitly normalizing the netwok
  according to the bitmask.

Also add tests for these cases.

Fixes #6179. Thanks to @jonasschnelli for reporting and initial fix.
2015-05-26 08:59:59 +02:00
Wladimir J. van der Laan
19e8d7be42 Simplify code for CSubnet
Simplify the code by using CAddress.ip directly, instead of the reversed
GetByte() semantics.
2015-05-26 08:59:13 +02:00
crowning-
3ab747d8ff Wallet Repair Buttons added 2015-05-25 22:59:38 +02:00
crowning-
9a6fe03974 Wallet Repair Buttons: initial commit (+ file permissions restored) 2015-05-25 18:29:11 +02:00
Wladimir J. van der Laan
e1412d3e96
Merge pull request #6159
ffdda4e Catch errors on datadir lock and pidfile delete (Adam Weiss)
2015-05-24 10:57:22 +02:00
crowning-
8c4175b359 Wallet Repair Buttons: initial commit 2015-05-23 13:28:33 +02:00
Adam Weiss
ffdda4e8a7 Catch errors on datadir lock and pidfile delete
Prevents bad permissions (or other fs related problems) from resulting
in hard crashes with cryptic messages on startup and shutdown.
2015-05-22 14:15:22 -04:00
Wladimir J. van der Laan
7708fcde36
Merge pull request #6098
cc24610 Update Windows resource files (and add one for bitcoin-tx) (Luke Dashjr)
2015-05-22 08:35:38 +02:00
Luke Dashjr
cc24610fdb Update Windows resource files (and add one for bitcoin-tx) 2015-05-22 02:56:55 +00:00
Wladimir J. van der Laan
bdcf5dea7c Fix intermittent hang issue in scheduler_tests
Don't clear `stopRequested` and `stopWhenEmpty` at the top of
`serviceQueue`, as this results in a race condition: on systems under
heavy load, some of the threads only get scheduled on the CPU when the
other threads have already finished their work. This causes the flags to
be cleared post-hoc and thus those threads to wait forever.

The potential drawback of this change is that the scheduler cannot be
restarted after being stopped (an explicit reset would be needed), but
we don't use this functionality anyway.
2015-05-21 19:07:10 +02:00
evan82
b616fb8ef0 Merge pull request #338 from UdjinM6/lock_masternodes
Lock masternodes from masternode configuration file
2015-05-20 16:06:49 -07:00
evan82
9e5542ac45 Merge pull request #337 from UdjinM6/ds_coin_control
CoinControl should disable DS when non-anonymized inputs are selected
2015-05-20 16:06:38 -07:00
evan82
de562d89f7 Merge pull request #333 from UdjinM6/v0.12.0.x_update_mainnet_lastcheckpoint_data
V0.12.0.x update mainnet lastcheckpoint data
2015-05-20 16:06:08 -07:00
UdjinM6
472d2a21d6 fix tooltip background 2015-05-20 23:09:31 +03:00
UdjinM6
5a8b8538e3 Lock masternodes from masternode configuration file 2015-05-20 20:21:44 +03:00
Wladimir J. van der Laan
0d862c2739
Merge pull request #6160
16d9cb7 [QT] overviewpage: make sure warning icons gets colored (Jonas Schnelli)
2015-05-20 13:21:01 +02:00
crowning-
34a205b9a6 Fix tooltip background for OSX 2015-05-20 09:05:46 +02:00
lpescher
aa41bc84b1 Update help message to match the #4219 change 2015-05-19 22:35:11 -06:00
lpescher
cb87386241 Make command line option to show all debugging consistent with similar options
Most people expect a value of 1 to enable all for command line arguments.
However to do this for the -debug option you must type "-debug=".
This has been changed to allow "-debug=1" as well as "-debug=" to
enable all debug logging
2015-05-19 22:14:35 -06:00
UdjinM6
06032be332 unset DS checkbox if there were non-anonymized inputs selected in coincontrol, give warning 2015-05-20 00:10:52 +03:00
Jonas Schnelli
fb21862b92 [QT] mainwindow toolbar must not be movable 2015-05-19 20:28:20 +02:00
Jonas Schnelli
16d9cb7e29 [QT] overviewpage: make sure warning icons gets colored 2015-05-19 16:37:13 +02:00
Wladimir J. van der Laan
377711ff3f
Merge pull request #5996
935bd0a Chainparams: Refactor: Decouple main::GetBlockValue() from Params() [renamed GetBlockSubsidy] (Jorge Timón)
2015-05-19 11:42:47 +02:00
Wladimir J. van der Laan
e2e7f9513f
qt: fix unused function warning in scicon.cpp
Enclose MakeSingleColorImage in an anonymous namespace to avoid a
unused function warning on Windows and MacOSX.

Github-Pull: #6143
2015-05-19 11:27:54 +02:00
Wladimir J. van der Laan
8c35b6f3be Parameter interaction: disable upnp if -proxy set
To protect privacy, do not use UPNP when a proxy is set. The user may
still specify -listen=1 to listen locally (for a hidden service), so
don't rely on this happening through -listen.

Fixes #2927.
2015-05-18 11:22:39 +02:00
Michael Ford
08d9373e2f Remove unused code from wallet and validation interface
Fixes #6109
2015-05-18 17:11:06 +08:00
Alex Morcos
2457dc43ac Change default nTxConfirmTarget to 2 2015-05-18 09:01:30 +02:00
Wladimir J. van der Laan
77ed59df4d wallet: Introduce constant for -txconfirmtarget default 2015-05-18 09:00:24 +02:00
Wladimir J. van der Laan
a6d2e31e8b
Merge pull request #6144
881027a Remove assertion from ~LockedPageManager (Wladimir J. van der Laan)
2015-05-18 07:53:09 +02:00
crowning-
eea3317755 Use existing constant instead of hardcoded size value 2015-05-17 21:21:43 +02:00
crowning-
2154f94131 Open peers information page when clicking on connections item 2015-05-17 20:56:00 +02:00
crowning-
32c6068ce9 Merge remote-tracking branch 'upstream/v0.12.0.x' into v0.12.0.x 2015-05-17 16:37:59 +02:00
UdjinM6
5cb819c3f8 Merge pull request #332 from UdjinM6/v0.12.0.x_fix_mnpayment_bugs
V0.12.0.x fix 2 masternode payments bugs
2015-05-17 17:26:12 +03:00
crowning-
dd76a079dd Tooltips for Coincontrol-Dialog added 2015-05-17 14:12:01 +02:00
Gavin Andresen
3c60937ce6
Merge pull request #6146
f501054 More robust CScheduler unit test (Gavin Andresen)
2015-05-16 18:03:26 -04:00
Gavin Andresen
f50105486f
More robust CScheduler unit test
On a busy or slow system, the CScheduler unit test could fail because it
assumed all threads would be done after a couple of milliseconds.

Replace the hard-coded sleep with CScheduler stop() method that
will cleanly exit the servicing threads when all tasks are completely
finished.
2015-05-16 17:59:23 -04:00
Wladimir J. van der Laan
ec82d8c99c
Merge pull request #6062
ff7fe8b Fix for correctly including climits on certain platforms {DragonFlyBSD}. (sinetek)
2015-05-16 10:48:49 +02:00
Wladimir J. van der Laan
97ccfdca8a
Merge pull request #6137
a5baba5 minor: remove unneeded bool in CWalletDB::Recover (Philip Kaufmann)
2015-05-16 09:37:01 +02:00
UdjinM6
a4a72d6fa0 Update last checkpoint data for mainnet - should give more accurate verification progress 2015-05-16 06:04:33 +03:00
UdjinM6
397654ef76 fix masternode payments bugs 2015-05-16 05:53:53 +03:00
UdjinM6
18c60f9ecb Merge branch 'master' into v0.12.0.x_merge_btc010_master (fix spaces) 2015-05-16 02:34:25 +03:00
UdjinM6
e50d9bbc5d Merge branch '0.10' into v0.12.0.x_merge_btc010 2015-05-16 00:05:57 +03:00
crowning-
af08fbf0c9 Merge remote-tracking branch 'upstream/v0.12.0.x' into v0.12.0.x 2015-05-15 20:23:20 +02:00
Wladimir J. van der Laan
2a822987dd
Merge pull request #6129
c208040 Fix for clearing fCheckForPruning (Alex Morcos)
2015-05-15 17:32:54 +02:00
Jorge Timón
935bd0a447 Chainparams: Refactor: Decouple main::GetBlockValue() from Params() [renamed GetBlockSubsidy]
Remove redundant getter CChainParams::SubsidyHalvingInterval()
2015-05-15 16:12:30 +02:00
jtimon
da29ecbcc6 Consensus: MOVEONLY: Move CValidationState from main consensus/validation 2015-05-15 16:05:28 +02:00
Cory Fields
27afcd89db Consensus: Refactor: Decouple CValidationState from main::AbortNode() 2015-05-15 16:05:26 +02:00
Wladimir J. van der Laan
ac75bafafd
qt: translations update 2015-05-15 14:00:56 +02:00
Wladimir J. van der Laan
e47c94e64c
Merge pull request #6135
f13dac9 Comment edits and cleanup (BitcoinPRReadingGroup)
ff734e9 Alphabetic order in makefile (Jorge Timón)
5207f33 fix header include groups (Philip Kaufmann)
59b149f remove unneeded incude of wallet/db.h from rpcmining.cpp (Philip Kaufmann)
3703385 remove unused classes from db.h (Philip Kaufmann)
0a7bcb7 fix IDE/compiler warning "extra ';'" in validationinterface.h (Philip Kaufmann)
3b00e7c [Trivial] Update COPYING (sandakersmann)
dd9e688 Trivial: Corrected owner of DNS seeder (ayeowch)
a60bfd8 [init] better message when no wallet support is compiled in (Philip Kaufmann)
78f44b6 Capitalized P2P (sandakersmann)
8e9248d [Trivial] Cryptocurrency is one word (sandakersmann)
803f51e Typo in GetRawMemPool RPC method help: "]" --> "}" (Chris Arnesen)
605a735 addrman: update comments (Pavel Vasin)
2015-05-15 13:59:07 +02:00
Alex Morcos
c208040354 Fix for clearing fCheckForPruning
Previously this was cleared only after UnlinkPrunedFiles, but it should really be cleared after FindFilesToPrune, regardless of whether there are any files to be pruned.
2015-05-15 07:58:41 -04:00
Wladimir J. van der Laan
f0043c2d6d
Merge pull request #5968
51aa249 Chainparams: Refactor: Decouple IsSuperMajority from Params() (Jorge Timón)
2015-05-15 13:52:54 +02:00
Wladimir J. van der Laan
6fb90d8983
Merge pull request #6102
86a5f4b Relocate calls to CheckDiskSpace (Alex Morcos)
67708ac Write block index more frequently than cache flushes (Pieter Wuille)
b3ed423 Cache tweak and logging improvements (Pieter Wuille)
fc684ad Use accurate memory for flushing decisions (Pieter Wuille)
046392d Keep track of memory usage in CCoinsViewCache (Pieter Wuille)
540629c Add memusage.h (Pieter Wuille)
2015-05-15 13:43:02 +02:00
Wladimir J. van der Laan
63e7016566
Merge pull request #6140
8f0947b Increase timeouts in pruning.py and modify warning language. (Alex Morcos)
b89f307 Fix incorrect variable name in FindFilesToPrune (Suhas Daftuar)
2015-05-15 13:37:31 +02:00
Wladimir J. van der Laan
881027a79d Remove assertion from ~LockedPageManager
This assertion will occur any time that the client quits without
shutting down properly due to an error condition. As the user will
report this error instead of the error that was the root cause, it is
better to remove it.
2015-05-15 11:44:58 +02:00
Evan Duffield
66ac44651e Merge branch 'v0.12.0.x' of https://github.com/darkcoinproject/darkcoin into v0.12.0.x 2015-05-14 18:04:43 -07:00
Evan Duffield
40149c4e41 Budgeting Software / Reference Node Removal
- Added commands for using budgets "mnbudget" and "mnfinalbudget"
- Supports 100% decentralized budget control and view-only site with json meta data object
2015-05-14 18:01:15 -07:00
Gavin Andresen
36cba8f118
Alert if it is very likely we are getting a bad chain
Create a monitoring task that counts how many blocks have been found in the last four hours.

If very few or too many have been found, an alert is triggered.

"Very few" and "too many" are set based on a false positive rate of once every fifty years of constant running with constant hashing power, which works out to getting 5 or fewer or 48 or more blocks in four hours (instead of the average of 24).

Only one alert per day is triggered, so if you get disconnected from the network (or are being Sybil'ed) -alertnotify will be triggered after 3.5 hours but you won't get another -alertnotify for 24 hours.

Tested with a new unit test and by running on the main network with -debug=partitioncheck

Run test/test_bitcoin --log_level=message to see the alert messages:
    WARNING: check your network connection, 3 blocks received in the last 4 hours (24 expected)
    WARNING: abnormally high number of blocks generated, 60 blocks received in the last 4 hours (24 expected)

The -debug=partitioncheck debug.log messages look like:
    ThreadPartitionCheck : Found 22 blocks in the last 4 hours
    ThreadPartitionCheck : likelihood: 0.0777702
2015-05-14 14:58:44 -04:00
Gavin Andresen
b4c219b622
Merge pull request #5964
9a1dcea Use CScheduler for net's DumpAddresses (Gavin Andresen)
ddd0acd Create a scheduler thread for lightweight tasks (Gavin Andresen)
68d370b CScheduler unit test (Gavin Andresen)
cfefe5b scheduler: fix with boost <= 1.50 (Cory Fields)
ca66717 build: make libboost_chrono mandatory (Cory Fields)
928b950 CScheduler class for lightweight task scheduling (Gavin Andresen)
e656560 [Qt] add defaultConfirmTarget constant to sendcoinsdialog (Philip Kaufmann)
2015-05-14 14:27:07 -04:00
Gavin Andresen
9a1dcea2df
Use CScheduler for net's DumpAddresses
Instead of starting Yet Another Thread to dump addresses,
use CScheduler to do it.
2015-05-14 12:50:42 -04:00
Gavin Andresen
ddd0acd3db
Create a scheduler thread for lightweight tasks 2015-05-14 12:50:41 -04:00
Gavin Andresen
68d370bec4
CScheduler unit test 2015-05-14 12:50:41 -04:00
Cory Fields
cfefe5b88c
scheduler: fix with boost <= 1.50 2015-05-14 10:37:19 -04:00
Gavin Andresen
928b950e3b
CScheduler class for lightweight task scheduling
Simple class to manage a task queue that is serviced by one or
more threads.
2015-05-14 10:37:19 -04:00
Philip Kaufmann
e656560edb
[Qt] add defaultConfirmTarget constant to sendcoinsdialog
- replaces some hard-coded values for the default confirmation target
- also simplify code that is using the new constant
2015-05-14 10:37:19 -04:00
Philip Kaufmann
a5baba52c5 minor: remove unneeded bool in CWalletDB::Recover 2015-05-14 15:55:17 +02:00
Wladimir J. van der Laan
a538126a8c
Merge pull request #6110
ca5f688 [QT] don't colorize icons on win and mac (Jonas Schnelli)
7247d10 [QT] use alert icon with tooltip insted of "(out of sync)" text (Jonas Schnelli)
51c7c70 [QT] remove frame to avoid double-frame situation in sendcoinsentry.ui (Jonas Schnelli)
2a6b844 [QT] change transaction amount and height in overview page (Jonas Schnelli)
2015-05-14 13:50:46 +02:00
crowning-
e9a8b99694 Show sum of selected transactions: mouse + key selection added, some general cleanup 2015-05-14 08:31:40 +02:00
BitcoinPRReadingGroup
f13dac972c Comment edits and cleanup
Original PR here: https://github.com/bitcoin/bitcoin/pull/6044
2015-05-14 01:02:01 -04:00
Jorge Timón
ff734e905f Alphabetic order in makefile 2015-05-14 01:02:01 -04:00
Philip Kaufmann
5207f33f45 fix header include groups 2015-05-14 01:02:01 -04:00
Philip Kaufmann
59b149ff82 remove unneeded incude of wallet/db.h from rpcmining.cpp 2015-05-14 01:02:01 -04:00
Philip Kaufmann
3703385547 remove unused classes from db.h 2015-05-14 01:02:00 -04:00
Philip Kaufmann
0a7bcb7e55 fix IDE/compiler warning "extra ';'" in validationinterface.h 2015-05-14 01:02:00 -04:00
ayeowch
dd9e688b3b Trivial: Corrected owner of DNS seeder 2015-05-14 01:02:00 -04:00
Philip Kaufmann
a60bfd810f [init] better message when no wallet support is compiled in 2015-05-14 01:02:00 -04:00
Chris Arnesen
803f51efe4 Typo in GetRawMemPool RPC method help: "]" --> "}" 2015-05-14 01:02:00 -04:00
Pavel Vasin
605a735425 addrman: update comments
nUnkBias was removed in https://github.com/bitcoin/bitcoin/pull/5941
2015-05-14 01:02:00 -04:00
Pieter Wuille
dce8360e44 Reduce checkpoints' effect on consensus.
Instead of only checking height to decide whether to disable script checks,
actually check whether a block is an ancestor of a checkpoint, up to which
headers have been validated. This means that we don't have to prevent
accepting a side branch anymore - it will be safe, just less fast to
do.

We still need to prevent being fed a multitude of low-difficulty headers
filling up our memory. The mechanism for that is unchanged for now: once
a checkpoint is reached with headers, no headers chain branching off before
that point are allowed anymore.
2015-05-13 12:52:57 -07:00
Gavin Andresen
351f73ecd5
Merge pull request #6125
472b4c5 Clean up parsing of bool command line args (Alex Morcos)
2015-05-13 15:15:33 -04:00
Suhas Daftuar
b89f30775d Fix incorrect variable name in FindFilesToPrune 2015-05-13 14:58:55 -04:00
Jonas Schnelli
ca5f688547 [QT] don't colorize icons on win and mac 2015-05-13 20:27:26 +02:00
Wladimir J. van der Laan
2cc1372190
Merge pull request #5159
b649e03 Create new BlockPolicyEstimator for fee estimates (Alex Morcos)
2015-05-13 17:10:02 +02:00
Alex Morcos
b649e03954 Create new BlockPolicyEstimator for fee estimates
This class groups transactions that have been confirmed in blocks into buckets, based on either their fee or their priority.  Then for each bucket, the class calculates what percentage of the transactions were confirmed within various numbers of blocks.  It does this by keeping an exponentially decaying moving history for each bucket and confirm block count of the percentage of transactions in that bucket that were confirmed within that number of blocks.

-Eliminate txs which didn't have all inputs available at entry from fee/pri calcs

-Add dynamic breakpoints and tracking of confirmation delays in mempool transactions

-Remove old CMinerPolicyEstimator and CBlockAverage code

-New smartfees.py

-Pass a flag to the estimation code, using IsInitialBlockDownload as a proxy for when we are still catching up and we shouldn't be counting how many blocks it takes for transactions to be included.

-Add a policyestimator unit test
2015-05-13 10:36:24 -04:00
Alex Morcos
472b4c5dda Clean up parsing of bool command line args 2015-05-12 16:41:55 -04:00
Alex Morcos
86a5f4b54e Relocate calls to CheckDiskSpace
Make sure we're checking disk space for block index writes and allow for pruning to happen before chainstate writes.
2015-05-12 21:44:56 +02:00
Jonas Schnelli
7247d103ff [QT] use alert icon with tooltip insted of "(out of sync)" text
# Conflicts:
#	src/qt/forms/overviewpage.ui
#	src/qt/overviewpage.cpp
2015-05-12 20:46:12 +02:00
Jonas Schnelli
51c7c7029e [QT] remove frame to avoid double-frame situation in sendcoinsentry.ui 2015-05-12 20:46:10 +02:00
Alex Morcos
14d4eef799 Fix removing of orphan transactions
We don't want to erase orphans that still have missing inputs, they should still be tracked as orphans.  Also, the transaction thats being accepted can't be an orphan otherwise it would have previously been accepted, so doesn't need to be added to the erase queue.
2015-05-12 12:02:38 -04:00
Gregory Maxwell
da656068ec
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.

Github-Pull: #6123
Rebased-From: bba7c24929
2015-05-12 16:38:04 +02:00
Wladimir J. van der Laan
484821870b
Merge pull request #6123
bba7c24 Avoid crash on start in TestBlockValidity with gen=1. (Gregory Maxwell)
2015-05-12 16:37:19 +02:00
Wladimir J. van der Laan
49e4d14f75
Translations update 2015-05-12 16:33:04 +02:00
Wladimir J. van der Laan
d7e7727658
Preparations for 0.10.2 release 2015-05-12 16:23:53 +02:00
Wladimir J. van der Laan
40de49c358
Merge pull request #5932
107d35b [Qt] add defaultConfirmTarget constant to sendcoinsdialog (Philip Kaufmann)
2015-05-12 14:38:00 +02:00
Gregory Maxwell
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
Pieter Wuille
67708acff9 Write block index more frequently than cache flushes 2015-05-11 17:58:14 -07:00
Pieter Wuille
b3ed4236be Cache tweak and logging improvements 2015-05-11 17:58:14 -07:00
Pieter Wuille
fc684ad8af Use accurate memory for flushing decisions 2015-05-11 17:57:27 -07:00
Pieter Wuille
046392dc1d Keep track of memory usage in CCoinsViewCache 2015-05-11 17:56:48 -07:00
Pieter Wuille
540629c6fb Add memusage.h 2015-05-11 17:56:48 -07:00
Wladimir J. van der Laan
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
Jonas Schnelli
03c56872b5 appropriate response when trying to get a block in pruned mode 2015-05-11 16:10:08 +02:00
Jonas Schnelli
424ae6629b
don't imbue boost::filesystem::path with locale "C" on windows
fixes https://github.com/bitcoin/bitcoin/issues/6078

Github-Pull: #6093
Rebased-From: b3ffcdf916 3da7849007
2015-05-10 14:26:22 +02:00
Wladimir J. van der Laan
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
Jonas Schnelli
3da7849007 [squashme] simplify SetupEnvironment() (by dexX7) 2015-05-10 10:06:41 +02:00
crowning-
575ddb3eca Show sum of all selected transactions in 'Transactions' tab. (Own ToDo marker removed) 2015-05-10 01:30:45 +02:00
crowning-
40f742c6be Show sum of all selected transactions in 'Transactions' tab. (typo + file permission fix) 2015-05-10 01:28:03 +02:00
crowning-
3a6466bced Show sum of all selected transactions in 'Transactions' tab. 2015-05-10 01:22:35 +02:00
Peter Todd
48e9c57cf0 Move LOCKTIME_THRESHOLD to src/script/script.h
Will now be needed by CHECKLOCKTIMEVERIFY code.
2015-05-09 04:33:49 -04:00
Peter Todd
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
UdjinM6
4a107035c7 fix boost::get build error 2015-05-09 00:06:07 +03:00
Jonas Schnelli
a1d0ec44d7 re-add -reindex help message
was suddenly removed with fc44231cb7 (probably not by purpose)
2015-05-08 19:59:01 +02:00
UdjinM6
4c6b9e8969 use tooltip for submited denoms 2015-05-08 17:35:15 +03:00
Wladimir J. van der Laan
fec5c0ea05
Merge pull request #6112
1c54757 Add more script edge condition tests. (Dave Collins)
2015-05-07 18:07:50 +02:00
Cory Fields
824c011d16 wallet: fix boost::get usage with boost 1.58
Backport from master
2015-05-06 16:52:46 -04:00
Evan Duffield
e7557f2baf make masternode votes last 30 days 2015-05-06 13:15:44 -07:00
Wladimir J. van der Laan
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
Cory Fields
a574899671 chaincodes: abstract away more chaincode behavior
[squashme] replace struct CCainCode with a typedef uint256 ChainCode
2015-05-06 17:22:46 +02:00
Dave Collins
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
Wladimir J. van der Laan
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
Jonas Schnelli
2a6b844427 [QT] change transaction amount and height in overview page 2015-05-06 16:47:29 +02:00
Jorge Timón
51aa24927e Chainparams: Refactor: Decouple IsSuperMajority from Params() 2015-05-06 16:39:15 +02:00
Wladimir J. van der Laan
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
Wladimir J. van der Laan
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
Wladimir J. van der Laan
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
Wladimir J. van der Laan
31c0bf1c46
Merge pull request #6080
1a0259f add jonasschnellis dns seeder (Jonas Schnelli)
2015-05-05 18:56:48 +02:00
dexX7
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
Wladimir J. van der Laan
12f78ed4f9
qt: update translations from Transifex - first run for 0.11 2015-05-05 08:48:54 +02:00
Wladimir J. van der Laan
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
Wladimir J. van der Laan
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
Pieter Wuille
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
Wladimir J. van der Laan
ebc0e41ede
qt: translation update for next 0.10 point release 2015-05-04 13:12:30 +02:00
Wladimir J. van der Laan
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
Wladimir J. van der Laan
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
Evan Duffield
c6233880c3 draft 2015-05-04 03:05:08 -07:00
Evan Duffield
160eec6e30 merged 2015-05-04 02:36:23 -07:00
Evan Duffield
f38b8e9572 draft 2015-05-04 02:31:31 -07:00
Wladimir J. van der Laan
7f5d7e9d6d
Merge pull request #6086
d3c09ba Trivial: useless cast (ptime)(I'm ptime) (svost)
2015-05-04 09:30:04 +02:00
Wladimir J. van der Laan
20b3dc85ed
qt: English translation update before enabling translation for 0.11 2015-05-04 08:09:37 +02:00
Wladimir J. van der Laan
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
crowning-
acec2b399f Resync with upstream 2015-05-03 15:29:35 +02:00
crowning-
4fa07131b6 Merge remote-tracking branch 'upstream/v0.12.0.x' into v0.12.0.x 2015-05-03 14:34:40 +02:00
Daniel Kraft
835c12291e Clean up change computation in CreateTransaction.
Compute the change directly as difference between the "requested" and
the actual value returned by SelectCoins.  This removes a duplication of
the fee logic code.
2015-05-03 10:56:48 +02:00
evan82
11f83f3141 Merge pull request #322 from UdjinM6/v0.12.0.x_fix_kgw
V0.12.0.x Fix KGW (handle negative uint256 properly)
2015-05-02 19:43:16 -07:00
evan82
a689f630ed Merge pull request #323 from UdjinM6/v0.12.0.x_fix_ds_mixing
V0.12.0.x DS fixes
2015-05-02 19:43:07 -07:00
evan82
1506d63284 Merge pull request #324 from UdjinM6/v0.12.0.x_mn_payment_initial_download
v0.12.0.x Do not waste CPU calculating MN payments during initial download
2015-05-02 19:41:46 -07:00
UdjinM6
905b28f813 Do not calculate MN payments during initial download 2015-05-02 19:55:31 +03:00
UdjinM6
6e229e16ff DS fixes:
- detect denominated but not yet anonymized balance properly or both (GetAnonymizableBalance)
 - fix progress calculation by using GetAnonymizableBalance
 - do not count MN-like inputs as anonymizable
 - denominate faster: if there is enough new inputs after DS started (their sum is greater then "already denominated but not yet anonymized balance")
 - allow small amounts to be used in CreateDenominated (modified SelectCoinsDark) but only if they are larger then 1 CENT
 - do not use collateral inputs in CreateDenominated (modified SelectCoinsDark)
 - convert some int64_t -> CAmount for money related variables/params
2015-05-02 19:18:20 +03:00
Luke Dashjr
b05a89b2de Non-grammatical language improvements 2015-05-02 15:23:59 +00:00
Pieter Wuille
8cf1485f3b Abstract chaincodes into CChainCode
# Conflicts:
#	src/key.cpp
#	src/key.h
2015-05-02 11:17:16 +02:00
UdjinM6
efca207c13 Fix KGW (handle negative uint256 properly) 2015-05-01 20:17:14 +03:00
Jonas Schnelli
b3ffcdf916 don't imbue boost::filesystem::path with locale "C" on windows
fixes https://github.com/bitcoin/bitcoin/issues/6078
2015-05-01 13:32:25 +02:00
Corinne Dashjr
7e6d23b171 Bugfix: Grammar fixes 2015-05-01 11:21:27 +00:00
Cory Fields
a8cdaf5c96 checkpoints: move the checkpoints enable boolean into main
This pertains to app-state, so it doesn't make sense to handle inside the
checkpoint functions.
2015-04-30 23:14:48 -04:00
Cory Fields
11982d366d checkpoints: Decouple checkpoints from Params
Pass checkpoint data in as necessary
2015-04-30 23:14:48 -04:00
Cory Fields
699682304f checkpoints: make checkpoints a member of CChainParams
This drops the virtual call and simplifies the logic
2015-04-30 23:14:48 -04:00
Cory Fields
9f13a10548 checkpoints: store mapCheckpoints in CCheckpointData rather than a pointer 2015-04-30 23:14:08 -04:00
svost
d3c09ba67e Trivial: useless cast (ptime)(I'm ptime) 2015-04-30 23:11:52 +03:00
Evan Duffield
40adfbf2c9 fixed 2015-04-30 12:54:34 -07:00
Evan Duffield
b02d5260fd fixed most of the budget functions 2015-04-30 10:11:34 -07:00
Pieter Wuille
f46a680f42 Better mruset unit test 2015-04-30 08:16:30 -07:00
Pieter Wuille
d4d5022cfc Use ring buffer of set iterators instead of deque of copies in mruset 2015-04-30 08:16:30 -07:00
Gavin Andresen
d81cff32e5 Replace mruset setAddrKnown with CRollingBloomFilter addrKnown
Use a probabilistic bloom filter to keep track of which addresses
we think we have given our peers, instead of a list.

This uses much less memory, at the cost of sometimes failing to
relay an address to a peer-- worst case if the bloom filter happens
to be as full as it gets, 1-in-1,000.

Measured memory usage of a full mruset setAddrKnown: 650Kbytes
Constant memory usage of CRollingBloomFilter addrKnown: 37Kbytes.

This will also help heap fragmentation, because the 37K of storage
is allocated when a CNode is created (when a connection to a peer
is established) and then there is no per-item-remembered memory
allocation.

I plan on testing by restarting a full node with an empty peers.dat,
running a while with -debug=addrman and -debug=net, and making sure
that the 'addr' message traffic out is reasonable.
(suggestions for better tests welcome)
2015-04-30 08:16:20 -07:00
Gavin Andresen
69a5f8be0a Rolling bloom filter class
For when you need to keep track of the last N items
you've seen, and can tolerate some false-positives.

Rebased-by: Pieter Wuille <pieter.wuille@gmail.com>
2015-04-30 07:58:29 -07:00
Evan Duffield
969826c249 Reference Node / Stubbed Out Budget System
- Removed of reference node and replaced with decentralized quorums that pick the masternodes who get paid each block.
- Made a budgeting system, where masternodes can vote on individual budgets and the data is stored perminently on each clients computer
2015-04-30 07:55:37 -07:00
Wladimir J. van der Laan
8a10000222
Merge pull request #6022
b74dcb3 Separate CTranslationInterface from CClientUIInterface (Jorge Timón)
2015-04-30 16:37:18 +02:00
Wladimir J. van der Laan
f026ab606d
Merge pull request #6059
739d615 chainparams: use SeedSpec6's rather than CAddress's for fixed seeds (Cory Fields)
2015-04-30 14:57:04 +02:00
crowning-
6aca47300e Merge remote-tracking branch 'upstream/v0.12.0.x' into v0.12.0.x 2015-04-30 08:31:47 +02:00
crowning-
8f505019e9 Only show most common transaction types by default 2015-04-29 23:46:53 +02:00
UdjinM6
24309f78ce various (gitian) build fixes 2015-04-29 21:27:52 +03:00
Wladimir J. van der Laan
9c25397619
Merge pull request #6081
7f386d2 DragonFlyBSD thread renaming. (sinetek)
2015-04-29 19:08:33 +02:00
Jonas Schnelli
1a0259f7f0 add jonasschnellis dns seeder 2015-04-29 16:42:41 +02:00
Wladimir J. van der Laan
df1609f314
Merge pull request #6075
9fadf1c Add additional script edge condition tests. (Dave Collins)
2015-04-29 15:56:30 +02:00
sinetek
7f386d2ff2 DragonFlyBSD thread renaming. 2015-04-29 20:04:34 +07:00
Wladimir J. van der Laan
23c998d811
Merge pull request #5511
e9c3215 [Wallet] sort pending wallet transactions before reaccepting (dexX7)
2015-04-29 09:52:39 +02:00
Wladimir J. van der Laan
948beaf190
Merge pull request #6074
d8f4cc3 Correct the PUSHDATA4 minimal encoding test. (Dave Collins)
2015-04-29 09:04:29 +02:00
Cory Fields
8b08d9530b wallet: fix boost::get usage with boost 1.58 2015-04-28 11:45:10 -04:00
Pieter Wuille
7bf5d5efa6
Merge pull request #5918
f7303f9 Use equivalent PoW for non-main-chain requests (Pieter Wuille)
2015-04-28 07:46:27 -07:00
Pieter Wuille
de8e801d3f Report missing inputs in sendrawtransaction 2015-04-28 07:16:39 -07:00
Philip Kaufmann
107d35b700 [Qt] add defaultConfirmTarget constant to sendcoinsdialog
- replaces some hard-coded values for the default confirmation target
- also simplify code that is using the new constant
2015-04-28 14:49:46 +02:00
Philip Kaufmann
d1af89e655 use const reference as param in ConnectThroughProxy/Socks5
- also ensure code style conformance by replacing bool static with static bool
2015-04-28 14:44:56 +02:00
Wladimir J. van der Laan
18d2832678
Merge pull request #5971
351593b replace absolute sleep with conditional wait (pstratem)
2015-04-28 10:41:46 +02:00
Wladimir J. van der Laan
5048465fc5
Merge pull request #5662
00dcaf4 Change download logic to allow calling getheaders/getdata on inbound peers (Suhas Daftuar)
2015-04-28 10:17:04 +02:00
Wladimir J. van der Laan
6364408122
Merge pull request #5199
1ec900a Remove broken+useless lock/unlock log prints (Matt Corallo)
352ed22 Add merkle blocks test (Matt Corallo)
59ed61b Add RPC call to generate and verify merkle blocks (Matt Corallo)
30da90d Add CMerkleBlock constructor for tx set + block and an empty one (Matt Corallo)
2015-04-28 10:07:25 +02:00
Wladimir J. van der Laan
f9645ba80a
qt: translation update 2015-04-28 09:47:26 +02:00
Dave Collins
9fadf1c874 Add additional script edge condition tests.
This commit adds several tests to the script_invalid.json data which
exercise some edge conditions that are not currently being tested.

These are mainly being added to cover several cases a branch coverage
analysis of btcd showed are not already being covered, but given more
tests of edge conditions are always a good thing, I'm contributing
them upstream.
2015-04-28 02:35:43 -05:00
Dave Collins
d8f4cc328e Correct the PUSHDATA4 minimal encoding test.
The test which is intended to prove that the script engine is properly
rejecting non-minimally encoded PUSHDATA4 data is using the wrong
opcode and value.  The test is using 0x4f, which is OP_1NEGATE instead
of the desired 0x4e, which is OP_PUSHDATA4.  Further, the push of data
is intended to be 256 bytes, but the value the test is using is
0x00100000 (4096), instead of the desired 0x00010000 (256).

This commit fixes both issues.

This was found while examining the branch coverage in btcd against only
these tests to help find missing branch coverage.
2015-04-27 21:47:55 -05:00
pstratem
351593b9c8 replace absolute sleep with conditional wait 2015-04-27 11:48:31 -07:00
Jonas Schnelli
1b2e555593 add autoprune information to RPC "getblockchaininfo" 2015-04-26 23:23:09 +02:00
Wladimir J. van der Laan
1d9d314573
Merge pull request #5696
691161d Consensus: Create consensus/consensus.h with some constants (jtimon)
2015-04-26 14:42:09 +02:00
crowning-
8223e0d34f Fix for addressbook label problem on Windows 2015-04-26 00:58:50 +02:00
crowning-
cf7e9886f5 Enable dynamic CSS temporarily for debugging 2015-04-25 23:53:58 +02:00
sinetek
ff7fe8b19e Fix for correctly including climits on certain platforms {DragonFlyBSD}. 2015-04-25 22:07:32 +07:00
Cory Fields
739d6155d3 chainparams: use SeedSpec6's rather than CAddress's for fixed seeds
This negates the need for CAddress here at all
2015-04-24 14:32:39 -04:00