Commit Graph

146 Commits

Author SHA1 Message Date
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
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
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
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
Evan Duffield
1af0fa5098 Only sync masternode assets after new block 2015-07-06 11:12:56 -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
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
a89b0e705f Fixed syncing code for stuck clients 2015-07-01 16:46:03 -07:00
Evan Duffield
94493bee63 fixed compile issues 2015-06-24 12:42:01 -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
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
08a6803165 fixing all kind of typos etc 2015-06-23 23:44:20 +03:00
UdjinM6
3e95f3b98c accept(verify) DS mixing txes ignoring fees 2015-06-23 07:12:24 +03:00
UdjinM6
02230c4263 deal with reservekeys in CreateDenominated and MakeCollaterals more accurate (+todo) 2015-06-22 20:59:27 +03:00
UdjinM6
58c0f150a4 fix dsc 2015-06-19 04:42:25 +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
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
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
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
Evan Duffield
160eec6e30 merged 2015-05-04 02:36:23 -07: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
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
UdjinM6
8e05e9eb10 Fix translations:
- mn replies
  - MN should use codes for replies, translations are done on client side (client protocol / min pool peer protocol bump)
  - use QString for translation instead of ostream, construct better human readable strings for translators
- progress
  - use QString here too
2015-04-16 05:35:12 +03:00
UdjinM6
62bbc1176e fix merge 2015-04-10 20:08:01 +03:00
UdjinM6
3cfd9538d5 Merge branch 'master' into merge_btc010 2015-04-10 19:32:57 +03:00
Evan Duffield
0b225546f7 check collateral before submitting 2015-04-07 09:41:31 -07:00
UdjinM6
41f592aec7 Explicitly convert mutable txes to immutable before calling AcceptableInputs 2015-04-07 05:59:56 +03:00
UdjinM6
649434dd2e Fix SelectCoinsByDenominations relative things:
- AvailableCoins inside SelectCoinsByDenominations should select denoms only now (also removing corresponding "if"s)
- use temporary vectors in doauto when call SelectCoinsByDenominations to prevent vCoins modification
- variables naming (set...->v...)
2015-04-07 05:52:49 +03:00
Evan Duffield
7e72c2bccf added nDenom check for dsa 2015-04-06 16:07:25 -07:00
Evan Duffield
d928a53234 DS Working pretty well 2015-04-06 13:00:46 -07:00
Evan Duffield
f0192b1bb3 Reverting some DS changes
- Some changes caused instability of DS, this should fix that.
2015-04-06 08:14:26 -07:00
UdjinM6
64eebc3316 0.12 dirty merge'n'fix (bitcoin 0.10) 2015-04-04 19:24:37 +03:00
Evan Duffield
4152eea1c1 fixed ranking issues for PoSe 2015-03-23 05:59:22 -07:00
Evan Duffield
9bafb70a2f changed some locks 2015-03-21 20:27:13 -07:00
UdjinM6
bff51d4fcc disable relay 2015-03-21 20:27:13 -07:00
Evan Duffield
c5da226a09 changed some locks 2015-03-21 20:10:34 -07:00
Evan Duffield
e4b6f85e69 remove locks 2015-03-21 06:31:34 -07:00
Evan Duffield
79e50f81e3 Disabled masternode blinding / increased rounds defaults 2015-03-20 08:47:19 -07:00
Evan Duffield
76aaea1ae8 Translation updates
Darkcoins -> Dash
dashcurrency.com -> dashpay.io
Updated seeds
2015-03-20 07:45:30 -07:00
Evan Duffield
5cb26c5928 Changed darkcoin references to dash
- Changed out logos (just a placeholder)
- DRK -> DASH
- ./darkcoin -> ./dash
2015-03-19 12:03:14 -07:00
Evan Duffield
8f39610ee4 Merge branch 'v0.11.2.x' of https://github.com/darkcoinproject/darkcoin into v11.2-dash 2015-03-18 12:50:02 -07:00
Evan Duffield
a1ac7ca8d3 Fixed blinding submission process 2015-03-18 09:47:01 -07:00
Evan Duffield
35bb210c6b Dash rebranding 2015-03-17 16:06:58 -07:00
Evan Duffield
819724ad1d merged proof-of-service 2015-03-16 09:40:39 -07:00
Evan Duffield
e5267319ef Complete implementation of Proof-of-Service
- Ensures ports remain open and client are responsive to IX requests.
- Completely 100% decentralized. This farms out the work of checking the masternode network to the masternode network. 1% of the network is determistically selected to check another 1% of the network each block. It takes six separate checks to deactivate a node, thus making it tamper proof.
- Nodes are kept in the masternode list if they fail enough PoSe checks to deactivate. They will continue to be checked until the operator fixes them. However they will not be paid while they're failing checks.
2015-03-16 09:32:18 -07:00