Commit Graph

12777 Commits

Author SHA1 Message Date
Wladimir J. van der Laan
5e02722d56 test: add ensure_ascii setting to AuthServiceProxy
Add a setting ensure_ascii to AuthServiceProxy. This setting,
defaulting to True (backwards compatible),
is passed through to json.dumps. If set to False, non-ASCII characters
>0x80 are not escaped. This is useful for testing server
input processing, as well as slightly more bandwidth friendly in case of
heavy unicode usage.
2016-05-31 04:31:15 +03:00
Wladimir J. van der Laan
3f7f64a66b univalue: Handle UTF-8
Input: read and validate full UTF-8, both Basic Multilingual Plane
and extended characters.
Collate surrogate pairs as specified in RFC467.
This ensures that UTF-8 strings that reach the application are
always valid.

Output: Assume UTF-8 strings provided for output are valid.
The escaping was broken, fix this by not encoding UTF-8 characters with \u.
Simply write them to the output stream as-is.

This is the right thing to do. See https://www.ietf.org/rfc/rfc4627.txt:

    "JSON text SHALL be encoded in Unicode.  The default encoding is UTF-8."

Fixes #16.
Also add tests for the new functionality.
2016-05-31 04:31:02 +03:00
UdjinM6
fb1ffded70 There is a bug in mnw fix, so... fix the fix (should be && not ||) (#837)
Also make `nMinBlocksToStore` and `nStorageCoeff` const
2016-05-30 14:11:09 +02:00
UdjinM6
d705da741c fix masternode signatures, bump PROTOCOL_VERSION
strMessage for masternode broadcast (which we sign and verify) looks like this currently:
[2001:1608:45:3::242:ac11:6]:199991464464536
                                  ?~}&?Q?S?Ǚ?q	?0??????O?I/Y?(
?f?jJF??m??bssknN??9鲜JXVs?ә?5T?8??????~70200
which I believe in some cases leads to "Got bad Masternode ping signature" errors and banning.

I propose to change the way strMessage is composed so that it looks like this:
[2002:82ff:c04:2:a90f:2261:43c4:2745]:1999514645552319591ec70225aacadfafa4ab5d21e87cdce641fd4030d029485434533c5e481578a9d471089fb5ec170200

Further more nDos for old masternodes is set to 0 to stop false positives (message still gets rejected though).
2016-05-30 11:37:35 +03:00
UdjinM6
4d55bc9666 Cleanup/maintenance (#830)
* remove instance references inside own class

* better logging

* remove unused

* fix tabs/spaces

* bitcoin->dash

* fix README.md
2016-05-30 08:22:30 +02:00
UdjinM6
f5e3042b7a create INSTANTSEND_MIN_FEE to manage IS fee in one place (#829) 2016-05-30 08:22:15 +02:00
UdjinM6
9745914c15 remove hardcoded strDarksendPoolDummyAddress (#828)
- use "" account address instead
- remove `collateralPubKey` and `SetCollateralAddress()` from darksend and create `dummyScriptPubkey` and `InitDummyScriptPubkey()` in masternodeman instead
- initialize `dummyScriptPubkey` before loading cache otherwise MNs could be removed because of the invalid tx
2016-05-30 08:22:08 +02:00
UdjinM6
989317c036 fix mnw sync issues (#825) 2016-05-29 20:35:09 +02:00
UdjinM6
6323c91cb0 Fix inv messages, revert part of #806 (#823)
If we want to be compatible to 12.0 on network layer we need them back in ppszTypeName[] to keep inv type consistent (allNetMessageTypes[] should not have them, we shouldn't accept non-implmented messages)
2016-05-29 13:46:39 +02:00
Evan Duffield
a4954bf0fd Fixed governance object submission issues (#817)
- Terrible bug which caused governance objects to have their hashes corrupted, causing objects to become invalid
- More proposal -> governance name changes
2016-05-28 12:31:44 +02:00
Holger Schinzel
940035393c updated testnet checkpoint (#819) 2016-05-28 12:31:38 +02:00
crowning-
37b4666c09 [UI] Rebranding: DS reference changed to PS (#814) 2016-05-27 08:25:00 +02:00
UdjinM6
c3b950d457 fix mn anounce: (#813)
- every node should check for "pre-enabled" status of a newly added mn to relay message further (was "enabled" which is wrong - if node is enabled, that's not the first announce, so no need to relay it because most likely we were the one who asked for that mn directly via dseg)
- we should not add ourselves to mn list if announce message has outdated protocol version (report this in log)
- we should remove ourselves from saved list if we start updated mn for the first time and just loaded old list from mncache.dat
2016-05-27 08:24:44 +02:00
crowning-
517ffd7b7d [UI] Rebranding: DS reference changed to PS (#810)
* [UI] Rebranding: DS reference changed to PS

DarkSend -> PrivateSend

* [UI] Rebranding: DS reference changed to PS (part 2)
2016-05-27 00:05:05 +02:00
UdjinM6
6698d2ce89 Re-enable FillBlockPayee for mnpayments, fix CreateNewBlock calculations (#811)
* Reenable FillBlockPayee for mnpayments, fix CreateNewBlock calculations

* revert blockchain.py fix #772
2016-05-27 00:04:15 +02:00
Evan Duffield
5411d78b11 Fixed governance object submission issues (#812)
- Cleaned up governance object / added comments
2016-05-27 00:03:37 +02:00
Evan Duffield
7f52065c38 Merge pull request #806 from evan82/v0.12.1.x-sync-process-2
V0.12.1.x Sync Processing
2016-05-25 14:47:13 -07:00
Evan Duffield
ff06e58186 Added back logic to only allow X votes per masternode winner 2016-05-25 10:06:48 -07:00
Evan Duffield
8cbe280dd1 fix compiling issues 2016-05-25 09:56:58 -07:00
Holger Schinzel
585544a2f1 Merge pull request #808 from crowning-/patch-2
[UI] Fixed missplaced mixing buttons for traditional wallet theme
2016-05-25 15:36:20 +02:00
Holger Schinzel
e689138081 Merge pull request #807 from thelazier/v0.12.1.x-rebranding2d
Rebranding: PrivateSend/InstantSend (update 2d)
2016-05-25 15:35:42 +02:00
TheLazieR Yip
bf650e8386 Rebranding: PrivateSend/InstantSend (update 2d) 2016-05-25 13:39:23 +07:00
crowning-
7ee810d3b6 [UI] Rebranding: PrivateSend/InstantSend (update 2) (#804)
* [UI] Rebranding: PrivateSend/InstantSend (update 2)
* [UI] Changed name of sendtoaddress parameters: use_ix -> use_is and use_ds -> use_ps
2016-05-25 07:25:16 +02:00
crowning-
0851a9fc88 [UI] Fixed missplaced mixing buttons for traditional wallet theme 2016-05-24 23:25:17 +02:00
Evan Duffield
7240f96e29 - removed hybrid mode (masternode winners reference node). This feature was added to 12.0 incase we had network troubles and required a "safe-mode" to run in. We've experiences no issues like so it should be safe to remove
- fixed masternode winners calculation and listing
2016-05-24 14:16:42 -07:00
Evan Duffield
26b297f7fd blockout calc-score for removal 2016-05-24 13:17:03 -07:00
Evan Duffield
5e990d3859 fixed cleanup for sync 2016-05-24 13:14:47 -07:00
Evan Duffield
349e750e73 Cleanup
- removed some old comments
- renamed sync tracking requests to friendlier names
2016-05-24 13:12:20 -07:00
Evan Duffield
c6e0643d9e enabled governance item syncing 2016-05-24 12:25:33 -07:00
Evan Duffield
ac913c0258 Removed unimplemented commands / mnquorum / mnscanerror
- Scanning errors should be implemented via sentinel
2016-05-24 12:20:10 -07:00
Evan Duffield
49ad98d1f3 cleanup 2016-05-24 11:29:23 -07:00
Evan Duffield
19664dac8f calculate sentinel flags from votes 2016-05-24 11:11:59 -07:00
Holger Schinzel
16671cdf9a Merge pull request #799 from UdjinM6/fixMNTab
fixes for Masternodes Tab, issues #790, #795, #796
2016-05-24 07:21:45 +02:00
Holger Schinzel
7dbe17d34a Merge pull request #801 from UdjinM6/moveDSOptions
Move DS qt options from Main to Wallet tab in Options dialog
2016-05-24 07:21:00 +02:00
Holger Schinzel
3e15bf47d0 Merge pull request #800 from UdjinM6/fixCheckInputsAndAdd
Optimize processing of a (potentially) new MN
2016-05-24 07:20:53 +02:00
Holger Schinzel
773744ed16 Merge pull request #798 from UdjinM6/fixDSSignFinal
Fix final dstx signing
2016-05-24 07:20:45 +02:00
Holger Schinzel
960864790f Merge pull request #797 from UdjinM6/fixDSIXRelay
fix RelayTransaction to relay correct message (dstx/ix)
2016-05-24 07:20:39 +02:00
UdjinM6
5c5ddfe71e Move DS qt options to Wallet tab in Options dialog 2016-05-24 05:21:36 +03:00
UdjinM6
87ad368643 Optimize processing of a (potentially) new MN:
- Move heavy `IsVinAssociatedWithPubkey` deep inside of `CheckInputsAndAdd` to be actually executed only once per masternode and only after much simpler checks were executed;
- Verify `GetInputAge` (it uses cache) before trying to enter `AcceptToMemoryPool` (which hash many ifs and checks inside).
2016-05-24 03:15:53 +03:00
UdjinM6
d82680af1b fixes for Masternode Tab, issues #790, #795, #796 2016-05-24 02:51:37 +03:00
UdjinM6
519577d4f4 Fix final dstx signing:
- Should fail if at least one AddScriptSig() fails (currently will pass if at least one is ok, which is no good)
- Should log this accordingly
2016-05-24 02:40:12 +03:00
UdjinM6
c845e5922f fix RelayTransaction to relay correct message (dstx/ix) 2016-05-24 02:06:09 +03:00
Evan Duffield
869ff89d3b update gethash() 2016-05-23 15:52:10 -07:00
Evan Duffield
717b21d8ed Merge branch 'v0.12.1.x-sync-process' into v0.12.1.x 2016-05-23 14:44:44 -07:00
Evan Duffield
528c5edb19 fix fValid caching engine 2016-05-23 14:39:10 -07:00
Evan Duffield
38b532ae6d Merge branch 'v0.12.1.x-fee-change' into v0.12.1.x 2016-05-23 11:17:08 -07:00
Evan Duffield
18e9a33e2a changed fee to 0.1D for govobj submission 2016-05-23 11:16:46 -07:00
Evan Duffield
2afa20b8d7 Merge branch 'v0.12.1.x-cleanup' into v0.12.1.x 2016-05-23 11:10:37 -07:00
Evan Duffield
39d9ad87fb more refactoring 2016-05-23 11:10:20 -07:00
Evan Duffield
623ac049e2 More cleanup
- AddProposal -> AddGovernanceObject
- mapOrphanMasternodeBudgetVotes -> mapOrphanVotes
- UpdateProposal -> UpdateGovernanceObject
2016-05-23 10:58:39 -07:00