Commit Graph

146 Commits

Author SHA1 Message Date
evan82
feabff60a8 Merge pull request #242 from UdjinM6/v0.11.2.x_verify_dsq_vin
V0.11.2.x verify dsq vin
2015-03-16 07:25:04 -07:00
UdjinM6
43712ff4de Verify that dsq.vin is actually in our masternode list (otherwise we might hit NULL and think that we use queue at the same time while we are not) 2015-03-13 19:00:44 +03:00
UdjinM6
53c3a5e24c Cleanup few debug msgs, reduce log spam / few readability fixes 2015-03-13 18:53:12 +03:00
Evan Duffield
441103ea71 update relay rules - protocol/version bump 2015-03-08 07:49:04 -07:00
Evan Duffield
c169e49fce Added input/output/sig trickle
- Send a few inputs/output each cycle
- Mix other users inputs/outputs into relay each cycle
- Send signatures as a tickle, also mixed with other users signatures
- Fixed a bug with validating the final transaction
2015-03-07 07:50:14 -07:00
UdjinM6
b5414e1c3c save nDsqCount in mncache.dat 2015-03-06 20:59:19 +03:00
evan82
9f124d56b6 Merge pull request #231 from mkinney/v11.2-comments
V0.11.2.x comments
2015-03-06 07:04:44 -07:00
Mike Kinney
757128bfe0 v0.11.2.x Updating comments 2015-03-05 23:24:34 -08:00
UdjinM6
2e0d7ab0b6 fix even more console spam 2015-03-05 19:40:17 +03:00
Evan Duffield
f63e1ddfd0 Merge branch 'v-1.11.2.x' of https://github.com/darkcoinproject/darkcoin into v0.11.2.x 2015-03-05 08:23:43 -07:00
Evan Duffield
9aca26d220 merged mkinney-v0.11.2 2015-03-05 08:18:45 -07:00
evan82
2773bb1f78 Merge pull request #223 from UdjinM6/v0.11.2.x_fix_console_spam
v0.11.2.x fix console spam
2015-03-05 08:14:45 -07:00
Evan Duffield
c6f0259d9b fixed shared key usage 2015-03-05 08:08:03 -07:00
Mike Kinney
98fe439af4 V0.11.2.x update comments 2015-03-05 00:10:15 -08:00
Mike Kinney
b0079d37ad V0.11.2.x update comments 2015-03-04 23:49:50 -08:00
UdjinM6
0595ef80c3 fix console spam 2015-03-04 22:59:51 +03:00
Evan Duffield
119007dd48 fix compiling for windows 2015-03-04 11:17:30 -07:00
Evan Duffield
a6b58ab1e8 Merged masternode blinding 2015-03-04 08:58:36 -07:00
UdjinM6
0747da6b36 Fix versions:
- bump PROTOCOL_VERSION (new collaterals are incompatible with 70066)
 - define MIN_POOL_PEER_PROTO_VERSION instead of confusing darkSendPool.MIN_PEER_PROTO_VERSION / bump it too
2015-02-26 20:29:57 +03:00
evan82
ff297c25e3 Merge pull request #203 from UdjinM6/v0.11.2.x_fix_processmessages
V0.11.2.x Few fixes for processing extra messages:
2015-02-26 08:31:45 -07:00
UdjinM6
1ded1b9ec2 Few fixes for processing extra messages:
- call ProcessMessageMasternodePayments on ProcessBlock (lost after moving mnodeman functionality)
- do not process extra functionality messages (DS, IX, spork) on initial download / reindex
2015-02-26 17:40:43 +03:00
UdjinM6
56471f8330 fix DoAutomaticDenominating:
- check for NULL (result of FindRandom, could happen if masternode list is empty)
 - assign submittedToMasternode only when all checks are passed
 - naming consistency (mn --> pmn)
2015-02-26 04:55:27 +03:00
UdjinM6
2e05bf212e Change the way changes are handled:
- do not keep track of a single time variable for whole structure change
- save to masternode.dat and clear on checks:
  - who's asked for the masternode list and the last time
  - who we asked for the masternode list and the last time (will help to prevent dseg ban when restart wallet several times in short period of time)
  - which masternodes we've asked for
- do not use timeout for CheckAndRemove (played with that - doesn't make sense actually)
2015-02-26 02:21:28 +03:00
UdjinM6
0d51e1c90d better naming/readability (Find) 2015-02-25 14:54:03 +03:00
UdjinM6
003a1b7d72 track lastTimeChanged for mnodeman and ask for update only if UpdateNeeded 2015-02-24 13:39:29 +03:00
UdjinM6
9b13c63c45 trivial fix 2015-02-24 02:45:37 +03:00
UdjinM6
14e122cbfa CMasternodeMan - masternode manager class - part2 - fix ProcessMasternodeConnections/ThreadCheckDarkSendPool (still broken) 2015-02-23 23:07:37 +03:00
UdjinM6
adddff85a2 CMasternodeMan - masternode manager class - part1(broken) 2015-02-23 23:01:21 +03:00
evan82
3bb9ef96f4 Revert "Revert "Rebrand to darkcoin"" 2015-02-19 11:58:38 -07:00
evan82
516f590c65 Revert "Rebrand to darkcoin" 2015-02-19 11:28:40 -07:00
evan82
de3c18cde8 Merge pull request #189 from UdjinM6/v0.11.2.x_clear_out_ds_fee
clear out DS fee / collateral clean up
2015-02-18 12:14:05 -07:00
evan82
52f7828785 Merge pull request #188 from UdjinM6/v0.11.2.x_typo
(v0.11.2.x) typo: succesful->successful
2015-02-18 12:10:55 -07:00
evan82
5c38c69f0c Merge pull request #187 from vertoe/devel-0.9-strings
Rebrand to darkcoin
2015-02-18 12:10:45 -07:00
UdjinM6
55faae269c clear out DS fee 2015-02-18 15:31:40 +03:00
Evan Duffield
ecd37e134e Change darksend fee to 0.01DRK and charge in 1 in 10 sessions 2015-02-17 07:04:42 -07:00
UdjinM6
f87ccb1588 typo: succesful->successful 2015-02-17 13:27:47 +03:00
vertoe
a179777a0a Rename darkcoin config header. 2015-02-16 23:19:42 +01:00
UdjinM6
9823b9ebad Solve performance problems by caching and fix probable security issue
- add number of rounds to outputs
- cache rounds calculation results of GetInputDarksendRounds
- select shortest rounds chain instead of the first found
2015-02-12 17:41:02 +03:00
Evan Duffield
f510cc309b use block hash caching 2015-02-09 13:21:12 -07:00
Evan Duffield
257078d2a4 Full Spork Implementation
Many sporks are supported at once, with efficient broadcasting
via inventory messages.
2015-02-09 12:49:00 -07:00
vertoe
825a430c7a merge downstream 0.11.1 2015-02-08 22:26:11 +01:00
UdjinM6
fdbeedfa96 fix MakeCollateralAmounts - cleaned more unneeded calculations 2015-02-07 05:26:59 +03:00
UdjinM6
fd7992dc61 fix MakeCollateralAmounts stuck sometimes and wouldn't let denominating further 2015-02-07 05:18:37 +03:00
vertoe
8fc3f84ad8 merge downstream 0.11.1 2015-02-06 00:39:58 +01:00
Evan Duffield
412f54fe8a added improvements to hashing algorithm / block hash caching 2015-02-05 15:56:59 -07:00
vertoe
78d47c04fe merge downstream 0.11.1 2015-02-05 16:13:05 +01:00
vertoe
7e8d8c9681 Fix typo in darksend. 2015-02-04 20:55:14 +01:00
Evan Duffield
6faa140c49 reference node fix 2015-02-04 08:57:09 -07:00
vertoe
86ca90d9b3 Translate darksend messages. 2015-02-04 14:24:56 +01:00
Evan Duffield
e2898a2f86 small fix for assert failure 2015-02-02 13:11:49 -07:00
Evan Duffield
6b0c7f3c4f add a couple sanity checks to GetLastValidBlockHash 2015-02-02 12:27:07 -07:00
evan82
9f33c1e5f9 Merge pull request #144 from UdjinM6/fix_doauto_on_initial_download
prevent running DoAutomaticDenominating while IsInitialBlockDownload
2015-01-30 12:57:54 -07:00
UdjinM6
1ecbfd09d7 prevent running DoAutomaticDenominating while IsInitialBlockDownload 2015-01-30 01:19:41 +03:00
UdjinM6
84b0e6f587 use IsDenominatedAmount instead of loops and GetInputDarksendRounds where applicable 2015-01-29 13:36:18 +03:00
evan82
1598d8e7a6 Merge pull request #134 from UdjinM6/fix_creating_denominated
fixing pre-mix process of creation denominated amounts
2015-01-27 10:57:35 -07:00
Evan Duffield
c6eba54e65 Much faster block processing 2015-01-27 07:46:06 -07:00
UdjinM6
287ea11a25 make collateral inputs from all available inputs but not from mn-like 2015-01-27 07:39:27 +03:00
UdjinM6
a07d637a48 don't use collateral amounts on CreateDenominated / make collateral inputs from all available coins and not only from non-denominated / IsCollateralAmount function 2015-01-27 07:13:34 +03:00
Evan Duffield
71e074336b Update dseg limitations
vecMasternodes.size() == 0 is a nearly impossible condition due to the behavior
of dseep. Each time a node receives a ping where it's unaware of the masternode
it will ask for the dsee from it's peer.
-        if(c % 5 == 0 && (RequestedMasterNodeList <= 2 || vecMasternodes.size()
+        if(c % 5 == 0 && RequestedMasterNodeList < 3){
2015-01-26 11:03:36 -07:00
UdjinM6
144b24bee5 more fixes/cleanup/debug output to DS mixing 2015-01-26 00:18:26 +03:00
UdjinM6
9a4fac6bb6 fixing pre-mix process of creation denominated amounts 2015-01-25 02:57:55 +03:00
Evan Duffield
26ebf1d7cb Fixed segfault causes by coins view 2015-01-23 07:48:39 -07:00
UdjinM6
ed49131f96 fix dseg messaging / banning issue 2015-01-22 03:04:52 +03:00
Darkcoin
6ef9ba118b Merge pull request #125 from UdjinM6/fix_ds_incorrect_txes
Fix incorrect DS txes + few small things including some cleanup / debugging
2015-01-21 08:00:01 -07:00
Evan Duffield
78fe35f06d Implemented DarkSend convertability
Darksend defaults to a new mode which enables inputs/outputs
of each session to be different. For example 10DRK can be input
and 1DRKx10 can be output. This strengthens the anonymity of
Darksend greatly, which also increasing the usability (Users who
run out of .1DRK denominations can simply turn on Darksend to
split up larger inputs).
2015-01-21 07:55:21 -07:00
UdjinM6
c91b5202b7 fix ds incorrect txes issue / lowestDenom logic / styling 2015-01-21 09:09:04 +03:00
Evan Duffield
bbd869589c Collateral issues / Exact denoms / Disabled denoms
- When attempting to connect to a masternode for submission into the pool a recursive call to DoAutoDenominate was used. This could possibly take more than 1 minute to complete if it found a string of bad masternodes, in which case the correct masternode was overwritten and replaced with an invalid one. Upon submission, the DS TX was given to the incorrect node causing collateral to be charged.
- To fix this I've removed the recursion and added a critical section to DoAutoDenominate.
- Exact input denominations are matched in PrepareDarksendDenominate to remove the possibility of having change in the pool
- Removed disabled denominations, not needed anymore
2015-01-20 10:33:52 -07:00
Evan Duffield
47bb25d853 disable checktimeout when disabled 2015-01-20 03:32:32 -07:00
Evan Duffield
678a43c35b disable reference node code when key is not present 2015-01-20 03:02:11 -07:00
Evan Duffield
2737edbbf3 Removed non-denomational inputs (UdjinM6)
Exact amounts are now allocated directly to denominated
funds then submitted to the pool. This improves anonymity
by never having non-denomination inputs enter or exit the pool.
Randomness has also been added to the amount of each session to
improve anonymity.
2015-01-19 20:12:10 -07:00
Evan Duffield
539a8683a4 Added LiteMode
LiteMode disables Darksend/Masternodes/InstantX for clients
who want speed and don't need access to these features. UI
for Darksend is also hidden while in this mode.
2015-01-18 08:28:16 -07:00
UdjinM6
33a7c539ba another attempt to simplify ds and fix some issues 2015-01-15 17:41:56 +03:00
Evan Duffield
8038fdfcff Rounds calculation stopped at 8 2015-01-14 07:52:43 -07:00
Evan Duffield
1dea6cb2cc Rounds calculation stopped at 8 2015-01-14 07:50:40 -07:00
Evan Duffield
76ab102ff7 Various fixes for 11.0.5
-Darksend balance shows sendable amount now.
-Fixed "darksend is disabled" inaccurate message
-Fixed crashing on -reindex and -gen
2015-01-12 10:04:28 -07:00
Evan Duffield
7098126b52 Fix for random segfaultfrom Masternode::Check 2015-01-12 06:58:33 -07:00
Evan Duffield
6bd5ec15b3 Unlock coins when using Darksend reset button 2015-01-08 14:16:17 -07:00
crowning-
371a16a924 Non-void function should always return something. 2015-01-06 22:05:39 +01:00
Evan Duffield
6df70d30b1 Fixed progress bar / Improve GetDenominatedBalance
- Fixed a few issues when calculating progress including some variables that should be limited to 1 (a and b). GetDenominatedBalance also seemed to be giving bad results so I rewrote it to be cleaner, not sure if that was a part of the problem.
- Progress bar is only recalculated when all inputs in wallet have been confirmed (will stop the progress from jumping around)
2015-01-02 15:20:30 -07:00
Evan Duffield
8ab351a594 configure.ac version bump and documentation 2015-01-02 11:45:40 -07:00
Evan Duffield
826b18c41f Regtest+Darksend / Dsee update / vecMasternodes
- Made masternodes/darksend compatible with regression testing mode (a local-only blockchain that doesn't require mining). Developers can now test multiple rounds in a few minutes without waiting on mining (much faster).
- Added dsee security verification to v11
- darkSendMasternodes -> vecMasternodes (must clearer)
2014-12-30 19:54:00 -07:00
Evan Duffield
a290bc06f2 Further improvements to the matching engine 2014-12-30 15:42:50 -07:00
Evan Duffield
141f833a00 Matching engine improvements
Fixed issues with matching from rounds 0 to 2
2014-12-30 12:42:34 -07:00
Evan Duffield
b20581125d Added Darksend high precision matching engine
Darksend is now capable of taking queue objects (which show who wants to mix what)
and looking at it's own inputs to see if it's at all possible to join their mixing
session. This plus other improvements should make Darksend much faster for mixing
coins.
2014-12-29 17:09:34 -07:00
Evan Duffield
762080140b Various Darksend Improvements
- Denomination label shows n/a after reset now
- Fixed collateral checking bug introduced by updating to Bitcoin v9 codebase
2014-12-29 08:50:40 -07:00
Evan Duffield
afcc015cf4 Report errors delivered via dssu to gui 2014-12-28 07:46:39 -07:00
Evan Duffield
34a60fb7de Much improved feedback for Darksend
DoAutoDenomination just wrote to the debug.log and because of that users commonly would have a hard time seeing what was happening. This fixes that by setting a status and displaying that status in the overview.
2014-12-27 18:08:45 -07:00
Evan Duffield
3acb5c6388 added denomination information to overview, reset/try again buttons 2014-12-27 16:45:07 -07:00
Evan Duffield
12e8fd0461 Improved support for adding DRK after anon has completed 2014-12-26 14:04:36 -07:00
Evan Duffield
7fad12f623 Various Improved Darksend
- Progress bar is far more accurate now. It only takes into account the inputs that could possibly go into Darksend and ignores the rest.
- Darksend can support down to 1.5DRK now.
- New "masternode outputs" command for start-many
2014-12-26 13:00:56 -07:00
Evan Duffield
31ca8ad5f9 reducing lower limit to 1.5DRK 2014-12-25 20:58:58 -07:00
Evan Duffield
5eb3bcdcc0 Fixed darksend issues 2014-12-25 12:21:35 -07:00
Evan Duffield
560bf9bc0b Fix status update (darksend mixing stuck - UdjinM6) 2014-12-22 18:17:47 -07:00
Francis Reynders
55cae78c3b Improve support for start-many:
- refactored CActiveMasternode
- added masternodeconfig to handle remote masternode configuration
- read masternodeconfig upon init
- new masternode rpc commands: stop-many, start-alias, stop-alias, list-conf
- added notCapableReason field for better handling not capable issues
2014-12-14 06:06:39 +01:00
Evan Duffield
0184cf744d Merged: fix CDarksendQueue::CheckSignature() failure by preventing COutPoint::ToString() to cut hash to 10 symbols only (UdjinM6) 2014-12-11 12:27:55 -07:00
Evan Duffield
78c5ca53f6 Merged in Darksend/InstantX/Masternodes
This doesn't include any of the changes in the darkcoin/v0.10.18.x branch. Those will be brought over into this commit history.
2014-12-11 08:10:35 -07:00