Commit Graph

6565 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
crowning-
9c5bcff4cb satoshi(s) -> duff(s) in locales 2015-07-07 05:13:50 +02: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
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
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
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
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