Commit Graph

15011 Commits

Author SHA1 Message Date
gladcow
ace980834f Extend Bloom Filter support to InstantSend related messages (#2184)
* use bloom filters for IX lock votes

* code style fixes
2018-07-20 16:32:41 +03:00
Alexander Block
b476173258 Install python3 in gitian builds (#2182)
We mostly switched to python3, so we should also install it in gitian
builds. Especially the osx build needs as it otherwise fails due to
missing setuptools.
2018-07-16 15:49:23 +03:00
Alexander Block
7a85e24c37 Remove deprecated gitian-rpi2.yml descriptor (#2183)
Since backporting Bitcoin 0.14 code, we have the arm-linux-gnueabihf
and aarch64-linux-gnu hosts in gitian-linux.yml
2018-07-16 15:48:47 +03:00
PaulieD
d7e2103411 Fixes inaccurate round count in CoinControlDialog (#2137)
* fixes #2068

* Revert prior and update in correct location
2018-07-16 15:48:02 +03:00
UdjinM6
1681d6366f
Replace Dash-specific threads with Dash-specific scheduled tasks (#2043)
* Replace Dash-specific threads with scheduled tasks

* Fix rare crash when trying to shutdown wallet during mixing

Should stop PS and release all keys _before_ wallet is destroyed.

* fix nowallet

* update doc
2018-07-16 15:47:37 +03:00
Nathan Marley
dac090964f remove dashpay.io dns seed entry (#2181) 2018-07-13 13:00:55 +03:00
Alexander Block
753c2436bd Fix MissingPropertyException on Jenkins when no cache was found (#2180) 2018-07-12 18:43:20 +03:00
Alexander Block
f3e380659a Move to in-docker CI builds and add Jenkins support (#2178)
* GCC-7 and glibc-2.27 compat code

* Statically link libstdc++ for GCC based builds

Makes sure binaries which are built on a newer build host still work
on older distros.

* Use python3 when installing MacOS native tools

* Move actual build logic out of Travis and upgrade to gcc-7

Travis will now simply call a few scripts which do the actual work.
These scripts will first create a "builder image" which contains the
necessary environment for the actual build. Then scripts are called
inside this builder image to do the build.

This should make us more independant from Travis and also allows us
to do local CI testing.

The build matrix is also moved out of .travis.yml and instead moved
into ci/matrix.sh. This script is sourced with only "BUILD_TARGET" being
set so that it internally can figure out which other environment
variables need to be set.

This commit also upgrades the used GCC version to 7. This is due to the
use of ubuntu:bionic as base image for the builder image.

* Add Jenkinsfiles for regular CI and nightly gitian builds

* Automatically download OSX SDK in gitian-build.sh

* Remove bogus "export MAKEJOBS=-j5"

* Forward cache/src dirs into builder container

Fixes caching issues on Travis.

* fix

* Fail build immediately when building depends took too long
2018-07-12 16:28:59 +03:00
Alexander Block
23dde9f12b Remove a few annoying debug prints from CMasternodeMan (#2179)
These are occurring every second and cause more noise than actual
information.
2018-07-12 12:17:19 +03:00
Oleg Girko
5036d7dfc5 depends: Update Qt download url (#2177) 2018-07-12 12:09:02 +03:00
Nathan Marley
e23339d6f0 use nullptr in Dash-specific code (#2166)
This is recommended in modern C++ code as nullptr is more type-safe and can't
be converted to an integer, unlike NULL.
2018-07-12 12:08:43 +03:00
Nathan Marley
42c193df08 replace map count/insert w/emplace in instantx.cpp (#2165)
* replace map count/insert w/emplace in instantx.cpp

This feels like an optimization, something about:

```
if map.count(key)
     return false
else
     insert(pair)
     return true
```

... just feels icky. Plus, `vote.GetMasternodeOutpoint()` is only called
once. The previous version might be slightly more readable, however.

* use std::pair template constructor shortcut
2018-07-12 12:08:22 +03:00
Nathan Marley
fd70a1eb92 iterator cleanup in several places (#2164)
* iterator cleanup in Dash-specific code

* const

* *Pair/pair

* it++ -> ++it
2018-07-12 12:07:51 +03:00
strophy
df1be90ce1 Update links to obsolete documentation (#2162)
* Update links to obsolete documentation

* Change link text
2018-07-12 12:07:17 +03:00
PaulieD
0e689341d2 Implement Governance ZMQ notification messages (#2160)
* fix whitespace

* added zmq stuff for governance objects and votes
it seems that zmq is currently not in a working state, need to figure that out.

Need to:
plug in the new methods added
possibly plug in the old methods, as it doesn't look like they are.

* formatting fix. Will probably need to revert for this PR

* continue linking new zmq messages in

* added comment, might need to revert

* fixes error of it not knowing about the classes

* Actually link in, all new govobjects and govvotes should be broadcast over zmq now.

* fix compile error, forgot to change params when copying

* fix compile error

* add imports to the header files in zmqconfig.h

* fixing linking(i think) error

* Revert "added comment, might need to revert"

This reverts commit 2918ea40fe.

* Revert "formatting fix. Will probably need to revert for this PR"

This reverts commit ca10558866.

* fix tabs etc

* EOL added

* optimization of hash.begin() @nmarley thoughts?

* remove formatting changes

* iterator i -> it and removal of notifier

* typo in df879f57

* use auto for the iterators

* introduce hash prefix

* implement changes in zmq_sub.py, update the doc, and change argument name to fix typo

* deref iterators before calling methods

* continued e8a4c505

* missed one... continued e8a4c505

* killing some tabs

* fix spacing for setting or comparing iterators

* change order of new variables to match current setup

* re-add elif's I didn't realize got removed

* Revert "fix spacing for setting or comparing iterators"

This reverts commit 8ce2068148.

* Revert "use auto for the iterators"

This reverts commit cb16cf0760.

* Revert "missed one... continued e8a4c505"

This reverts commit 2087cf894f.

* Revert "continued e8a4c505"

This reverts commit a78c8ad2c9.

* Revert "deref iterators before calling methods"

This reverts commit e8a4c505d1.

* Revert "iterator i -> it and removal of notifier"

This reverts commit 29574248b1.

* Revert "fix whitespace"

This reverts commit 612be48d96.

* Revert "typo in df879f5"

* Revert "Optimization of hash.begin()"

* fixes problem with revert

* Udjin complain's a lot ;)

* help text, init.cpp

* add signals in validationinterface.cpp

* Change location of vote notification call.

* remain consistent

* remove unneeded include due to change of notification location

* implement raw notifications
2018-07-12 12:06:30 +03:00
PaulieD
448e92f4aa GetOutPointPrivateSendRounds readability (#2149)
* .gitnore visual studio bs

* Improves the readability of the `GetOutpointPrivateSendRounds` function by not having the second argument be needed, as the second arg should only not be 0 when it is recursively calling itself

* Revert ".gitnore visual studio bs"

This reverts commit 129b5242ad.

* changed back comment and fixed allignment

* refactor based on Udjin's suggestions.

* refactor based on Udjin's suggestions.

* fix alignment

* Revert "fix alignment"

This reverts commit c2cc2ae531.

* actually fix alignment

* actually fix alignment
2018-07-12 12:05:39 +03:00
gladcow
6da2837bdd InstantSend Integration tests (#2141)
* adjust `AddLocal` method only in regtest mode

* Create Masternodes in regtest

* sentinelping call for masternodes

* set externalip option for masternodes in regtest

* fix MNB relay during masternodes creation

* fix node_count naming

* instantsend doublespend

* decrease node restarts

* prevent spending masternode collaterals

* move long test to the test list start

* remove InstantSend spork sending

* remove spork-specific code

* fix checking double spend rejection
2018-07-12 12:04:42 +03:00
UdjinM6
3c89983db6
Remove DarksendConfig (#2132) 2018-07-12 12:03:26 +03:00
PaulieD
43091a3efd PrivateSend Enhancement: Up default round count to 4 and allow user to mix up to 16 rounds (#2128)
* Allows a user to mix up to 16 rounds

All codebase appears to accept up to 16 rounds, however this form was capped at 8; restricting users to 2-8 rounds. This commit allows a user to actually use up to 16 rounds in practice. This will greatly enhance the privacy of those very worried about their privacy, as well as possibly increasing liquidity and increasing the privacy of all users.

* Up the default for PS mixing to 4 rounds.
2018-07-12 12:02:51 +03:00
Nathan Marley
8ee9333bc2 remove boost dependency from Dash-specific code (#2072)
* replace boost casts in dash-specific code

Specifically for spork.cpp : this should be temporary until all spork
sigs are based on hash and not string serialization format, after which
I expect the old signatures (else branch) should go away altogether. But
I still think it's worth it to get pieces of the boost dependency
removed, and this is an easy win, and could be merged now or in a patch
release w/o issue.

* replace boost::shared_ptr w/std::shared_ptr
2018-07-12 12:02:20 +03:00
gladcow
2c0d4c9d77 Save/load InstantSend cache (#2051)
* CTxLockCandidate serialization

* COutPointLock serialization

* CInstantSend serialization

* Read/write instantsend.dat file

* Read\write InstantSend cache only if InstantSend is enabled
2018-07-12 12:01:48 +03:00
UdjinM6
a527845e4f
Bump to 0.12.4.0 pre-release (#2167) 2018-07-12 12:01:10 +03:00
UdjinM6
855ac356ad
Release notes 0.12.3.2 (#2174)
* Archive release notes 0.12.3.1

* Release notes 0.12.3.2

* add 2175

* add 2176
2018-07-09 12:51:55 +03:00
UdjinM6
2ba0c77604
Add tests for special rules for slow blocks on devnet/testnet (#2176)
* Add tests for special rules for slow blocks on devnet/testnet

* add 20m and 3h
2018-07-09 12:42:11 +03:00
UdjinM6
b9a83d2ae6
Allow mining min diff for very slow (2h+) blocks (#2175) 2018-07-08 14:05:55 +03:00
UdjinM6
7b9919d182
Fix issues with selections on Masternode tab (#2170)
Preserve selection on "My Masternodes" sub-tab, disable selections on "All Masternodes" sub-tab.
2018-07-08 00:20:15 +03:00
UdjinM6
2474d9cb8c
Sync mn list and mnw list from 3 peers max (#2169)
Should solve issues with initial sync and reduce load/bandwidth in general.
2018-07-08 00:19:54 +03:00
Alexander Block
2c303cdb11 A few devnet related fixes (#2168)
* Remove testnet seeds from devnet

* Lift multiple ports restriction on devnet when considering new nodes

Allow to connect to multiple nodes behind the same IP

* Don't skip addresses with non-default port if it matches -port

If the user specified -port, he very likely intends to connect to nodes
with the same port.

* Don't pass false to CAddrMan constructor as it is already the default

* Make if statements easier to read
2018-07-08 00:19:33 +03:00
UdjinM6
050cabdf52
Adjust diff for slow testnet/devnet blocks a bit smoother (#2161)
* Adjust diff for slow testnet/devnet blocks a bit smoother

* bump to 000000000000000000000000000000000000000000000000003ff00000000000

* bump slow blocks to 10 minutes
2018-07-08 00:19:01 +03:00
PaulieD
c4698d5f3d Make PS Buttons not react to spacebar (#2154)
* Make the togglePrivateSend button not react to the spacebar or enter. #1766

* redo comment

* change `privateSendAuto` focus policy to remain consistent
2018-07-08 00:18:29 +03:00
UdjinM6
f833e2ed6c
Bump to 0.12.3.2 (#2173) 2018-07-08 00:17:36 +03:00
UdjinM6
1deab35186
Merge pull request #2159 from UdjinM6/mergetomaster1231
Merge develop 0.12.3.1 into master
2018-07-01 01:43:22 +03:00
UdjinM6
eebfa7986b Merge branch 'develop' into mergetomaster1231 2018-07-01 01:06:00 +03:00
UdjinM6
cf0ef9e63c
Bump to 0.12.3.1 (#2158)
* update release notes

* Bump to 0.12.3.1

* update Doxyfile
2018-06-30 23:39:49 +03:00
UdjinM6
a80ef04238
Update release notes (#2155)
* Update release notes

* add 2157
2018-06-30 22:29:25 +03:00
UdjinM6
fda74b4a8c
Use correct protocol when serializing messages in reply to getdata (#2157)
Messages should be serialized according the protocol of the peer who asked us or otherwise peers running on other protocols won't be able to deserialize the message correctly.
2018-06-30 21:18:37 +03:00
Kamil Woźniak
4dbde218b9 Fix p2pkh tests asserts (#2153)
Even the results were as expected,
IsPayToPublicKeyHash() breaks at size checking step now, as was intended.
Also removes compile time array-bounds warning.
2018-06-29 01:23:25 +03:00
UdjinM6
26c891f67f
Fix block value/payee validation in lite mode (#2148) 2018-06-29 01:23:06 +03:00
UdjinM6
7ab5b4a28e
Update/optimize images (#2147)
* update optimize-pngs.py with new paths

* `python contrib/devtools/optimize-pngs.py`

Total reduction: 22025 bytes

* update share/pixmaps/*
2018-06-29 01:22:48 +03:00
UdjinM6
5e1149a655
Update release notes (#2142)
* Update release notes

* add 2145
2018-06-24 22:05:54 +03:00
UdjinM6
9af9d57b41
Release 0.12.3 (#2145)
CLIENT_VERSION_IS_RELEASE false->true
2018-06-24 21:21:56 +03:00
InhumanPerfection
0d5426343d Fix an edge case in PrepareDenominate (#2138)
* PrepareDenominate fix

* Fix conditions
2018-06-22 18:57:46 +03:00
UdjinM6
8e6364694f
Bump SERIALIZATION_VERSION_STRINGs (#2136)
This is needed to ensure masternode and governance cache cleanup on migration.
2018-06-19 18:48:16 +03:00
UdjinM6
d46dc0f56c
Update release notes (#2135) 2018-06-19 13:57:48 +03:00
PaulieD
700b7ceb73 RPC: dumphdinfo should throw an error when wallet isn't HD (#2134)
* Throws an RPCError `RPC_WALLET_ERROR` when the command `dumphdinfo` is called and the wallet is not HD

* Refactor based on @Udjin's post
2018-06-19 08:52:32 +03:00
UdjinM6
6410705211
Fix 2 small issues in sporks module (#2133)
* Fix a crash when someone tries to update sporks without specifying `sporkkey`

Before:
Crashes with `Assertion failed: (fValid), function GetPubKey, file key.cpp, line 156.`

After:
Fails and prints rpc help for `spork`

* Silence logging in CSporkMessage::CheckSignature() a bit

CMessageSigner::VerifyMessage() failure is not really an error
if CHashSigner::VerifyHash() below passes with no issues.
No need to log this.
2018-06-19 02:40:55 +03:00
UdjinM6
6bf389afb8
Don't drop mnb-s for outdated MNs (#2131)
Instead just mark them as MASTERNODE_UPDATE_REQUIRED and proceed further.
2018-06-19 02:40:38 +03:00
UdjinM6
97b9b4fedc
Bump nMinimumChainWork, defaultAssumeValid and checkpoints (#2130) 2018-06-19 02:40:10 +03:00
UdjinM6
1c9917e227
Fix CVE-2018-12356 by hardening the regex (#2126) 2018-06-18 19:08:27 +03:00
UdjinM6
b7c326115e
Do not create mnb until sync is finished (#2122)
We don't relay mnb if sync is still in progress. Creating mnb without
relaying it only increases inconsistency and leads to user confusion.
Unifying conditions for creation and relaying fixes this.
2018-06-18 19:08:00 +03:00