Commit Graph

13075 Commits

Author SHA1 Message Date
UdjinM6
17dfbdea1b Merge #924: Fix AddRef() usage
513506f Fixing AddRef() usage
Using AddRef() in ConnectNode() for existing connections doesn't feel right considering how refs are released in ThreadSocketHandler(). I guess this could be the reason that sometimes refs stay >0 no matter what and nodes stuck in vNodesDisconnected forever which means that node never get deleted and FinalizeNode signal is never fired which in its turn means that for example mapBlocksInFlight can't be cleaned properly and then blocks stuck.

This commit should solve the issue by:
- removing AddRef() for existing connections
- adding AddRef() in CNode's constructor using the same conditions as in ThreadSocketHandler()
- addding AddRef() in ConnectNode() and Release() in ThreadSocketHandler() for mixing nodes
- removing explicit calls to Release() (back to `pnode->fDisconnect = true` in `CMasternodeMan::ProcessMasternodeConnections`)

9da4a83 fix names/comments
2016-07-30 13:05:41 +02:00
UdjinM6
d514ee7f9a Merge #922: Refactor/fix spork
42bdf42 Refactor/fix spork:
- move ProcessSpork, GetSporkValue, IsSporkActive, ExecuteSpork and mapSporksActive to CSporkManager
- move Sign, CheckSignature, Relay to CSporkMessage
- move ReprocessBlocks out of sporks to main.cpp / rename DisconnectBlocksAndReprocess to DisconnectBlocks
- rename SporkKey to SporkPubKey
- bugfix: only set strMasterPrivKey if spork signature produced by that key was verified successfully
- few log format changes, cleaned up includes
2016-07-30 13:04:27 +02:00
Holger Schinzel
7551d2da26 Merge #923: Backport prevector fixes
Backport prevector fixes
2016-07-30 13:03:20 +02:00
Kaz Wesley
0baa033c28 test prevector::swap
- add a swap operation to prevector tests (fails due to broken prevector::swap)
- fix 2 prevector test operation conditions that were impossible
2016-07-30 05:18:30 +03:00
Kaz Wesley
ba7def0ef6 prevector::swap: fix (unreached) data corruption
swap was using an incorrect condition to determine when to apply an optimization
(not swapping the full direct[] when swapping two indirect prevectors).

Rather than correct the optimization I'm removing it for simplicity. Removing
this optimization minutely improves performance in the typical (currently only)
usage of member swap(), which is swapping with a freshly value-initialized
object.
2016-07-30 05:18:17 +03:00
Kaz Wesley
7547ef23ee prevector: destroy elements only via erase()
Fixes a bug in which pop_back did not call the deleted item's destructor.

Using the most general erase() implementation to implement all the others
prevents similar bugs because the coupling between deallocation and destructor
invocation only needs to be maintained in one place.
Also reduces duplication of complex memmove logic.
2016-07-30 05:17:57 +03:00
UdjinM6
66fb11c964 Merge #919: Add option to hide warning about low keys
b4647b5 Add option to hide warning about low keys before creating autobackup (but still warn if backup fails)
2016-07-29 10:36:49 +02:00
UdjinM6
8f9544c46e Merge #917: Move broadcast creation to CMasternodeBroadcast
8ee7b8a Move broadcast creation to CMasternodeBroadcast
2016-07-29 07:32:08 +02:00
UdjinM6
3e0eee4c84 Merge #921: Fix project name Dash -> Dash Core
ef1612a Fix project name Dash -> Dash Core
2016-07-29 07:30:19 +02:00
UdjinM6
a4d012069a Merge #920: Slightly refactor FindRandomNotInVec
61e16a3 Slightly refactor FindRandomNotInVec
2016-07-29 07:29:41 +02:00
UdjinM6
0c65a9c892 Merge #918: Change anonymizedashamount -> privatesendamount for consistency
74f2725 Change anonymizedashamount -> privatesendamount for consistency
2016-07-29 07:28:57 +02:00
UdjinM6
ee17056ddc Merge #915: Store block hash in CDiskBlockIndex
de36227 Store block hash in CDiskBlockIndex
2016-07-29 07:27:47 +02:00
UdjinM6
57a72a0ca2 Merge #913: Further SelectCoinsGrouppedByAddresses / mixing process improvements/fixes
98ccf6b Replace GetAnonymizableCredit by additional conditions in SelectCoinsGrouppedByAddresses
cd9830a Fix a bug in GetDenominatedCredit
2016-07-29 07:27:05 +02:00
UdjinM6
1e1a02be36 fix tests 2016-07-19 11:15:54 +03:00
UdjinM6
48d0edcbdf Merge remote-tracking branch 'bitpay/0.12.1-bitcore' into dashBitcore1
Resolved Conflicts:
	.travis.yml (ignoring changes, leaving dash version)
	src/Makefile.am
	src/main.cpp
	src/main.h
	src/rpcclient.cpp
	src/rpcserver.cpp
	src/script/script.cpp
	src/script/script.h
2016-07-19 08:49:28 +03:00
UdjinM6
113e56dd8a Merge #906: Improve CreateDenominated and MakeCollateralAmounts
ca207f6 Improve CreateDenominated and MakeCollateralAmounts:
- should use funds only from the same receiving address
- should denominate while has funds but has not enough denoms
- slightly refactored

20d3a23 Add few more improvements to CreateDenominated and MakeCollateralAmounts:
- return change to the origin address to use it in future splits
- fix a bug with incorrect overshoot
- more debug (optional/errors only) and fixed var names
2016-07-15 12:21:20 +02:00
UdjinM6
90adb89233 Merge #903: Implement transaction lock zmq notifications
15a6a16 Implement transaction lock zmq notifications
3bc86a6 always push zmqpubhashtxlock even if tx is not from/to our wallet
568315b fix typo
b6d41d2 fix data size for notification name
339be11 implement zmqpubrawtxlock
70f44f9 update zmq_sub.py with hashtxlock and rawtxlock
2016-07-15 08:38:33 +02:00
UdjinM6
175508d6b7 Merge #908: Remove global strMasterNodePrivKey
00743b8 Remove global strMasterNodePrivKey - no need to extract keys all the time, store them in CActiveMasternode and reuse when needed
2016-07-15 08:36:00 +02:00
UdjinM6
8cdf85323b Merge #909: Randomize DoAuto timeouts
bbeb033 Randomize DoAuto timeouts
2016-07-15 08:34:16 +02:00
UdjinM6
a0acb4bbac Merge #910: Refactor CActiveMasternode
- move wallet related functions GetMasternodeVin and GetVinFromOutput to wallet.cpp/h (renamed, refactored)
- use new ONLY_1000 coin type to avoid unlocking/locking mn outputs and cut down loops count from 2 to 1 (SelectCoinsMasternode removed)
2016-07-15 08:33:16 +02:00
Wladimir J. van der Laan
1233cb42dd
Merge #8302: 0.12.2: [Qt] Disable some menu items during splashscreen/verification state
fe98533 [Qt] Disable some menu items during splashscreen/verification state (Jonas Schnelli)
2016-07-11 12:29:01 +02:00
Wladimir J. van der Laan
5c84382076
Merge #8318: [0.12] Backport "Rename OP_NOP3 to OP_CHECKSEQUENCEVERIFY #7540"
c4e5688 Rename NOP3 to CHECSEQUENCEVERIFY in rpc tests (BtcDrak)
ac5577b Rename OP_NOP3 to OP_CHECKSEQUENCEVERIFY (BtcDrak)
2016-07-11 11:53:19 +02:00
BtcDrak
c4e5688230 Rename NOP3 to CHECSEQUENCEVERIFY in rpc tests 2016-07-08 11:44:16 +01:00
BtcDrak
ac5577b512 Rename OP_NOP3 to OP_CHECKSEQUENCEVERIFY 2016-07-08 11:44:16 +01:00
UdjinM6
dd5bd97561 change default datadir to DashCore(Win,Mac)/.dashcore(Linux) as discussed in #898 2016-07-06 23:26:21 +03:00
UdjinM6
9cb4dfca79 Fix #900 - MN tab option switch crash (#902)
6d1a376 Fix #900 - MN tab option switch crash
2016-07-06 16:33:12 +02:00
UdjinM6
3c29252469 Fix #899 - Information window glitch (#901)
5f1fe9a Fix #899 - Information window glitch
2016-07-06 16:32:48 +02:00
Holger Schinzel
025f0901c4 Merge #897: Merge Bitcoin 0.12.1
This brings Dash 0.12.1.x codebase in line with Bitcoin release 0.12.1
2016-07-05 20:34:21 +02:00
Holger Schinzel
f4e4dd65e7 Tag 0.12.1 final
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEbBAABCgAGBQJXD/i3AAoJEHSBCwEjRsmmOHsH+L5eRpiPeLhrDYyBFbp9RFKU
 TztyoeKAM4llEPmk6vAawgSL8HNY4va6lbY84sDfvCdLJqCxVR7MyiuQ4AQPXG4R
 Ke5DJ/G/K4ngyqruCBsSh2RJdVDrbE3zCmjN5gxPxrNKpi+mXs//A6gjvfxn4U1F
 WZepN3FzNFcqFG/ndKxptMYZoIuiK9JIhK7V/ksFKRPlUhipa1jh5sIWvCeFjiLT
 Wt8wGlHPHDFsPJW1o7EWMTHRhNCVqYhMDU7GT6FixIJFRGANIGlwfIUuqqUt0sil
 7YWIwD/+ai3dfeODazauqJAOEBXjoWCkuXn9IN/VhtvHOFR6AZO2aljS9ks6Cw==
 =6vRi
 -----END PGP SIGNATURE-----

Merge bitcoin tag 'v0.12.1' into dash v0.12.1.x

Merging Bitcoin 0.12.1 into Dash 0.12.1.x
2016-07-04 11:20:16 +02:00
Jonas Schnelli
fe98533b40 [Qt] Disable some menu items during splashscreen/verification state
Github-Pull: #8042
Rebased-From: 276ce84fd3
2016-07-04 11:05:07 +02:00
Holger Schinzel
9c302a77da Merge #896: Enable PPA builds
1ca59fe update contrib/debian
7ad1ea8 fix some nits
05e0a12 updated pixmap references to dash
da7ef9c rename

- bitcoin*.png to dash*.png
- bitcoin*.xpm to dash*.xpm

d0d2f05 Update Dash description in Debian control to match the description in the main README.md file
3dc2bab Update Dash description in Debian control to match the description in the main README.md file

- this merges the latest Bitcoin changes and should enable us to provide Dash PPAs via https://launchpad.net/~dash.org/+archive/ubuntu/dash

Closes #880
2016-06-30 19:21:00 +02:00
Wladimir J. van der Laan
080457c4ee
Merge #8148: Backport leveldb build integration to 0.12
9462e79 This is a cherry-pick of 89c844d back to 0.12. (Johnathan Corgan)
932aedd Cherry-pick of f59dceb (#7925) to 0.12. (Johnathan Corgan)
03c709b Backport leveldb build integration to 0.12 (Johnathan Corgan)
2016-06-28 16:05:07 +02:00
UdjinM6
9764e22ed8 Merge #893: Cleanup
3249a63 Fix logging - CTransaction::ToString() always has `\n` at the end of a string, avoid adding empty line
ec03753 make mnw errors and ThreadCheckDarkSendPool less spammy
5b678af fix errorMessage - it should not have `\n`, let output code handle line endings instead
a81cdf7 rename `dash-darksend` thread to `dash-privatesend`
5e4f468 fix/remove outdated code
f1c9678 Break tooltip about third party urls in 2 lines
2016-06-27 17:25:22 +02:00
Wladimir J. van der Laan
9adad33938
Merge #8236: [doc] 0.12.2: prepare release notes
ffff324 [doc] 0.12: prepare release notes (MarcoFalke)
2016-06-22 16:44:06 +02:00
MarcoFalke
ffff324c1b [doc] 0.12: prepare release notes 2016-06-22 09:49:19 +02:00
Holger Schinzel
a38d983b18 Merge #892: Update dnsseeds
c8d3b55 Update dnsseeds
- removed darkcoin.qa
- added dashdot.io
2016-06-21 18:33:33 +02:00
Wladimir J. van der Laan
f3eebcf515
Merge #8230: Fix LogPrint to LogPrintf
ba61949 Fix LogPrint to LogPrintf (TheLazieR Yip)
2016-06-21 10:10:04 +02:00
UdjinM6
214c383ef9 Merge #891: Expose -privatesendmultisession to GUI options
d1ece08 Expose `-privatesendmultisession` to GUI options
2016-06-21 08:13:02 +02:00
UdjinM6
078d5d932b Merge #890: Add getblockheaders RPC
3d382cb Add `getblockheaders` RPC
2016-06-20 21:53:20 +02:00
Holger Schinzel
7b931e1e9d Merge pull request #889 from thelazier/v0.12.1.x-bc8230
Fix LogPrint to LogPrintf
2016-06-20 20:35:05 +02:00
TheLazieR Yip
679d469700 Fix LogPrint to LogPrintf
Printing Log without category defined should use LogPrintf
2016-06-21 01:01:13 +07:00
TheLazieR Yip
ba6194928a Fix LogPrint to LogPrintf
Printing Log without category defined should use LogPrintf
2016-06-21 00:46:59 +07:00
Holger Schinzel
22077db967 Merge pull request #888 from dashpay/v0.12.1.x-gitian-improvements
V0.12.1.x gitian improvements
2016-06-20 15:31:33 +02:00
Wladimir J. van der Laan
44fdacc19f
Merge #8185: [0.12.2] Various qa and test backports
dc38a53 [qa] Move create_tx() to util.py (MarcoFalke)
c0fe8b5 [qa] smartfees: Properly use ordered dict (MarcoFalke)
493b89e [qa] test_framework: Properly print exceptions and assert empty dict (MarcoFalke)
7a83489 Tests: Fix deserialization of reject messages (Suhas Daftuar)
e0b1bbe [qa] pull-tester: Don't mute zmq ImportError (MarcoFalke)
697ed8c Check if zmq is installed in tests, update docs (Elliot Olds)
d5a9de3 tests: Check Content-Type header returned from RPC server (Wladimir J. van der Laan)
ed2f0e3 [qa] maxblocksinflight: Actually enable test (MarcoFalke)
3036282 [qa] httpbasics: Actually test second connection (MarcoFalke)
afbc000 test_framework: python3.4 authproxy compat (Wladimir J. van der Laan)
80b6bfa test_framework: detect failure of bitcoind startup (Wladimir J. van der Laan)
4ffd309 Create SingleNodeConnCB class for RPC tests (Alex Morcos)
4fd6008 travis: 'make check' in parallel and verbose (Cory Fields)
2d2b045 Reenable multithread scheduler test (Pavel Janík)
658307e test: Add more thorough test for dbwrapper iterators (Wladimir J. van der Laan)
2016-06-20 14:06:16 +02:00
Wladimir J. van der Laan
bccc3b9053 gitian: Add --disable-bench to config flags for windows
Forgot to do this in #7776.
2016-06-20 12:53:59 +02:00
Cory Fields
464b3cd367 gitian: create debug packages for linux/windows
The -debug tarballs/zips contain detached debugging symbols. To use them, place
in the same dir as the target binary, and invoke gdb as usual.

Also, because the debug symbols add a substantial space requirement, the build
dirs are now deleted when they're no longer needed.
2016-06-20 12:53:45 +02:00
Cory Fields
413a20e12b gitian: use CONFIG_SITE rather than hijacking the prefix 2016-06-20 12:53:30 +02:00
Cory Fields
4f142caa56 depends: allow for CONFIG_SITE to be used rather than stealing prefix
This does not break any existing prefix behavior, only makes new behavior work.

For example:
CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site ./configure --prefix=/
2016-06-20 12:53:11 +02:00
Wladimir J. van der Laan
4abf0bea08 build: Remove unnecessary executables from gitian release
This removes the following executables from the binary gitian release:

- test_bitcoin-qt[.exe]
- bench_bitcoin[.exe]

@jonasschnelli and me discussed this on IRC a few days ago - unlike the
normal `bitcoin_tests` which is useful to see if it is safe to run
bitcoin on a certain OS/environment combination, there is no good reason
to include these. Better to leave them out to reduce the download
size.

Sizes from the 0.12 release:
```
2.4M bitcoin-0.12.0/bin/bench_bitcoin.exe
 22M bitcoin-0.12.0/bin/test_bitcoin-qt.exe
```
2016-06-20 12:52:05 +02:00
Braydon Fuller
e0d02ff20f Merge pull request #22 from bitpay/revert-20-0.12.1-bitcore-inputconfs
Revert "rpc: add input confirmations to getrawtransaction"
2016-06-16 10:08:08 -04:00