Commit Graph

9251 Commits

Author SHA1 Message Date
UdjinM6
2967aa61a1 Merge #935: Slightly refactor keepass module / replace magic number
0245859 Slightly refactor keepass and use DEFAULT_KEEPASS_HTTP_PORT instead of magic number in init.cpp
2016-08-12 07:39:43 +02:00
UdjinM6
1f6d5fffe6 Merge #934: Fix Inv Bugs
96fad76 Revert part of b669280 and instead fix unknown inv handling in ProcessMessage
2016-08-11 19:32:52 +02:00
Evan Duffield
338b0ce934 Merge pull request #914 from UdjinM6/dashBitcore1
Merge Bitpay's version of Bitcoin Core (additional indexes)
2016-08-08 12:53:34 -07:00
Evan Duffield
dd539c3d69 Merge pull request #905 from UdjinM6/dashcoreDatadir
Change default datadir
2016-08-08 12:42:35 -07:00
Evan Duffield
453c6628cd Merge pull request #895 from UdjinM6/ISKeepLock
Refactor InstantSend to use block count instead of local time
2016-08-08 12:40:01 -07:00
Evan Duffield
5793bee9d6 Merge pull request #931 from UdjinM6/fixGetBlockHashAtHeight
Fix GetBlockHash
2016-08-08 12:32:23 -07:00
UdjinM6
7f89bba83e Refactor InstantSend to use block count instead of local time to set expiration limit - nInstantSendKeepLock. Also make it (and number of blocks to reprocess in case of a conflict) a part of Consensus params and set it to lower numbers for testnet/regtest to be able to break things easier there.
Bump MIN_INSTANTX_PROTO_VERSION
2016-08-08 16:43:15 +03:00
UdjinM6
a73c31f3f0 Fix GetBlockHash - Currently it's doing the job already done by chainActive and it's off by 1 block 2016-08-07 01:04:15 +03:00
crowning-
072fd72ca3 Merge #930: [UI] IPv4, IPv6 and TOR stats added to Information tab
d07ca0c [UI] IPV4, IPv6 and TOR stats added to Information tab

aaa320e [UI] IPv4, IPv6 and TOR stats added to Information tab
2016-08-06 22:52:01 +02:00
UdjinM6
5a8c0c9b9d Merge #928: Refactor All The Things - part1
86d8505 Refactor CActiveMasternode
+ move strMasterNodeAddr to CActiveMasternode

a005c79 Refactor InstantSend
+ new lock cs_instantsend to protect maps on CleanTransactionLocksList()
+ new DEFAULT_INSTANTSEND_DEPTH constant
+ rename MIN_INSTANTX_PROTO_VERSION to MIN_INSTANTSEND_PROTO_VERSION and bump it

d24182c Refactor Privatesend
+ decouple from util.h and version.h
+ more functions for CDarksendBroadcastTx: constructors, signing, serialization
+ move from rand() to insecure_rand() in general but to GetRand() for session id
+ fix defaults
2016-08-05 21:49:45 +02:00
UdjinM6
08703cebe6 Merge #927: Fix GUI MN list
2b1c567 To prevent high cpu usage we should update list only once in MASTERNODELIST_UPDATE_SECONDS seconds or MASTERNODELIST_FILTER_COOLDOWN_SECONDS seconds after filter was last changed. Also changing date/time format - QDateTime ToString() is way to slow for a list of thousands items, using DateTimeStrFormat instead. UI should work much smoother on mainnet now.
2016-08-05 18:47:59 +02:00
UdjinM6
b4cb1e2610 Merge #911: Fix sync process: (#911)
- mn hash compatibility with 70103
- ignore some requests while syncing
- fix locking/initializing in sync
- do not ban for old mnw
- split budget/governance messages/invs
2016-08-05 18:25:03 +02:00
Andy Freer
d2c6b2a74e Merge #926: Change extended key version bytes to BIP32
77613d9 Revert changing BIP32 version bytes to maintain existing Dash versions
6ce0d3e Change to BIP32 values
fe6174b Comments and add regnet EXT_COIN_TYPE
c874a0f Update testnet/regtest EXT_COIN_TYPE
2016-08-02 00:00:24 +02:00
UdjinM6
36c28fad1b Merge #925: fix a bug in #920
e7a2670 fix a bug in #920
2016-07-30 13:34:48 +02:00
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
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
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
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: 276ce84fd3a9561a11ae4c5a00c71ff44d3a59a9
2016-07-04 11:05:07 +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
Holger Schinzel
a38d983b18 Merge #892: Update dnsseeds
c8d3b55 Update dnsseeds
- removed darkcoin.qa
- added dashdot.io
2016-06-21 18:33:33 +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
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
Braydon Fuller
d28f886684 Revert "rpc: add input confirmations to getrawtransaction" 2016-06-15 20:22:35 -04:00
UdjinM6
496a0c31c9 merge #882: Autobackup enhancements + support autobackup in PS
1c860ce Autobackup refactoring and improvements:
- make nWalletBackups globally accessable
- move autobackup code from init.cpp to walletdb.cpp, see AutoBackupWallet function
- refactor autobackup code to warn user if autobackup failed instead of silently ignoring this fact
- refactor autobackup code to be able to backup fresh new wallet right after it was created, add this functionality to init sequence
- add new cmd-line option "-walletbackupsdir" to specify full path to directory for automatic wallet backups, see GetBackupsDir function

0ba1548 autobackup in PS:
- add nKeysLeftSinceAutoBackup to have some idea how many keys in keypool are more or less safe, show it in advanced PS UI mode and in rpc output for privatesend and getwalletinfo commands
- add autobackups support in PrivateSend mixing both in daemon and QT mode, warn user if number of keys left since last autobackup is very low or even stop mixing completely if it's too low

f3a2494 Warn about a special case - less than 60 seconds between restarts i.e. backup file name is the same as previos one. Continue and do not disable automatic backups in this case
.

e7b56bd Refactor to address locked wallets issue, replenish keypool and re-initialize autobackup on unlock (only if was disabled due to keypool issue)
Adjust few message strings.
2016-06-15 21:13:04 +02:00
Chris Kleeschulte
b877c39a14 Merge pull request #21 from braydonf/0.12.1-bitcore-spentlog
main: do not log error when spent info not found
2016-06-15 13:37:04 -04:00
Chris Kleeschulte
645ae33bec Merge pull request #20 from braydonf/0.12.1-bitcore-inputconfs
rpc: add input confirmations to getrawtransaction
2016-06-15 13:36:31 -04:00
Braydon Fuller
c01f78375e mempool: same address and index for an input and output bug
fixes a bug that would happen when an output would match an input with
the same address and index, and would lead to the outputs not appearing
in results.
2016-06-13 11:23:30 -04:00
Braydon Fuller
4dcf3e821c mempool: fix bug with mempool address index iteration
fixes a minor bug where iteration would not end when there are matching
hashes for a p2sh and p2pkh address, and would return results for
both addresses
2016-06-13 11:23:30 -04:00
Braydon Fuller
347f0d1ed4 main: do not log error when spent info not found 2016-06-13 11:18:36 -04:00
Braydon Fuller
fea930aa8c rpc: add input confirmations to getrawtransaction 2016-06-13 11:15:34 -04:00
crowning-
0ee1bb522c Merge #884: [UI] Transaction Date Range: persistence added and format modified
b7546d2 [UI] Transaction Date Range: persistence added and format modified
2016-06-13 14:11:26 +02:00
UdjinM6
a2ad8628a7 Merge #886: also ignore outpoints which are not from currently loaded wallet
c333e09 follow up for #885 - also ignore outpoints which are not from currently loaded wallet
2016-06-13 14:11:17 +02:00
UdjinM6
5945b7053e Merge #885: Fix mnconflock
fd5cca7 Fix mnconflock - could lock spent input if it still was in masternode.conf which makes no sense and looks confusing
2016-06-13 08:39:34 +02:00
UdjinM6
2252f30a66 Merge #883: fix GetAnonymizableCredit
a78ad41 fix GetAnonymizableCredit
2016-06-13 08:39:28 +02:00
Evan Duffield
b43381c2c6 Merge #878: governance propagation
98b7d29 fix invalid cached govobj values
581b46a added information explaining cached variable meanings
390c9c3 add dirty flag for future use
b76304e added other cached flags into output
2016-06-10 07:16:32 +02:00
Pavel Janík
2d2b04543d Reenable multithread scheduler test
Github-Pull: #8016
Rebased-From: db18ab28c7a74bb289bfe6a5f9a4a9f963f71c0b 166e4b0dfa283fbdedc9a6a1e83296500c853a31
2016-06-09 22:52:04 +02:00
Wladimir J. van der Laan
658307e835 test: Add more thorough test for dbwrapper iterators
Github-Pull: #7992
Rebased-From: 84c13e759dbb0de282e2c8ce43d77f4d52fda6d9 6030625631c62b0ffab2ac545c8351fa59dca483 269a4402a8617a539a70b2c332e86f0fe292a7a6
2016-06-09 22:47:27 +02:00
Wladimir J. van der Laan
20d00a180e
Merge #7938: [0.12.2] Backports
c3d1bc3 CBase58Data::SetString: cleanse the full vector (Kaz Wesley)
43c14ac Fix headers announcements edge case (Suhas Daftuar)
06c73a1 Removed call to `TryCreateDirectory` from `GetDefaultDataDir` in `src/util.cpp`. (Alexander Regueiro)
7e71785 Use txid as key in mapAlreadyAskedFor (Suhas Daftuar)
5583a3d Add curl to Gitian setup instrustions (BtcDrak)
d3ead9b Avoid "Unknown command" messages when receiving getaddr on outbound connections. (R E Broadley)
a5bc6a1 Remove vfReachable and modify IsReachable to only use vfLimited. (Patrick Strateman)
52c1011 Clarify description of blockindex (Matthew Zipkin)
21b2f82 Don't resend wallet txs that aren't in our own mempool (Alex Morcos)
66d5408 Fix memleak in TorController [rework] (Wladimir J. van der Laan)
1c3d38b Remove spurious dollar sign. Fixes #7189. (Chris Moore)
64fd0ce fix spelling of advertise in src and doc (jloughry)
a9e73f7 Fix and cleanup listreceivedbyX documentation (instagibbs)
9095594 Do not download transactions during inital sync (ptschip)
2016-06-09 10:22:52 +02:00
UdjinM6
de64f11347 Merge #875: Fix color for PS transaction labels
37bb138 Fix color for PS transaction labels, fixes #874
2016-06-09 08:26:11 +02:00
UdjinM6
36a2c4c92e Merge #872: Dynamically adjust recent tx list item count
befde96 Dynamically adjust recent tx list item count (on overview screen) in correspondence with fShowAdvancedPSUI state and litemode.

Also including a fix for #789
2016-06-08 20:33:00 +02:00
crowning-
9fcca947bb Merge #870: [UI] Masternode Icon Color Adjustment
b158401 [UI] Masternode Icon Color Adjustment
2016-06-08 20:31:44 +02:00
crowning-
779cfe8fff Merge #869: [UI] Overviewpage digits and number of recent transactions changed
8207643 [UI] Overviewpage digits and number of recent transactions changed
9a7d26c [UI] Number of digits on transaction-page reverted
1f707ab [UI] Overview-page NUM_ITEMS reverted to 5
2016-06-08 20:30:57 +02:00
Johnathan Corgan
932aedd99a Cherry-pick of f59dceb (#7925) to 0.12.
=====

qt: Fix out-of-tree GUI builds

Without this patch:

- When I compile the GUI from the bitcoin directory itself, it works as
  expected.

- When I build the GUI in an out-of-tree build, I cannot get it to
  select tabs. When I click, say the "Receive" tab nothing happens,
  the button selects but it doesn't switch the page. The rest - even
  the debug window - seems to work.

See full discussion here:
https://github.com/bitcoin/bitcoin/pull/7911#issuecomment-212413442

This turned out to be caused by a mismatch in the arguments to moc,
preventing it from finding `bitcoin-config.h`. Fix this by passing
`$(DEFAULT_INCLUDES)` to it, which gets set to the appropriate
path by autoconf itself.
2016-06-08 06:29:27 -07:00
Evan Duffield
95ba71570b Merge #864: govobj sync
487674f Governance object/vote syncing fixes
- disable fCached values
- use two maps for storing votes, by hash and parent-hash/type
- disable part of flatdb.dump (still overwriting)
- fixed govobj/votes relay and sync

15821fe various fixes
- Added const where possible
- Uncommented sync block
- Protocol min 70201
- Fixed bug which flags invalid votes incorrectly
- Formatting

aa8fdd7 fix curly braces

d8e39b1 Fix GetTypeHash bug
- Should not collide based on the outcome

732a8a3 fixed mismatched index for vote map
2016-06-08 08:57:16 +02:00
UdjinM6
4d4a9df059 Merge #867: Implement an option to enable/disable advanced PrivateSend UI
953d9fb Implement an option to enable/disable advanced PrivateSend UI, more DS->PS in overview tab code
2016-06-06 21:52:24 +02:00
snogcel
51515775b3 Merge #868: checkbox image for wallet themes
b7ad787 use checkbox image for themes
b9e1c27 checkbox images
1a985cc checkbox images adjustment
2016-06-06 21:52:09 +02:00
crowning-
5ac043c1ba Merge #866: [UI] Column alignement of Transaction-Tab adjusted
191ca63 [UI] Column alignement of Transaction-Tab adjusted
2016-06-06 07:44:59 +02:00
Johnathan Corgan
03c709b422 Backport leveldb build integration to 0.12
This is a cherry-pick of a4625acb with minor conflict
resolution.

Conflicts:
	src/Makefile.am

=====

leveldb: integrate leveldb into our buildsystem

leveldb's buildsystem causes us a few problems:
- breaks out-of-tree builds
- forces flags used for some tools
- limits cross builds

Rather than continuing to add wrappers around it, simply integrate it into our
build.
2016-06-05 12:48:57 -07:00
crowning-
ee31604d59 Merge #865: [Wallet] Transaction View: LastMonth calculation simplyfied
6d20175 [Wallet] Transaction View: LastMonth calculation simplyfied
2016-06-05 07:11:22 +02:00
crowning-
ee830eef06 Merge #822: [Core]: fix restart hanging during wallet-repair
37a934c [Core]: fix restart hanging during wallet-repair
2016-06-05 07:10:41 +02:00
Kaz Wesley
c3d1bc33b5 CBase58Data::SetString: cleanse the full vector
SetString seems to be passing the length of the wrong variable to
memory_cleanse, resulting in the last byte of the temporary buffer not being
securely erased.

Github-Pull: #7922
Rebased-From: 57704499be948c640c789c7fc11ed1abf8a681bd
2016-06-04 18:01:02 +02:00
UdjinM6
3d2bc6a4ca Merge #861: More compatibility for old ipv6 format + refactor
- try old format ipv6 if new format failed to verify
- sanitize log strings
- remove redundant ability to sign CMasternodeBroadcast in `protocolVersion < 70201` way
- verify CMasternodeBroadcast immediately on Sign
- move all CMasternodeBroadcast sig verification from CheckAndUpdate to VerifySignature
- initialize nDos at the beginning of functions so that we don't accidentally ban or reject legit MN if caller function forgot to reinitialize it
2016-06-03 06:59:19 +02:00
UdjinM6
c615a22898 Merge #862: make MasternodeList qt4 compatible
9c61b11 make MasternodeList qt4 compatible, fixes #859
2016-06-03 06:59:14 +02:00
Braydon Fuller
55fa4798eb main: spentindex for the mempool 2016-06-02 12:15:59 -04:00
Braydon Fuller
4c7dc871d1 rpc: add input value and address to getrawtransaction if spentindex enabled 2016-06-02 12:15:38 -04:00
Braydon Fuller
16d35eb228 main: add amount and address to spentindex value 2016-06-02 12:15:38 -04:00
Braydon Fuller
87dfd13694 rpc: include satoshis in verbose raw transaction 2016-06-02 12:15:38 -04:00
Braydon Fuller
1c022b9fc2 rpc: add blockindex to getaddressdeltas method
for the purposes of secondary sorting by block order
2016-06-02 12:15:37 -04:00
Braydon Fuller
3c74fff552 rpc: include help text for addressindex and related commands 2016-06-02 12:15:37 -04:00
Braydon Fuller
eb82f39655 rpcclient: add params to be parsed as JSON
There was an issue where getblockhashes wouldn't work from bitcoin-cli
as the two params would be strings instead of integers. This fixes that
issue, and will parse the first param as JSON for other addressindex
related rpc methods.
2016-06-02 12:15:37 -04:00
Braydon Fuller
5fa85bc9ae rpc: update oksafemode for address commands 2016-06-02 12:15:37 -04:00
Braydon Fuller
98f8fdddc8 rpc: optional "start" and "end" params for getaddressdeltas 2016-06-02 12:15:37 -04:00
Braydon Fuller
8391ff0b0a rpc: include base58check encoded address in results 2016-06-02 12:15:37 -04:00
Braydon Fuller
5c3cf5f631 rpc: include prevhash and prevout information for spending deltas 2016-06-02 12:15:37 -04:00
Braydon Fuller
04da9306c6 build: fix darwin build 2016-06-02 12:15:37 -04:00
Braydon Fuller
94ea69a4d5 rpc: fix issue with querying txids by block heights 2016-06-02 12:15:37 -04:00
Braydon Fuller
96d8307b55 rpc: query txids for addresses within block height range 2016-06-02 12:15:37 -04:00
Braydon Fuller
abe40712ce rpc: include height in spentinfo 2016-06-02 12:15:37 -04:00
Braydon Fuller
b752fbe09e rpc: include spent info if spentindex enabled with getrawtransaction verbose 2016-06-02 12:15:37 -04:00
Braydon Fuller
e3d9207e5a main: add spentindex option 2016-06-02 12:15:37 -04:00
Braydon Fuller
8636f36477 rpc: cast indexes to ints 2016-06-02 12:15:14 -04:00
Braydon Fuller
4678f2d438 build: add addressindex.h to make 2016-06-02 12:15:14 -04:00
Braydon Fuller
7c68235cf4 main: include timestampindex in help 2016-06-02 12:15:14 -04:00
Braydon Fuller
d99f17de1a rpc: give back base58 encoded address format in utxos 2016-06-02 12:15:14 -04:00
Braydon Fuller
b66eff47cf main: mempool address index 2016-06-02 12:15:14 -04:00
Braydon Fuller
1bd65a5c4b main: sort address index utxos by height 2016-06-02 12:15:14 -04:00
Braydon Fuller
d0483c9aa0 main: remove spent address utxo indexes 2016-06-02 12:15:14 -04:00
Braydon Fuller
21c675855f main: don't undo indexes when verifying blocks at startup 2016-06-02 12:15:14 -04:00
Braydon Fuller
24894cb748 main: update unspent address index during reorgs 2016-06-02 12:15:14 -04:00
Braydon Fuller
08836972c0 rpc: fix argument check for getaddressutxos 2016-06-02 12:15:14 -04:00
Braydon Fuller
0b42ba227a main: index unspent outputs by address 2016-06-02 12:15:14 -04:00
Braydon Fuller
8597289d8b main: fix order of address index when disconnecting block 2016-06-02 12:15:14 -04:00
Braydon Fuller
186e11fde7 main: update address index during reorgs 2016-06-02 12:15:14 -04:00
Braydon Fuller
38a7d6d323 rpc: optimize address txid queries 2016-06-02 12:15:14 -04:00
Braydon Fuller
cad092aebb main: get address deltas between range of block heights 2016-06-02 12:15:14 -04:00
Braydon Fuller
206882cd4b main: fixed bug with overlapping address index keys
There was a bug where the spending address index could have the same key
as the receiving address index if the input and output indexes matched. This lead
to the output always overwriting the input index leading to incorrect balances
with missing spent amounts. This patch separates the two so that they have unique
keys so balances will be correctly calculated.
2016-06-02 12:15:14 -04:00
Braydon Fuller
935ca8f832 main: add block timestamp index 2016-06-02 12:15:13 -04:00
Braydon Fuller
24deb4efc1 rpc: include height in getrawtransaction results 2016-06-02 12:15:13 -04:00
Braydon Fuller
2e8a4c00fa rpc: add receieved to balance 2016-06-02 12:15:13 -04:00
Braydon Fuller
5bb6d69ff8 rpc: added getaddressbalance method using addressindex 2016-06-02 12:15:13 -04:00
Braydon Fuller
7dbbb79cec rpc: only sort when combining multiple results
It's only necessary to sort when combining results for several addresses
as the results are already in order from the database.
2016-06-02 12:15:13 -04:00
Braydon Fuller
7959a19085 main: serialize height in BE for address index key
fixes a sorting issue when iterating over keys
2016-06-02 12:15:13 -04:00
Braydon Fuller
5b5f3f7d00 rpc: sort txids by height for multiple addresses 2016-06-02 12:15:13 -04:00
Braydon Fuller
f4d11ffc7c rpc: query for multiple addresses txids 2016-06-02 12:15:13 -04:00
Braydon Fuller
2500d1d115 rpc: update getaddresstxids for uniqueness 2016-06-02 12:15:13 -04:00
Braydon Fuller
fcac6bcdc8 rpc: fix issue for querying txids for p2sh addresses 2016-06-02 12:15:13 -04:00
Braydon Fuller
18ea599a71 main: index address index sorted by height 2016-06-02 12:15:13 -04:00
Braydon Fuller
73b2d0851b test: added unit tests for CScript.IsPayToPublicKeyHash 2016-06-02 12:15:13 -04:00
Braydon Fuller
9babc7ff9f main: start of address index
Adds a configuration option for addressindex to search for txids by address. Includes
an additional rpc method for getting the txids for an address.
2016-06-02 12:15:13 -04:00
UdjinM6
914802bab4 merge #857: add difficulty in getchaintips output for convenience
a50861e add `difficulty` in `getchaintips` output for convenience
2016-06-02 14:40:39 +02:00
Holger Schinzel
839ae4ba17 merge #856: update testnet checkpoint
0143dc9 update testnet checkpoint
2016-06-02 08:12:02 +02:00
UdjinM6
284e2c41cc merge #855: Fix bad mn sig ipv6
51696ac make use of getnameinfo() optional (default: true)
bec39b8 fix mnb sig bug for ipv6 addresses: use pure byte to hex conversion for construction of masternode broadcast signature, better logging
2016-06-02 08:11:56 +02:00
Holger Schinzel
b5924a2451 merge #850: update splash screen
bd9d27a update splash screen
2016-06-02 08:11:47 +02:00
Holger Schinzel
9b9d105c23 merge #854: update testnet checkpoint
c4b12e9 update testnet checkpoint
2016-06-01 19:33:26 +02:00
Evan Duffield
d0ad4ad0e4 V0.12.1.x govobj submission (#846)
* Remove nTime from IsCollateralValid and document function
2016-05-31 22:00:01 +02:00
Holger Schinzel
dad85d9c12 Merge pull request #845 from dashpay/v0.12.1.x-update-seeders
updated testnet seeders
2016-05-31 20:05:13 +02:00
Evan Duffield
2d429a7f31 Merge pull request #836 from UdjinM6/fixMasternodeSignatures
Fix masternode signatures, bump PROTOCOL_VERSION
2016-05-31 10:57:10 -07:00
Wladimir J. van der Laan
e7ec24e336
Merge #8001: [0.12.2] backport script_tests improvements
e3a9ce9 Refactor script tests (Pieter Wuille)
87129b2 test: script_error checking in script_invalid tests (Wladimir J. van der Laan)
2016-05-31 15:52:55 +02:00
Holger Schinzel
3f76398e68
updated testnet seeders 2016-05-31 13:54:09 +02:00
Holger Schinzel
2b286bbc35 Merge pull request #842 from UdjinM6/utf8
Add full UTF-8 support to RPC
2016-05-31 06:57:19 +02:00
UdjinM6
77d34da4dc less locking in IsInitialBlockDownload (#843) 2016-05-31 06:57:05 +02:00
UdjinM6
aa9803473b Yet another fix for rpc autoCompleter, #752 was not enough (#844) 2016-05-31 06:56:58 +02: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
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
528c5edb19 fix fValid caching engine 2016-05-23 14:39:10 -07:00
Evan Duffield
18e9a33e2a changed fee to 0.1D for govobj submission 2016-05-23 11:16:46 -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
Evan Duffield
860d29f9c4 Budget system -> Governance System
- Changed Action -> Signal for clarity
- CBudgetVote -> CGovernanceVote
2016-05-23 10:53:05 -07:00
Holger Schinzel
06b84a4e4a Merge pull request #787 from UdjinM6/lightTheme
fix tab text truncation
2016-05-21 10:45:24 +02:00
UdjinM6
d7cf3393c0 fix tab text truncation 2016-05-20 21:34:52 +03:00
UdjinM6
f89635f73a fix flat-db:
- no reason to read twice on load
- should read using temp object instead the one we want to save on dump
2016-05-20 20:46:34 +03:00
Evan Duffield
2c3e480681 Merge pull request #786 from UdjinM6/rightClickStartAlias
right-click to start alias in "My Masternodes" sub-tab
2016-05-20 10:21:22 -07:00
Evan Duffield
35aa7668a5 Merge branch 'v0.12.1.x' of https://www.github.com/dashpay/dash into v0.12.1.x 2016-05-20 10:19:19 -07:00
UdjinM6
16c20006ca right-click to start alias in "My Masternodes" sub-tab 2016-05-20 16:15:02 +03:00
Holger Schinzel
43cd805282 Merge pull request #781 from UdjinM6/fixLibpngWarning
fix libpng warning
2016-05-20 07:43:57 +02:00
Holger Schinzel
95224abf8e Merge pull request #784 from UdjinM6/fixMasternodeConfRead
fix CMasternodeConfig::read()
2016-05-20 06:01:32 +02:00
Holger Schinzel
bc1f83c02c Merge pull request #779 from evan82/v0.12.1.x
Use chainparams instead of standalone func for mn confirms
2016-05-20 06:01:23 +02:00
UdjinM6
6fb9962424 fix CMasternodeConfig::read() 2016-05-20 01:29:34 +03:00
Evan Duffield
49b8123ae1 commenting out part of flatfile.dump, which is causing data corruption 2016-05-19 14:27:09 -07:00
Evan Duffield
deb0f0ca14 fixed vote casting 2016-05-19 14:08:57 -07:00
Evan Duffield
d8453bb92b Use chainparams instead of standalone func for mn confirms
- Use function instead of chainparams directly
2016-05-19 13:54:23 -07:00
UdjinM6
5d775240b0 fix "GUI: libpng warning: iCCP: known incorrect sRGB profile" using mogrify 2016-05-19 23:14:56 +03:00
Holger Schinzel
cbfbc096d1 Update masternodeconfig.h
removing printf - breaks the build https://travis-ci.org/dashpay/dash/jobs/131496337#L1485
2016-05-19 22:05:58 +02:00
Evan Duffield
a3116768ab Use chainparams instead of standalone func for mn confirms
- Use function instead of chainparams directly
2016-05-19 12:18:16 -07:00
Evan Duffield
22661ad60d Merge pull request #778 from UdjinM6/lightTheme
Fixing light theme
2016-05-19 11:37:08 -07:00