diff --git a/README.md b/README.md index 7ddf30fd5eb16..fc8ea89bca76a 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,15 @@ -DMS Core staging tree 0.12.9 +DMS Core staging tree 0.12 ===================== -http://www.dms.cash +https://dms.cash What is DMS? --------------------- +The main task of Documentchain is to store document information for a tamper-proof +document revision. DMS is the project-own coin used to pay the storage fees. + DMS is an experimental digital currency forked from Dash 0.12.3.2 DMS Core is the name of the open source software which enables the use of this currency. @@ -23,32 +26,4 @@ The `master` branch is meant to be stable. Development is normally done in separ [Tags](https://github.com/Krekeler/documentchain/tags) are created to indicate new official, stable release versions of DMS Core. -The contribution workflow is described in [CONTRIBUTING.md](CONTRIBUTING.md). - -Testing ---------------------- - -Testing and code review is the bottleneck for development; we get more pull -requests than we can review and test on short notice. Please be patient and help out by testing -other people's pull requests, and remember this is a security-critical project where any mistake might cost people -lots of money. - -### Automated Testing - -Developers are strongly encouraged to write [unit tests](src/test/README.md) for new code, and to -submit new unit tests for old code. Unit tests can be compiled and run -(assuming they weren't disabled in configure) with: `make check`. Further details on running -and extending unit tests can be found in [/src/test/README.md](/src/test/README.md). - -There are also [regression and integration tests](/qa) of the RPC interface, written -in Python, that are run automatically on the build server. -These tests can be run (if the [test dependencies](/qa) are installed) with: `qa/pull-tester/rpc-tests.py` - -The Travis CI system makes sure that every pull request is built for Windows, Linux, and OS X, and that unit/sanity tests are run automatically. - -### Manual Quality Assurance (QA) Testing - -Changes should be tested by somebody other than the developer who wrote the -code. This is especially important for large or high-risk changes. It is useful -to add a test plan to the pull request description if testing the changes is -not straightforward. \ No newline at end of file +The contribution workflow is described in [CONTRIBUTING.md](CONTRIBUTING.md). \ No newline at end of file diff --git a/configure.ac b/configure.ac index a78110c17d46b..e8d0f16242b60 100644 --- a/configure.ac +++ b/configure.ac @@ -2,8 +2,8 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 0) define(_CLIENT_VERSION_MINOR, 12) -define(_CLIENT_VERSION_REVISION, 9) -define(_CLIENT_VERSION_BUILD, 1) +define(_CLIENT_VERSION_REVISION, 10) +define(_CLIENT_VERSION_BUILD, 0) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2018) define(_COPYRIGHT_HOLDERS,[The %s developers]) diff --git a/doc/Doxyfile b/doc/Doxyfile index 7605bc1af92bd..f07a86c85cce2 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -41,7 +41,7 @@ PROJECT_NAME = "DMS Core" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 0.12.9.1 +PROJECT_NUMBER = 0.12.10.0 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 5e5335ec3e432..750077d68f3d5 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -132,21 +132,21 @@ class CMainParams : public CChainParams { consensus.nInstantSendConfirmationsRequired = 6; consensus.nInstantSendKeepLock = 24; consensus.nBudgetPaymentsStartBlock = 328008; // actual historical value - consensus.nBudgetPaymentsCycleBlocks = 16616; // TODO ~(60*24*30)/2.6, actual number of blocks per month is 200700 / 12 = 16725 + consensus.nBudgetPaymentsCycleBlocks = 7200; // DMS: (60*24*30)/6; Dash: ~(60*24*30)/2.6, actual number of blocks per month is 200700 / 12 = 16725 consensus.nBudgetPaymentsWindowBlocks = 100; consensus.nSuperblockStartBlock = 614820; // TODO // The block at which 12.1 goes live (end of final 12.0 budget cycle) consensus.nSuperblockStartHash = uint256S("0000000000020cb27c7ef164d21003d5d20cdca2f54dd9a9ca6d45f4d47f8aa3"); - consensus.nSuperblockCycle = 16616; // ~(60*24*30)/2.6, actual number of blocks per month is 200700 / 12 = 16725 + consensus.nSuperblockCycle = 7200; // DMS: (60*24*30)/6; Dash: ~(60*24*30)/2.6, actual number of blocks per month is 200700 / 12 = 16725 consensus.nGovernanceMinQuorum = 10; consensus.nGovernanceFilterElements = 20000; - consensus.nMasternodeMinimumConfirmations = 15; + consensus.nMasternodeMinimumConfirmations = 15; // Confirmations for initial Masternode transaction of 5000 DMS consensus.BIP34Height = 0; // 0=genesis block // Bitcoin: 227931, Dash: 951; consensus.BIP34Hash = uint256S("0x00000af4a21d6e8daa4026a5eafc7132089a7dbb9d3921b12c4fa39b78c9a010"); consensus.BIP65Height = 619382; // TODO // 00000000000076d8fcea02ec0963de4abfd01e771fec0863f960c2c64fe6f357 consensus.BIP66Height = 245817; // TODO // 00000000000b1fa2dfa312863570e13fae9ca7b5566cb27e55422620b469aefa consensus.DIP0001Height = 782208; // TODO consensus.powLimit = uint256S("0000ffffff000000000000000000000000000000000000000000000000000000"); //uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); // ~uint256(0) >> 20 - consensus.nPowTargetTimespan = 24 * 60 * 60; // PoW calculation ? DMS 5 min // Dash: 24 * 60 * 60; 1 day + consensus.nPowTargetTimespan = 24 * 60 * 60; // PoW calculation 24 * 60 * 60; 1 day consensus.nPowTargetSpacing = 6 * 60; // DMS 6 minutes (initial 4 minutes); Bitcoin 10 minutes; Dash 2.5 minutes consensus.fPowAllowMinDifficultyBlocks = false; consensus.fPowNoRetargeting = false; @@ -155,25 +155,25 @@ class CMainParams : public CChainParams { consensus.nRuleChangeActivationThreshold = 1916; // 95% of 2016 consensus.nMinerConfirmationWindow = 2016; // nPowTargetTimespan / nPowTargetSpacing consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28; - consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 1199145601; // January 1, 2008 - consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 1230767999; // December 31, 2008 + consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 1199145601; // Dash: January 1, 2008 + consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 1230767999; // Dash: December 31, 2008 // Deployment of BIP68, BIP112, and BIP113. consensus.vDeployments[Consensus::DEPLOYMENT_CSV].bit = 0; - consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1486252800; // Feb 5th, 2017 - consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1517788800; // Feb 5th, 2018 + consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1486252800; // Dash: Feb 5th, 2017 + consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1517788800; // Dash: Feb 5th, 2018 // Deployment of DIP0001 consensus.vDeployments[Consensus::DEPLOYMENT_DIP0001].bit = 1; - consensus.vDeployments[Consensus::DEPLOYMENT_DIP0001].nStartTime = 1508025600; // Oct 15th, 2017 - consensus.vDeployments[Consensus::DEPLOYMENT_DIP0001].nTimeout = 1539561600; // Oct 15th, 2018 + consensus.vDeployments[Consensus::DEPLOYMENT_DIP0001].nStartTime = 1508025600; // Dash: Oct 15th, 2017 + consensus.vDeployments[Consensus::DEPLOYMENT_DIP0001].nTimeout = 1539561600; // Dash: Oct 15th, 2018 consensus.vDeployments[Consensus::DEPLOYMENT_DIP0001].nWindowSize = 4032; consensus.vDeployments[Consensus::DEPLOYMENT_DIP0001].nThreshold = 3226; // 80% of 4032 // Deployment of BIP147 consensus.vDeployments[Consensus::DEPLOYMENT_BIP147].bit = 2; - consensus.vDeployments[Consensus::DEPLOYMENT_BIP147].nStartTime = 1524477600; // Apr 23th, 2018 - consensus.vDeployments[Consensus::DEPLOYMENT_BIP147].nTimeout = 1556013600; // Apr 23th, 2019 + consensus.vDeployments[Consensus::DEPLOYMENT_BIP147].nStartTime = 1524477600; // Dash: Apr 23th, 2018 + consensus.vDeployments[Consensus::DEPLOYMENT_BIP147].nTimeout = 1556013600; // Dash: Apr 23th, 2019 consensus.vDeployments[Consensus::DEPLOYMENT_BIP147].nWindowSize = 4032; consensus.vDeployments[Consensus::DEPLOYMENT_BIP147].nThreshold = 3226; // 80% of 4032 @@ -259,6 +259,7 @@ class CMainParams : public CChainParams { ( 4600, uint256S("0x00003e6d58a4974170d74f8ccb55aca3afeca21fc6a25789c64a88ac3b44c239")) ( 8410, uint256S("0x000000dcc96e66827c73c603c96683bb53d536e878fa282ef3e1a30ee42c4121")) ( 15000, uint256S("0x0000024a04c4ac9eb28385fa0a18b6911b7ee22c64c3af476cd72bcf27fa136f")) + ( 17600, uint256S("0x0000b0fabbc7116c54ca34d85424778a41643febe205d1486779573f975e4ae5")) }; chainTxData = ChainTxData{ diff --git a/src/clientversion.h b/src/clientversion.h index 3ad13f9b33759..a6895a4998aef 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -18,8 +18,8 @@ //! These need to be macros, as clientversion.cpp's and dms*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 0 #define CLIENT_VERSION_MINOR 12 -#define CLIENT_VERSION_REVISION 9 -#define CLIENT_VERSION_BUILD 1 +#define CLIENT_VERSION_REVISION 10 +#define CLIENT_VERSION_BUILD 0 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/init.cpp b/src/init.cpp index 2e81ea3f389e5..c938f6f06dba5 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -620,7 +620,11 @@ std::string LicenseInfo() "\n" + strprintf(_("The source code is available from %s."), URL_SOURCE_CODE) + - "\n" + + "\n\n" + + "Publisher/Impressum:\n" + + "Softwarebüro Krekeler, Friedrich-Engels-Str. 45, 15712 Königs Wusterhausen, Germany\n" + + "Phone +49 3375 203631, Fax +49 3375 203622, mail@dms.cash, VAT ID/USt-IdNr. DE136377489\n" + + "Verantwortlicher i. S. d. § 55 Abs: 2 RStV: Harald Krekeler (Anschrift s. o.)\n" + "\n" + _("This is experimental software.") + "\n" + strprintf(_("Distributed under the MIT software license, see the accompanying file %s or %s"), "COPYING", "") + "\n" + diff --git a/src/net.h b/src/net.h index cd135e5f230d5..f5e3a83a0667d 100644 --- a/src/net.h +++ b/src/net.h @@ -78,7 +78,7 @@ static const bool DEFAULT_UPNP = false; static const size_t MAPASKFOR_MAX_SZ = MAX_INV_SZ; /** The maximum number of entries in setAskFor (larger due to getdata latency)*/ static const size_t SETASKFOR_MAX_SZ = 2 * MAX_INV_SZ; -/** The maximum number of peer connections to maintain. */ +/** The maximum number of peer connections to maintain. Masternodes MUST be able to handle at least DEFAULT_MAX_PEER_CONNECTIONS */ static const unsigned int DEFAULT_MAX_PEER_CONNECTIONS = 125; /** The default for -maxuploadtarget. 0 = Unlimited */ static const uint64_t DEFAULT_MAX_UPLOAD_TARGET = 0; diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp index 0027d622cb088..dfdb30b650107 100644 --- a/src/qt/optionsmodel.cpp +++ b/src/qt/optionsmodel.cpp @@ -89,8 +89,8 @@ void OptionsModel::Init(bool resetSettings) #ifdef ENABLE_WALLET if (!settings.contains("fCoinControlFeatures")) - settings.setValue("fCoinControlFeatures", false); - fCoinControlFeatures = settings.value("fCoinControlFeatures", false).toBool(); + settings.setValue("fCoinControlFeatures", true); + fCoinControlFeatures = settings.value("fCoinControlFeatures", true).toBool(); if (!settings.contains("digits")) settings.setValue("digits", "2"); diff --git a/src/qt/res/css/light-hires.css b/src/qt/res/css/light-hires.css index 372d5a75983c1..6568ddbd85272 100644 --- a/src/qt/res/css/light-hires.css +++ b/src/qt/res/css/light-hires.css @@ -1063,10 +1063,12 @@ outline:none; } QWidget .QFrame#framePrivateSend .QPushButton#togglePrivateSend { /* Start PrivateSend Mixing */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; min-height: 40px; font-size:10pt; font-weight:normal; -color:#ffffff; +color:#616161; padding-left:10px; padding-right:10px; padding-top:5px; @@ -1074,7 +1076,8 @@ padding-bottom:6px; } QWidget .QFrame#framePrivateSend .QPushButton#togglePrivateSend:hover { - +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #e60000, stop: .1 #cc0000, stop: .95 #cc0000, stop: 1 #b30000); +color:#fff; } QWidget .QFrame#framePrivateSend .QPushButton#privateSendAuto { /* Try Mix Button */ diff --git a/src/qt/res/css/light.css b/src/qt/res/css/light.css index 330ec5060da19..230c9dc0067c4 100644 --- a/src/qt/res/css/light.css +++ b/src/qt/res/css/light.css @@ -1063,10 +1063,12 @@ outline:none; } QWidget .QFrame#framePrivateSend .QPushButton#togglePrivateSend { /* Start PrivateSend Mixing */ +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #f6f6f6, stop: .1 rgba(250, 250, 250, 128), stop: .95 rgba(250, 250, 250, 255), stop: 1 #ebebeb); +border:1px solid #d2d2d2; min-height: 40px; font-size:15px; font-weight:normal; -color:#ffffff; +color:#616161; padding-left:10px; padding-right:10px; padding-top:5px; @@ -1074,7 +1076,8 @@ padding-bottom:6px; } QWidget .QFrame#framePrivateSend .QPushButton#togglePrivateSend:hover { - +background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: .01 #e60000, stop: .1 #cc0000, stop: .95 #cc0000, stop: 1 #b30000); +color:#fff; } QWidget .QFrame#framePrivateSend .QPushButton#privateSendAuto { /* Try Mix Button */ diff --git a/src/qt/res/images/light/about.png b/src/qt/res/images/light/about.png index 4820110b6eeb5..b16eb1bd93b53 100644 Binary files a/src/qt/res/images/light/about.png and b/src/qt/res/images/light/about.png differ