Commit Graph

9579 Commits

Author SHA1 Message Date
Tim Flynn
4e6bb6a375 Fixed incorrect rpcgovernance error/usage message (#1023) 2016-09-16 11:43:15 +04:00
UdjinM6
6e9d1779b9 (mostly trivial) Refactor CMasternode/Ping/Broadcast (#1022)
* Refactor CMasternode/Ping/Broadcast
Most noticable:
- pubkey -> pubKeyCollateralAddress
- pubkey2 -> pubKeyMasternode
- VerifySignature -> CheckSignature
- removed PoSe related stuff (deprecated)

Other variable name changes are trivial. Also adjusted debug log output.

* fix constructors
2016-09-16 02:00:06 +04:00
UdjinM6
9bf1e00f09 rename NetMsgType::IX -> NetMsgType::TXLOCKREQUEST, NetMsgType::IXLOCKVOTE -> NetMsgType::TXLOCKVOTE (#1021) 2016-09-16 00:07:01 +04:00
UdjinM6
4ccc32615d Linearize and simplify few CMasternode* functions (#1020)
* linearize CMasternodePing::CheckAndUpdate

* simplify CMasternodeMan::CheckAndRemove

* linearize CMasternodeMan::ProcessMessage, DSEG part

* fail fast in CMasternode::Check on spent vin, slightly improve readability
2016-09-15 17:30:51 +04:00
UdjinM6
a3ffedba7c masternode score related fixes (#1019)
* refactor CalculateScore (remove mod, remove extra cs_main lock)

* remove GetCurrentMasternode, use GetNextMasternodeInQueueForPayment instead

* fix masternode rpc "current" (calculate node to pay next block), add rpc "winner" (calculate node to vote for)

* remove "calcscore" rpc
2016-09-15 10:50:41 +04:00
UdjinM6
8b13d45b5c more determinism for CompareScore* (#1017) 2016-09-15 10:50:28 +04:00
UdjinM6
7f687fd696 spork debug log: (#1016)
- add "spork" debug category
- move "seen" and "unknown" to new "spork" debug category to reduce log spam
- new/updated/seen messages should not overlap
2016-09-15 10:50:16 +04:00
UdjinM6
d843596304 Masternode payments refactoring/cleanup (#1015)
* refactor CMasternodePaymentWinner::CheckSignature

* refactor CMasternodePaymentWinner::Sign - can only be signed by active masternode

* hold cs_mapMasternodeBlocks till the end of CMasternodePayments::AddWinningMasternode

* refactor CMasternodePaymentWinner::ToString

* use GetStorageLimit() in CMasternodePayments::CheckAndRemove

* refactor CMasternodePaymentWinner

* refactor CMasternodePayments::ProcessBlock

* trivial cleanup, adjusted few log messages

* fix error message returned by CMasternodePaymentWinner::IsValid to include actual bounds that were violated
2016-09-15 10:50:01 +04:00
Tim Flynn
906c62e01c Fixes for a number of issues with governance object validation and propagation (#1018)
* Remove unnecessary call to IsCollateralValid and hence allow superblocks
to propagate

* Added CMasternodeMan::Get overload for masternode vin

* Use vin as masternode identifier instead of public key

* Fixed missing member in copy constructor, improved logging

* Added logging for MasternodeRateCheck failures

* Removed pubkeyMasternode field from CGovernanceObject

* Impose MN trigger creation rate limit only when MN info is synced

* Improve rpcgovernance error handling
 - Prevent attempts to prepare trigger objects (and waste the collateral)
 - Improve clarity of gobject submit error messages
2016-09-15 10:49:24 +04:00
Evan Duffield
f0140dab01 Merge pull request #966 from UdjinM6/mergebtc12
Merge 'bitcoin/0.12', fix/dashify
2016-09-13 08:57:55 -07:00
Evan Duffield
c81f0a3202 Merge pull request #1013 from UdjinM6/refMasBlockPayees
Refactor CMasternodeBlockPayees
2016-09-13 08:46:00 -07:00
Evan Duffield
cefc13fc79 Merge pull request #1012 from UdjinM6/masPayLastVote
Use outpoint instead of hash to track last mn vote for winner
2016-09-13 08:42:27 -07:00
Evan Duffield
6f84dc15c0 Merge pull request #1009 from UdjinM6/lastPaid
Improve mn winners detection
2016-09-13 08:35:59 -07:00
Evan Duffield
7d1dd5f63c Merge pull request #1008 from UdjinM6/makeTestnetMixingHarder
Make testnet mixing as hard as on mainnet
2016-09-13 08:16:41 -07:00
Evan Duffield
658109255d Merge pull request #1006 from UdjinM6/removeDeprecatedSyncMembers
Remove deprecated masternode sync members
2016-09-13 08:15:48 -07:00
UdjinM6
640c594dc4 make sort deterministic in cases when 2 mns are counted as paid in the same block for some reason (e.g. previous fork) 2016-09-13 13:58:33 +03:00
UdjinM6
3d9d91ea96 replace magic number with const (MASTERNODES_LAST_PAID_SCAN_BLOCKS) 2016-09-13 02:21:59 +03:00
UdjinM6
0534632d2b add cs_main lock to GetCollateralAge 2016-09-12 21:06:59 +03:00
UdjinM6
d239a13ee3 Refactor CMasternodeBlockPayees 2016-09-12 20:57:53 +03:00
UdjinM6
56aae1632d refactor CMasternodeBlockPayees::IsTransactionValid 2016-09-12 20:53:06 +03:00
UdjinM6
8641ae189b Assign base58Prefixes[EXT_COIN_TYPE] properly (#1007) 2016-09-12 21:40:46 +04:00
Evan Duffield
c269018016 Merge pull request #1005 from tgflynn/v0.12.1.x-sb-cycle-pr
Set mainnet superblock cycle to monthly
2016-09-12 10:39:22 -07:00
UdjinM6
ea99764baa Remove wallet unlock from masternode cli commands, require walletpassphrase (which locks wallet back after specified timeout) (#1004) 2016-09-12 21:38:52 +04:00
UdjinM6
c80a24c99c Use outpoint instead of hash to track last mn vote for winner 2016-09-12 17:59:56 +03:00
UdjinM6
f5738c001f (trivial) governance cleanup (#1011)
* trivial governance cleanup:
- spaces
- names
- no "using namespace std;"
- few log and rpc messages adjusted
- remove unused
- use defined types
- move few members to private

* fixing after code review
2016-09-12 11:40:00 +04:00
Nathan Marley
1043252d43 consistent JSON return value for failed vote (#1001)
* consistent JSON return value for failed vote

* make JSON output for voting results consistent

* result should be either 'success' or 'failed'
* error message belongs in 'errorMessage' field
2016-09-12 05:17:41 +04:00
UdjinM6
57eb2e1842 Update and store collateral block height and block height at which MN was last paid (scan blockchain to find out who actually was paid). Use storage limit instead of mn count to fetch enough data. Calculate new winner using info about block height at which MNs were paid instead of time. 2016-09-12 02:03:59 +03:00
UdjinM6
9ae4d51bc7 Make testnet mixing harder.
Require 3 participants (same as on mainnet)
2016-09-11 21:34:26 +03:00
Tim Flynn
a31e0cadec Set mainnet superblock cycle to monthly 2016-09-11 14:01:26 -04:00
UdjinM6
08f8300985 Remove deprecated masternode sync members 2016-09-11 21:00:45 +03:00
Nathan Marley
b31ee8441a restore vote-many (#1003) 2016-09-11 21:58:17 +04:00
UdjinM6
84ac8de59d Wallet passphrase lock fixes (#987)
* Wallet passphrase lock fixes:
- wallet should not allow cli commands to bypass lock validation
- wallet should lock again in mixing mode if it was unlocked for mixing and next unlock (e.g. for sending funds) happened
- removed AnonymizeOnlyUnlocked status, it's never going to be reached anymore
- "For anonymization only" checkbox:
  - should be available only when user click "Start Mixing"
  - should be set on by default when available
  - adjusted title
- adjust error messages in walletpassphrase for unlocked wallets

* Add comment about IsLocked() usage

* Final safety check for locked wallet in WalletModel::prepareTransaction
2016-09-11 13:02:54 +04:00
Tim Flynn
d81e729b0a Governance bug fix (#998)
* Added more specific error message about attempts to submit superblocks by
non-masternodes

* Fixed governance object validation bug

* Fixed logic bug in governance object submission
2016-09-09 19:52:10 +04:00
Tim Flynn
740d1e0b1e Push out mainnet superblock start, in case people run 12.1 on mainnet (#999) 2016-09-09 19:51:46 +04:00
UdjinM6
b7e81cb2bd Decouple mn payments from version.h, drop MIN_MNW_PEER_PROTO_VERSION (#960)
* Decouple min mnw versions from version.h, drop MIN_MNW_PEER_PROTO_VERSION in fav of GetMinMasternodePaymentsProto()

* Split min protocol validation for new and old winners in IsValid
2016-09-08 16:04:45 +04:00
Tim Flynn
f76f6fbb8e Governance Fixes/Refactoring Pack (#995)
* Improved exception handling
 - Removed attempts to catch exceptions in intermediate helper function calls
 - Made helper functions for JSON parsing private

* Governance voting fixes
 - Converted voting defines to enums for better type safety
 - Enabled gobject voteraw rpc command
 - Removed unused parameter from gobject getvotes rpc command

* Fixed help message for gobject get

* Improved encapsulation of CGovernanceVote objects
 - CGovernanceVote data members are now private
 - Necessary to ensure that enum values are used for signals and outcomes since data members remain int's for compatibility with serialiation code

* Removed unused cs_budget mutex (has been replaced with governance.cs)

* Fix code review issues
 - Restored early return in ConvertVoteSignal
 - Removed special case for "none" string to make clear that NONE is
   for invalid strings
 - Removed commented defines (informational comments preserved)

* Fixed code review issues
 - Fixed error messages for vote-conf, vote-alias and voteraw
 - Removed voteraw from gobject command list and help messages because
   it is actually a top-level command
 - Fixed parameter indices for voteraw
2016-09-08 15:40:19 +04:00
Holger Schinzel
9738a238fa Merge #997: update testnet checkpoint
696d8f4 update testnet checkpoint
2016-09-08 13:33:29 +02:00
crowning-
a6a0f75614 Merge #982: [RPC] new command 'getsuperblockheight'
1080018 [RPC] new command 'getsuperblockheight' to return the last/next superblock height
2436067 [RPC] new command 'getsuperblockheight' [update 1]
753e00d [RPC] new command 'getsuperblockheight' [update 2]
1ec9289 [RPC] new command 'getsuperblockheight' [update 2]
dbac6e6 [RPC] new command 'getsuperblockheight' [update 3]
e1b7b15 [RPC] new command 'getsuperblockheight' [obsolete include removed]
ee85293 Code review results changes
2016-09-08 13:33:25 +02:00
Tim Flynn
5e564e17d3 Bug fixes for the governance rpc interface (#993)
* Bug fixes for the governance rpc interface
 - Allow use of the gobject getvotes command
 - Fix order of arguments to CGovernanceVote constructor

* Added getvotes to gobject help message and fixed parameter name in the
error/usage message.
2016-09-07 16:02:24 +04:00
UdjinM6
36c4b6dc2e Trivial refactoring/cleanup (#990) 2016-09-05 20:09:25 +04:00
Tim Flynn
8c09a459b1 V0.12.1.x governance fees pr (#988)
* Implemented different fees for different types of governance objects

* Added fee amounts to object returned by getgovernanceinfo

* Implement new requireents for Superblock creation
 - Superblocks creation requires a valid masternode signature
 - Superblock creation no longer requires a collateral fee
 - Superblock creation rate is limited to roughly 1 per masternode per cycle

* Fixed getgovernanceinfo help message

* Removed old governance fee constant

* Fixed bug in IsSignatureValid and added debugging code

* Fixed parent hash variable index and added debugging code

* Modified GetBudgetSystemCollateralTX to take fee amount parameter

* Changes due to code review comments
 - Naming changes
 - Removed confusing comment
2016-09-05 03:44:10 +04:00
UdjinM6
ad4f1dc245 Refactor TransactionDesc::FormatTxStatus (#985)
Should be much easier to read code and to translate strings now.
2016-09-04 05:48:37 +04:00
UdjinM6
126be6fcf9 Slightly refactor masternode list tab, update list of "my" node after start was clicked (#979) 2016-09-04 05:48:23 +04:00
UdjinM6
199bbf5071 Refactor SendDarksendDenominate, split it into 2 decoupled steps. (#976)
As a client, submit part of a future mixing transaction to a Masternode to start the process (SubmitDenominate):
step 1: prepare denominated inputs and outputs (PrepareDenominate, code moved from wallet.cpp, slightly refactored)
step 2: send denominated inputs and outputs (SendDenominate, slightly refactored)
2016-09-02 16:19:29 +04:00
UdjinM6
b40c3e5927 Use Dash addresses in rpc examples (#986) 2016-09-02 16:17:58 +04:00
UdjinM6
46744394a2 More instantx->instantsend (few more ds->privatesend) (#984) 2016-09-02 16:17:32 +04:00
Tim Flynn
851b49aba0 Report amounts in the correct currency (#983) 2016-09-02 01:02:45 +04:00
UdjinM6
0597900c16 Changes for sporks: (#981)
- rename all 3 instantsend sporks
- remove SPORK_7_MASTERNODE_SCANNING (not used anymore)
- change `_DEFAULT` for spork 2 and 3, adjust comments for for them
- fix GetSporkNameByID() (should not return smth_DEFAULT)
2016-09-01 18:55:25 +04:00
UdjinM6
e8ec9a6e06 Trivial: more darksend -> privatesend (#980) 2016-09-01 11:03:47 +04:00
UdjinM6
d48fe533d6 Merge #973: Change log output for CDarksendQueue
def2a7d Change log output for CDarksendQueue
2016-08-29 21:17:00 +02:00
UdjinM6
0cf75d0ef7 Merge #974: Slightly refactor sporks
6648716 Slightly refactor sporks, rename spork9 to SPORK_9_SUPERBLOCKS_ENABLED, remove SPORK_11_RESET_BUDGET (not used anymore)
2016-08-29 21:16:02 +02:00
UdjinM6
bf335ddfb3 Merge #972: Refactor CDarkSendEntry
6debbe6 Refactor CDarkSendEntry
- make it serializable, use constructor, pass objects of CDarkSendEntry type to functions (instead of separate variables
2016-08-29 21:14:34 +02:00
UdjinM6
bc80d7e2a5 Merge #969: Masternode sync improvements
da406e3 Masternode sync improvements
    - add simple helpers for few more sync states (use them where appropriate instead of old code + rpc output)
    - use new helpers to avoid meaningless message processing
    - actually fail if sync shouldn't continue due to lack of info, make sure Reset is used to quit failed state
2016-08-29 21:11:34 +02:00
Tim Flynn
b68e119e4d Changed testnet parameters to activate superblocks for 12.1 with sentinel. (#971)
- Note that this is expected to fork testnet around block 60000
2016-08-29 03:22:25 +04:00
Tim Flynn
35e857a5ca V0.12.1.x sentinel pr 2 (#970)
* Improve JSON error reporting in CGovernanceObject::LoadData

* Changed JSON parsing to match current version of sentinel which now sends
correct JSON integers instead of quoting them as strings
2016-08-29 02:08:27 +04:00
Tim Flynn
0c65204ee6 Merge #967: V0.12.1.x sentinel pr 1 (#967)
d371930 Added nMinGivernanceQuorum chain parameter

6e24c9c Replace hardcoded minimum with nMinGovernanceQuorum parameter

66c0d9e Added new RPC calls needed by Sentinel
 - getsuperblockcycle
 - getsuperblockbudget
 - getmingovernancequorum

6bb2338 Replaced two new RPC calls with getgovernanceinfo

c9fbd8a Changed parameter nMinGovernanceQuorum to nGovernanceMinQuorum
2016-08-28 13:15:48 -06:00
UdjinM6
7b10f9aaa6 Refactor CMasternodeSync (#956) 2016-08-28 14:12:14 +04:00
UdjinM6
f678ea48bd Update checkpoints to match latest 0.12.0.x (#962) 2016-08-28 14:11:54 +04:00
UdjinM6
02b86cf467 Make 0.12.1.x minable again (#963)
* Changes for getblocktemplate, CreateNewBlock, FillBlockPayee, CreateSuperblock:
- Add support for superblocks in getblocktemplate (+fix miner reward - it was missing)
- Refactor the way masternode payments are passed around, change getblocktemplate format for them too.
2016-08-28 14:11:36 +04:00
UdjinM6
6af7a58d92 Merge remote-tracking branch 'bitcoin/0.12' into mergebtc12, fix/dashify
NOTE: .travis.yml was mostly preserved, probably needs additional attention
2016-08-26 04:09:20 +03:00
UdjinM6
83f4e57087 Merge #957: Refactor CKeePassIntegrator
d4f5d7c Refactor CKeePassIntegrator
2016-08-23 05:27:04 -06:00
UdjinM6
a1d2c938de Merge #953: Streamline GetBlockSubsidy()
2339409 Streamline GetBlockSubsidy()
2016-08-23 05:25:03 -06:00
UdjinM6
3b606b0c63 Merge #951: More block validation for governance (#951)
b6b6d6c Added nSuperblockStartBlock, adjusted testnet/regtest params

15a3c64 More for governance block checks, p1 (non-compilable):
    - add GetPaymentsLimit() and GetPaymentsTotalAmount()
    - IsValidBlockHeight() should check nSuperblockStartBlock
    - CSuperblock::IsValid should check payment limit and miner payout
    - no cs_main
    - slightly refactored related things

e8f9e5d More for governance checks, p2 (compilable):
    - IsBlockValueValid(), IsBlockPayeeValid() and FillBlockPayee() rewritten, no cs_main for them
    - CreateNewBlock adjusted, need more work on CBlockTemplate (see TODO)
    - moved (and simplified) IsBlockPayeeValid() call from CheckBlock() to ConnectBlock()

51434cf Add ability to calculate only superblock part of subsidy in GetBlockSubsidy()

aa74200 Fix GetPaymentsLimit()

f7b6234 braces and comment

ade8f64 more checks for IsValidBlockHeight()
2016-08-21 19:41:40 -06:00
Tim Flynn
9a8f2e4507 V0.12.1.x governance bugfix 1 (#952)
* Fix governance message handling bug

* Added a 2 second delay to the addressindex blockchain reorganization test
2016-08-20 20:51:01 +04:00
Tim Flynn
123aa04d5b Merge #950: V0.12.1.x governance pr 2
13316a4 Return true from IsBlockValueValid when masternode data is not synced
  - This restores behavior very close to that in 12.0
  - Needed to prevent the forking problem currently being seen on
    testnet between online and offline nodes
  - This is expected to be a temporary fix while we develop a
    long-term solution for this problem

427086e Restore miner payments for superblocks

794b90d Added IsSynced field to JSON output of mnsync status RPC command
  - This is needed to allow fixing RPC tests so that they wait until
    the nodes are fully synced before performing tests

a9ddf6f Wait for nodes to sync masternode data during p2p-fullblocktest
2016-08-19 05:53:49 -06:00
UdjinM6
67def9ef2e Merge #948 Refactor CDarkSendSigner
f0ed400 darkSendSigner.SignMessage() should not return error message

154f1b6 darkSendSigner.VerifyMessage() should return non-localized message, its callers should populate error to debug.log

b130c32 darkSendSigner.GetKeysFromSecret() should not return error message, its callers should handle it
2016-08-19 05:50:04 -06:00
UdjinM6
66de5b082a Merge #946: Fix extra warning about low keys on wallet encryption
5d62e4f Fix extra warning about low keys on wallet encryption
2016-08-19 05:47:37 -06:00
UdjinM6
7d55e623a8 Merge #945: More dash->dashcore
a5328a1 Change Dash -> Dash Core where appropriate (in strings)

b8696d9 Change user/group dash->dashcore

69dc9f1 Change dash->dashcore for /etc/ and /var/lib/ folders
2016-08-19 05:46:30 -06:00
crowning-
1ecabea8a6 CDB: fix debug output (#947)
* CDB: fix debug output
2016-08-18 18:23:39 +04:00
Tim Flynn
de7b2b6c51 Merge #944: V0.12.1.x governance pr - part 1 - base functionality
068c178 Added DBG macro in util.h to facilitate debugging

    - This macro allows debugging statements (typically printf's or cout's) to
      be activated or deactivated with a single comment.  Uncomment the line:
      //#define ENABLE_DASH_DEBUG
      in util.h to enable debugging statements.

    - When commented any code wrapped with the DBG() macro will simply be removed
      by the preprocessor.  When not commented all such wrapped statements will
      be present.

    - For maximum effectiveness it is best that util.h be the first effective include
      in all source files.  It is also possible to enable the macro for a single file
      by temporarily adding #define ENABLE_DASH_DEBUG to the top of the file.

    - Code committed to non-development branches should always have the define
      commented.

d125d9b V0.12.1.x -- merging trigger/generic object/superblock changes for testnet phase II

    - This commit contains the core governance system changes for 0.12.1.  Any unrelated
      changes have either been removed or moved to separate commits.

120724c File mode fixes

    - Changed mode 0755->0644 on several source files.

c7f9e11 Updated todo reminders

    - Added reminder to revert temporary reduction of number of votes
      required to trigger superblock to 1 for testing

92adc98 Made CSuperblockManager::IsValidSuperblockHeight an inline function

    - This is for efficiency since this function is called often and is
      only 1 line of code.

c050ed7 Added comment explaining rationale for no LOCK(cs) in CSuperblock::IsValid

dc933fe Removed unused CSuperblockManager::IsBlockValid function

decec88 Moved calls to SuperblockManager::IsValidSuperblockHeight into IsSuperblockTriggered.

    - Since calls to the later function are always protected by the former there's
      no reason to keep these separate and this simplifies the code in
      masternode-payments.cpp.

8672885 Reestablished expected value check for non-superblocks in IsBlockValueValid

b01cbe0 Changes to IsBlockValueValid to fix rpc test failure

a937c76 Changed include order to allow per file activation of the DBG macro

d116aa5 Fixed IsValidSuperblockHeight logic

    - Note this has an effect on testing because we can now only create
      1 superblock per day.  Devs may need to temporarily change testnet params
      for easier testing.

2d0c2de Convert superblock payments to CAmount

    - We assume that payment values in JSON are in units of DASH
      for consistency with other RPC functions, such as
      createrawtransaction.

376b833 Revert temporary testing value for nAbsVoteReq

    - Also ensure that number of votes required is never smaller than 1

8c89f4b Cleaned up CSuperblock error handling

    - Exceptions are now thrown consistently rather than using a mix of
      exceptions and return code checking.  Exceptions are now caught only
      in AddNewTrigger when the CSuperblock constructor is called.  Unnecessary object
      status members have been removed.

d7c8a6b Removed utilstrencodings header

    - This appears to help with travis tests, for unknown reasons.

c4dfc7a Fixed some minor code review issues

63c3580 Reverted locking change in miner.

    - This should have been done in the original PR but was overlooked.

4ab72de Fixed variable name to match common practice and bracket formatting

886a678 Improvements to vote conversion code

    - Replaced redundantly defined function with inclusion of governance-vote.h

    - Replaced magic numbers with their corresponding constant symbols

0a37966 Reordered governance message handling
2016-08-17 09:08:25 +02:00
Tim Flynn
9a8a1ace9e Merge #943: Fixed non-deterministic CSporkMessage hash function
5bb8dca Fixed non-deterministic CSporkMessage hash function

CSporkMessage::GetHash() was including random data
in the hash due to 4 bytes of structure padding between the 32 bit
nSporkID and the following 64 bit nValue members.

This has been fixed by using CHashWriter which serializes the structure
data properly before hashing rather than relying on compiler defined behavior
such as structure alignment.  The underlying hash function is CHash256 which is
bitcoin's double SHA-256 hash.  HashX11 is not necessary here
because the hash is only used to identify distinct spork messages.
2016-08-15 16:46:46 +02:00
UdjinM6
a31e7600e9 Merge #942: Leave some space for free transactions by defaut (10000)
857eaee Leave some space for free transactions by defaut (10000)
2016-08-12 08:01:14 +02:00
UdjinM6
27cba53e64 Merge #941: Simplify CountByIP()
10c249f Simplify CountByIP()
2016-08-12 07:58:55 +02:00
UdjinM6
df854a5e19 Merge #940: Adjust block download timeouts to match Dash avg block time (bitcoin/4)
9320e5b Adjust block download timeouts to match Dash avg block time (bitcoin/4)
2016-08-12 07:57:20 +02:00
UdjinM6
e20e1dc5da Merge #939: More IS refactoring
149f27a More IS refactoring
2016-08-12 07:55:41 +02:00
UdjinM6
ee266f2d01 Merge #938: Fix bug in #895
68ff166 Fix bug in #895
2016-08-12 07:45:06 +02:00
UdjinM6
8d28ed0dd1 Merge #937: Fix/improve upon previous DS refactoring
11598a6 Fix/improve DS refactoring
2016-08-12 07:43:18 +02:00
UdjinM6
625b5ebb09 Merge #936: Bump NO_BLOOM_VERSION and SENDHEADERS_VERSION to match PROTOCOL_VERSION
411ad29 Bump NO_BLOOM_VERSION and SENDHEADERS_VERSION to match PROTOCOL_VERSION
2016-08-12 07:41:23 +02:00
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
Evan Duffield
a69a643c6e Merge pull request #777 from crowning-/UI_Enhancements
[UI] Change default theme to "DASH-light"
2016-05-19 11:36:47 -07:00
Evan Duffield
1376208c61 Merge pull request #776 from UdjinM6/masternodeTab
Add masternode tab in qt wallet
2016-05-19 11:36:26 -07:00
Evan Duffield
2ca8c85820 fixed voting errors 2016-05-19 11:34:43 -07:00
UdjinM6
86bca13e1e fix dumb bug in signal connection 2016-05-16 22:27:43 +03:00
UdjinM6
c5c0aa78fc moved "Show Masternodes Tab" to Expert features 2016-05-16 15:43:45 +03:00
UdjinM6
050b707d9f Icon update (thanks @salmion) 2016-05-16 02:05:42 +03:00
UdjinM6
020ecebb3e Use options to choose whether to show Masternodes tab or not. Should be set to true at first run for those who have masternodes in their masternode.conf and false for others. 2016-05-16 01:55:20 +03:00
UdjinM6
843453fb66 More fixes for Masternodes tab:
- set initial columns size
- use resizable columns
- use theme-dependent masternodes icon (placeholder, should be replaced)
- removed unused event binding
- capitalization, more verbose ui element names
2016-05-15 19:43:22 +03:00
Evan Duffield
2cec48631e Merge branch 'v0.12.1.x' of https://www.github.com/dashpay/dash into v0.12.1.x 2016-05-13 09:03:35 -07:00
Evan Duffield
9031c5e3cb Update some governance logic 2016-05-13 09:03:01 -07:00
UdjinM6
12239be138 Fix tx icons for light theme (thanks @snogcel) 2016-05-13 12:42:51 +03:00
UdjinM6
9101c54d30 Fixing light theme:
- colorized few images/icons to use “Strong blue” #1c75bc
- replaced "smile" icon with pick-axe
- fixed ds status overlap
- trying to make theme less "heavy" - fewer bold labels, lighter colors for labels
- removed unused files
2016-05-12 16:59:33 +03:00
crowning-
4584201d9b [UI] Change default theme to "DASH-light" 2016-05-11 20:42:38 +02:00
UdjinM6
3764e6869a Add masternode tab in qt wallet 2016-05-11 15:50:04 +03:00
Holger Schinzel
25c4341311 Merge pull request #775 from UdjinM6/fixPid
fix pid dash.pid -> dashd.pid
2016-05-11 11:37:54 +02:00
Holger Schinzel
c77d9830ae Merge pull request #774 from thelazier/patch-2
Fix Hot Masternode
2016-05-11 11:37:46 +02:00
Holger Schinzel
28fc3bae6e Merge pull request #762 from crowning-/patch-3
[UI] Enable themed *.png icons again for Linux
2016-05-11 11:37:41 +02:00
UdjinM6
12317fa13e fix pid dash.pid -> dashd.pid 2016-05-11 12:30:52 +03:00
TheLazieR Yip
fe66b5acd0 Fix Hot Masternode
Add Update Masternode List from created masternode broadcast before relay.
2016-05-11 03:45:11 +07:00
Holger Schinzel
e5bcd0598b Merge pull request #773 from thelazier/patch-1
Fix Hot Masternode
2016-05-10 19:39:33 +02:00
Holger Schinzel
feabb140a3 Merge pull request #772 from UdjinM6/fixTests
Fix tests
2016-05-10 19:39:08 +02:00
TheLazieR Yip
56adee2de2 Fix Hot Masternode
Revert to master branch
2016-05-10 21:53:08 +07:00
UdjinM6
a4c098141a fix tests to follow #767 2016-05-10 16:12:21 +03:00
Evan Duffield
0c6c21f099 Merge pull request #768 from UdjinM6/unifySubsidy
Unify subsidy formulas for different networks, add few comments
2016-05-10 06:11:17 -07:00
Holger Schinzel
8a03d1630d Merge pull request #770 from crowning-/patch-5
[UI] Rebranding: PrivateSend/InstantSend (update)
2016-05-10 13:36:02 +02:00
UdjinM6
b9ad319d00 Unify subsidy formulas for different networks, add few comments 2016-05-10 12:50:57 +03:00
Holger Schinzel
05661617a6 Some houskeeping:
- fixed testnet checkpoints
- revert testnet mining patch
2016-05-10 09:57:05 +02:00
crowning-
5091ac939b [UI] Rebranding: PrivateSend/InstantSend (update)
Accidentally overwrote my final version locally, so the change of the (unfortunately most prominent) InstantX label on the sendcoins page got lost. 

Sorry  :-/
2016-05-10 05:39:36 +02:00
Holger Schinzel
d61edf8452 Remove log spam 2016-05-10 00:28:36 +02:00
Evan Duffield
e0a4c6ec19 Merge pull request #760 from crowning-/UI_Enhancements
[UI] Rebranding: Darksend/InstantX changed to PrivateSend/InstantSend (UI+log)
2016-05-09 13:54:21 -07:00
Evan Duffield
bfaa5b6970 Merge pull request #761 from UdjinM6/fixStyling
Assign app name in NetworkStyle::NetworkStyle()
2016-05-09 13:52:37 -07:00
Evan Duffield
684994ca4e Merge pull request #764 from crowning-/UI_Icons
[UI] Some standard Bitcoin icons beautified
2016-05-09 13:51:33 -07:00
Evan Duffield
f13b9ad418 Merge pull request #767 from moocowmoo/v0.12.1.x
config - changed network bip32 values, testnet/regtest pubkey
2016-05-09 13:51:03 -07:00
Evan Duffield
736d22262f fixed mining 2016-05-09 12:51:23 -07:00
moocowmoo
c5004ce308 config - changed network bip32 values, testnet/regtest pubkey
mainnet bip32 seeds start with dpub/dprv
testnet/regtest  bip32 seeds start with DPUB/DPRV
only create public testnet/regtest addresses starting with y
2016-05-09 19:13:22 +00:00
crowning-
243067c0ee [UI] Rebranding: Darksend/InstantX changed to PrivateSend/InstantSend 2016-05-09 21:08:13 +02:00
Evan Duffield
60e048071f added budget item func 2016-05-09 09:31:11 -07:00
Evan Duffield
8c48d9dbb9 fixed endian issues 2016-05-09 08:58:17 -07:00
Evan Duffield
4caf64569f merged 2016-05-09 08:39:31 -07:00
Evan Duffield
358be66084 reset testnet 2016-05-09 08:32:47 -07:00
Evan Duffield
9b7504cb32 Fix dumb errors on ubuntu 2016-05-06 18:36:11 -04:00
Evan Duffield
e6d7f4ed7f fixing more errors 2016-05-05 10:44:46 -07:00
Evan Duffield
aee86618cd fixed greedy find/replace (opps) 2016-05-05 10:30:28 -07:00
Pieter Wuille
e3a9ce9c94 Refactor script tests
Github-Pull: #7818
Rebased-From: c7c664191fd6ca4843cfe9d00abf8f2362b9550f 269281b7cc56e728fa64803fc7509ab3a0ce1805 d03e46625ac95954bb9ecbc2cf73ffd8de6b8a13 76da7613517d05aca31c2cee42b5ebf3d5c54974 009b503792737ab03aeb6e15060bc4f499500a96 dde46d3ae1de18700e089bc1861cf1e18649dc5d
2016-05-04 13:01:59 +02:00
Wladimir J. van der Laan
87129b24e1 test: script_error checking in script_invalid tests
Github-Pull: #7517
Rebased-From: b0ff8572aeb8211ad30f24ca42d20a46debb5e9d 2317ad7c56c6f5a55984459947f69cc3bfbe340a 0ecb3401fe157cb0779d3970c6080b463b1b0ed2
2016-05-04 13:01:55 +02:00
Suhas Daftuar
43c14acf14 Fix headers announcements edge case
Previously we would assert that if every block in vBlockHashesToAnnounce is in
chainActive, then the blocks to be announced must connect.  However, there are
edge cases where this assumption could be violated (eg using invalidateblock /
reconsiderblock), so just check for this case and revert to inv-announcement
instead.

Github-Pull: #7919
Rebased-From: 3a99fb2cb14955f5e029d315041a093e957e6c3e
2016-04-27 22:34:48 +02:00
Alexander Regueiro
06c73a1751 Removed call to TryCreateDirectory from GetDefaultDataDir in src/util.cpp.
See https://github.com/bitcoin/bitcoin/issues/7845#issuecomment-207684728.
Also refactored `GetDefaultDataDir` function to return path for Mac in one expression.

Github-Pull: #7850
Rebased-From: 41dbc4849e0bf14eef98962b0f0bddcde0bb3014
2016-04-27 22:34:48 +02:00
Suhas Daftuar
7e71785c40 Use txid as key in mapAlreadyAskedFor
Previously we used the CInv that would be sent to the peer announcing the
transaction as the key, but using the txid instead allows us to decouple the
p2p layer from the application logic (which relies on this map to avoid
duplicate tx requests).

Github-Pull: #7862
Rebased-From: 7e91f632c70ff1848a152f24ee67a06796803943
2016-04-27 22:34:48 +02:00
R E Broadley
d3ead9bcb6 Avoid "Unknown command" messages when receiving getaddr on outbound connections.
Github-Pull: #7642
Rebased-From: d84ea1a59ce3704457a162f1fd8a7353047156de
2016-04-27 22:34:48 +02:00
Patrick Strateman
a5bc6a1bc4 Remove vfReachable and modify IsReachable to only use vfLimited.
We do not know that a class of Network is reachable, only that it is not.

Github-Pull: #7553
Rebased-From: 110b62f06992d0fb989153afff2dc3aea62a674f
2016-04-27 22:34:48 +02:00
Matthew Zipkin
52c101158f Clarify description of blockindex
see issues:

https://github.com/bitcoin-dot-org/bitcoin.org/issues/1237

https://github.com/bitcoin/bitcoin/issues/7532

Github-Pull: #7541
Rebased-From: 7eef1d0dad0c48e9faefdc4fe5cfb6182edc79ab
2016-04-27 22:34:48 +02:00
Alex Morcos
21b2f82eb7 Don't resend wallet txs that aren't in our own mempool
Github-Pull: #7521
Rebased-From: 5a2b1c0c8b49c5ae79946e71b9f989b33c9fcf5c
2016-04-27 22:34:48 +02:00
Wladimir J. van der Laan
66d5408559 Fix memleak in TorController [rework]
It looks like, TorController::disconnected_cb(TorControlConnection&
conn) gets called multiple times which results in multiple event_new().

Avoid this by creating the event only once in the constructore, and
deleting it only once in the destructor (thanks to Cory Fields for the
idea).

Replaces the fix by Jonas Schnelli in #7610, see discussion there.

Github-Pull: #7637
Rebased-From: e2195037116f47b11b66452351dba4fe606423a2
2016-04-27 22:34:48 +02:00
jloughry
64fd0ce1d9 fix spelling of advertise in src and doc
Github-Pull: #7526
Rebased-From: 37767fd46f673a06864df6e14d3030622b1cb2c9
2016-04-27 22:34:48 +02:00
instagibbs
a9e73f71d4 Fix and cleanup listreceivedbyX documentation
Github-Pull: #7527
Rebased-From: c372572595b6b19a4dd88258401d8a0046ce4469
2016-04-27 22:34:48 +02:00
ptschip
90955940d5 Do not download transactions during inital sync
Github-Pull: #7164
Rebased-From: 39a525c21fd1b34df63ab30868423b97b708ee49
2016-04-27 22:34:47 +02:00
Evan Duffield
f2de437f05 mixed up actions/outcomes 2016-04-26 11:36:07 -07:00
Evan Duffield
7e742d2e7d cleaned up couple bugs 2016-04-26 11:34:53 -07:00
Evan Duffield
ad5d48dae4 Created nice interface for converting between:
- vote outcomes between string and int
- vote actions between string and int
2016-04-26 11:27:22 -07:00
Evan Duffield
d9d72dd7af enable governance cache 2016-04-26 10:48:09 -07:00
Evan Duffield
2df4059f4e Fix masternode voting object 2016-04-26 10:45:06 -07:00
UdjinM6
26b8d99be2 fix CGovernanceObject step1.5: not really a fix, just commented out simple broken parts (undeclared vars and functions, wrong number of arguments etc) to prove that it compiles now, needs to be actually fixed 2016-04-26 10:31:14 -07:00
UdjinM6
71bdc09470 fix CGovernanceObject step1: make, copy constructor, uint256, rpc 2016-04-26 10:31:00 -07:00
Evan Duffield
3fe02f4777 any help? 2016-04-25 21:08:36 -07:00
MarcoFalke
89ae85484c
Merge #7811: [0.12.2] qa Backports
6862627 Add listunspent() test for spendable/unspendable UTXO (Joao Fonseca)
28ba22c [qa] Remove misleading "errorString syntax" (MarcoFalke)
f1f1b82 [qa] py2: Unfiddle strings into bytes explicitly (MarcoFalke)
c0d9e31 Tests: make prioritise_transaction.py more robust (Suhas Daftuar)
ff9b436 [qa] Bug fixes and refactor (MarcoFalke)
b1dd64b [qa] wallet: Wait for reindex to catch up (MarcoFalke)
f23cb7c [qa] Add tests verifychain, lockunspent, getbalance, listsinceblock (MarcoFalke)
3316552 [qa] Test walletpassphrase timeout (MarcoFalke)
6aae129 [qa] wallet: Print maintenance (MarcoFalke)
ad8c743 [qa] Extend tests (MarcoFalke)
d89fbfe [qa] rpc-test: Normalize assert() (MarcoFalke)
2016-04-25 14:59:52 +02:00
crowning-
ddfc3e98f0 [UI] Obsolete icons (+references) removed 2016-04-24 23:03:27 +02:00
crowning-
d439375e3a [UI] Some standard (old) Bitcoin icons beautified (comment removed) 2016-04-20 22:39:21 +02:00
crowning-
00266a876f [UI] Some standard (old) Bitcoin icons beautified 2016-04-20 22:35:24 +02:00
crowning-
c755c45a93 [UI] Enable themed *.png icons again for Linux
Reference: my first comment here: https://github.com/dashpay/dash/pull/761
2016-04-20 17:35:53 +02:00
UdjinM6
b8109eb06b Assign app name in NetworkStyle::NetworkStyle(), fixes splash screen 2016-04-20 17:03:22 +03:00
crowning-
67214d9971 [UI] Parts of PR612 re-added 2016-04-20 08:04:46 +02:00
Evan Duffield
421678ac1d comment 2016-04-19 13:24:00 -07:00
Evan Duffield
73c430e4ca merged 2016-04-19 13:22:04 -07:00
Evan Duffield
378582fce5 update vote types 2016-04-19 12:08:01 -07:00
crowning-
b61849c697 [UI] Rebranding: removed PrivacyProtect from mixing button 2016-04-19 20:49:19 +02:00
Evan Duffield
fe5c4dd811 Converting governance system
- Generic usage of governance objects
- Added different voting types of signaling
- Removed budget commands (projection, mesc -- see sentinel https://github.com/evan82/sentinel/blob/master/docs/example4.md)
- Added various voting signaling mechanisms (origin funding, remove, valid, endorsed, milestones, outerstorage)
2016-04-19 09:51:15 -07:00
crowning-
e44dab084a [UI] Darksend changed to PrivacyProtect (UI+log) 2016-04-18 23:46:51 +02:00
Evan Duffield
94f448d6fa update gitignore 2016-04-16 17:29:41 -07:00
Evan Duffield
c981f296e1 update code to correctly use governance objects 2016-04-16 14:42:27 -07:00
Evan Duffield
59ddc0d71e added dynamic registers 2016-04-16 10:19:17 -07:00
Evan Duffield
31d8a4d16f clean up local mods 2016-04-15 09:39:33 -07:00
Evan Duffield
fe2b606f67 register notes 2016-04-15 02:10:38 -07:00
MarcoFalke
f1f1b82033 [qa] py2: Unfiddle strings into bytes explicitly
Github-Pull: #7853
Rebased-From: faa41ee204124da19dcf1e5b8a3aef1e216bf5e6, fa7abe0a00464e6aa88d55c63dba40878bbe5b79

 Conflicts:
	qa/rpc-tests/invalidtxrequest.py
	qa/rpc-tests/p2p-feefilter.py
	qa/rpc-tests/proxy_test.py
	qa/rpc-tests/test_framework/mininode.py
	qa/rpc-tests/test_framework/netutil.py
	src/test/bctest.py
2016-04-15 09:55:12 +02:00
Evan Duffield
6a68aea461 cleanup 2016-04-14 19:54:11 -07:00
Evan Duffield
e37ef5b386 fixing more errors 2016-04-14 19:14:27 -07:00
Evan Duffield
59976f3ee1 fixing more issues 2016-04-14 14:28:33 -07:00
Evan Duffield
8f0f5343ce added vote types and outcomes 2016-04-14 13:01:15 -07:00
Evan Duffield
b5476ca60a progress 2016-04-14 11:53:46 -07:00
Evan Duffield
f69d282256 cleaning up errors 2016-04-14 11:07:59 -07:00
Evan Duffield
7f64ed42ae clean up 2016-04-13 18:52:26 -07:00
Evan Duffield
3c8a3f6814 governance progress 2016-04-13 15:41:40 -07:00
UdjinM6
30dc6f4c97 fix flat database compiling 2016-04-13 10:53:13 -07:00
Evan Duffield
019eb07ac0 almost compiles 2016-04-12 09:00:19 -07:00
Evan Duffield
3c42774eb7 more progress spliting up the clasess 2016-04-10 07:46:19 -07:00
Evan Duffield
ebaee8f083 moved serialdb to template based class 2016-04-09 23:31:32 -07:00
Evan Duffield
8a13bc5180 updating colateral algo 2016-04-09 17:43:15 -07:00
Evan Duffield
138511f879 splitting progress pt . 2016-04-09 13:55:52 -07:00
Evan Duffield
a89d3164f6 removed finalized budget functionality from governance.* 2016-04-09 13:31:01 -07:00
Evan Duffield
fe7946f9fa preparing to split budgets and governance 2016-04-09 12:57:53 -07:00
Evan Duffield
7539ec3af8 move file 2016-04-09 12:02:02 -07:00
Evan Duffield
03938d3b02 move file 2016-04-09 12:01:05 -07:00
Evan Duffield
e99f0f170a added new files 2016-04-09 10:17:17 -07:00
Evan Duffield
8b82271927 revert make file 2016-04-09 10:10:06 -07:00
Evan Duffield
dbd68e2341 init gov files 2016-04-08 10:47:00 -07:00
Suhas Daftuar
46898e7e94
Version 2 transactions remain non-standard until CSV activates
Before activation, such transactions might not be mined, so don't
allow into the mempool.

- Tests: move get_bip9_status to util.py

- Test relay of version 2 transactions

Github-Pull: #7835
Rebased-From: e4ba9f6b0402cf7a2ad0d74f617c434a26c6e124 5cb1d8a2071d05beb9907a423178895fd8a5c359 da5fdbb3a2778523cce70d635c1aa2b31a693bc6
2016-04-08 14:22:04 +02:00
Wladimir J. van der Laan
4c3a00d35c
Reduce block timeout to 10 minutes
Now that #7804 fixed the timeout handling, reduce the block timeout from
20 minutes to 10 minutes. 20 minutes is overkill.

Conflicts:
	src/main.h

Github-Pull: #7832
Rebased-From: 62b9a557fca2aa55803c336ffcceccc50ccf0c3e
2016-04-07 13:53:48 +02:00
Pieter Wuille
90f1d246d3
Track block download times per individual block
Currently, we're keeping a timeout for each requested block, starting
from when it is requested, with a correction factor for the number of
blocks in the queue.

That's unnecessarily complicated and inaccurate.

As peers process block requests in order, we can make the timeout for each
block start counting only when all previous ones have been received, and
have a correction based on the number of peers, rather than the total number
of blocks.

Conflicts:
	src/main.cpp
	src/main.h

Self check after the last peer is removed

Github-Pull: #7804
Rebased-From: 2d1d6581eca4508838cd339cc19c72efc42d6ea0 0e24bbf679c95784ed5514a6a1f2fbf99dd97725
2016-04-07 13:16:16 +02:00
Wladimir J. van der Laan
4226aacdba
init: allow shutdown during 'Activating best chain...'
Two-line patch to make it possible to shut down bitcoind cleanly during
the initial ActivateBestChain.

Fixes #6459 (among other complaints).

To reproduce:

- shutdown bitcoind
- copy chainstate
- start bitcoind
- let the chain sync a bit
- shutdown bitcoind
- copy back old chainstate
- start bitcoind
- bitcoind will catch up with all blocks during Init()

(the `boost::this_thread::interruption_point` / `ShutdownRequested()`
dance is ugly, this should be refactored all over bitcoind at some point
when moving from boost::threads to c++11 threads, but it works...)

Github-Pull: #7821
Rebased-From: 07398e8e9d2ef807e63abd0978a6e98549bdf271
2016-04-07 13:00:17 +02:00
evan82
5fc47d4c7b Merge pull request #752 from UdjinM6/fixAutocompleter
Clear the input line after activating autocomplete
2016-04-05 10:52:02 -07:00
evan82
abbfb0a6c9 Merge pull request #751 from UdjinM6/fixDS
Fix DS bugs
2016-04-05 10:51:38 -07:00
evan82
3ffecb74d0 Merge pull request #750 from UdjinM6/debugfixes
Few debug related fixes
2016-04-05 10:51:31 -07:00
Wladimir J. van der Laan
c2106543fe
pre-rc1 translations update
New languages:

- `af` Afrikaans
- `es_AR` Spanish (Argentina)
- `es_CO` Spanish (Colombia)
- `ro` Romanian
- `ta` Tamil
- `uz@Latn` Uzbek in Latin script
2016-04-05 18:01:12 +02:00
MarcoFalke
ad8c743421 [qa] Extend tests
Github-Pull: #7684
Rebased-From: fa3a81af18347a1d3fed41aa89ee643cbf0e7abc fad7dc8a6c0ca9c067a249cf8896dd2e64703e48 fad8cfb893ac0ba83c6fc2367ade55bfe4fa75f6
2016-04-05 11:53:50 +02:00
Wladimir J. van der Laan
834aaef7bd
Merge #7543: [0.12] Backport BIP9, BIP68 and BIP112 with softfork
640666b [qa] rpc-tests: Properly use integers, floats (BtcDrak)
c270b62 Fix comments in tests (BtcDrak)
caf1381 Add bip68-sequence.py to extended rpc tests (BtcDrak)
26e9a05 Test of BIP9 fork activation of mtp, csv, sequence_lock (NicolasDorier)
3a99feb Add RPC test for BIP 68/112/113 soft fork. (Alex Morcos)
159ee3d Policy: allow transaction version 2 relay policy. (BtcDrak)
9713ed3 Soft fork logic for BIP68 (BtcDrak)
648be9b Soft fork logic for BIP113 (BtcDrak)
ee40924 Add CHECKSEQUENCEVERIFY softfork through BIP9 (Pieter Wuille)
6ff0b9f RPC test for BIP9 warning logic (Suhas Daftuar)
0710b30 Test versionbits deployments (Suhas Daftuar)
8ebc6f2 Add testing of ComputeBlockVersion (Suhas Daftuar)
0bdaacd Softfork status report in RPC (Pieter Wuille)
5f90d4e Versionbits tests (Pieter Wuille)
6f83cf2 BIP9 Implementation (Pieter Wuille)
ade85e1 Add LockPoints (Alex Morcos)
c8d309e Code style fix. (BtcDrak)
6170506 Separate CheckLockTime() and CheckSequence() logic (BtcDrak)
c0c5e09 BIP112: Implement CHECKSEQUENCEVERIFY (Mark Friedenbach)
197c376 fix sdaftuar's nits again (Alex Morcos)
0a79c04 Bug fix to RPC test (Alex Morcos)
0d09af7 Add RPC test exercising BIP68 (mempool only) (Suhas Daftuar)
15ba08c Implement SequenceLocks functions (Alex Morcos)
2016-04-04 13:08:29 +02:00
Pavel Janík
ded163efd7 Clear the input line after activating autocomplete 2016-04-04 13:32:26 +03:00
BtcDrak
869262605f Disable bad chain alerts
Continuous false positives lead to them being ignored entirely
so it's better to disable now until this can be fixed more
thoroughly.
2016-03-31 20:50:54 +01:00
Wladimir J. van der Laan
ba80ceef59
bump version to 0.12.1 2016-03-30 20:12:21 +02:00
UdjinM6
543296dddc Fix DS:
- ds stuck once we reached DENOMS_COUNT_MAX and can't get any output at all, ignore DENOMS_COUNT_MAX if this happens
- parts of incomplete dstx (from each participant) can't get into mempool because of 0 fee, prioritize them
- refactor names to avoid potential conflicts (state -> validationState) and better readability (finalTransaction -> finalMutableTransaction)
2016-03-27 21:21:29 +03:00
UdjinM6
981efed749 Few debug related fixes
- make logthreadnames work correctly without logtimestamps (and with emty strings again)
 - fix crash in debug (it3)
 - log debug info about locks in one line
 - show actual DS rounds instead of n/a in coin control while in debug mode
 - fix initial string in debug.log: "Bitcoin version" -> "Dash version"
2016-03-25 16:41:11 +03:00
BtcDrak
c0fe2c9e03 Mark p2p alert system as deprecated.
Set default to off
This feature is removed entirely as of 0.13.0
2016-03-24 20:06:06 +00:00
UdjinM6
00915ca31a Fix IX (locks arrive faster then the lock request itself) and add ixnotify to trigger external script 2016-03-24 19:05:44 +03:00
Jonas Schnelli
597494f5a9
Remove openssl info from init/log and from Qt debug window
Conflicts:
	src/init.cpp

Github-Merge: #7605
Rebased-From: 5ecfa36fd01fc27475abbfcd53b4efb9da4a7398
2016-03-24 12:09:23 +01:00
evan82
dee72ad0cd Merge pull request #746 from UdjinM6/refactorixdstx
Refactor IX/DSTX messages handling
2016-03-23 11:18:56 -07:00
Jonas Schnelli
7ffc2bd943
[Wallet][RPC] add abandoned status to listtransactions
Github-Pull: #7739
Rebased-From: 263de3d1c80c8a0aa54acd4d6708a4078d479b70
2016-03-23 16:30:49 +01:00
UdjinM6
5e7496ee5e More refactoring for IX:
- move ix internal logic out of CMerkleTx
- fix bug in GetInputAgeIX
2016-03-23 17:51:41 +03:00
Alex Morcos
19866c1ffc
Fix calculation of balances and available coins.
No longer consider coins which aren't in our mempool.

Add test for regression in abandonconflict.py

Github-Pull: #7715
Rebased-From: 68d4282774d6a60c609301cddad0b652f16df4d9
2016-03-23 15:11:22 +01:00
UdjinM6
f679e24316 Refactor IX/DSTX messages handling:
- Fix CreateTransaction and GetDepthInMainChain for IX compatibility
 - Prepare IsIXTXValid for the next update (see FIXME in CreateTransaction)
 - Unify processing of TX/IX/DSTX a bit more
 - Clean up some code
2016-03-22 02:24:36 +03:00
BtcDrak
159ee3dd90 Policy: allow transaction version 2 relay policy.
This commit introduces a way to gracefully bump the default
transaction version in a two step process.
2016-03-18 09:28:41 +00:00
BtcDrak
9713ed3015 Soft fork logic for BIP68 2016-03-18 09:28:40 +00:00
BtcDrak
648be9b442 Soft fork logic for BIP113 2016-03-18 09:28:40 +00:00
Pieter Wuille
ee40924fef Add CHECKSEQUENCEVERIFY softfork through BIP9 2016-03-18 09:28:40 +00:00
Suhas Daftuar
0710b303d6 Test versionbits deployments 2016-03-18 09:14:53 +00:00
Suhas Daftuar
8ebc6f2aac Add testing of ComputeBlockVersion 2016-03-18 09:14:53 +00:00
Pieter Wuille
0bdaacd791 Softfork status report in RPC 2016-03-18 09:14:52 +00:00
Pieter Wuille
5f90d4e294 Versionbits tests 2016-03-18 09:14:52 +00:00
Pieter Wuille
6f83cf2adb BIP9 Implementation
Inspired by former implementations by Eric Lombrozo and Rusty Russell, and
based on code by Jorge Timon.
2016-03-18 09:14:52 +00:00
Alex Morcos
ade85e126d Add LockPoints
Obtain LockPoints to store in CTxMemPoolEntry and during a reorg, evaluate whether they are still valid and if not, recalculate them.
2016-03-18 09:14:52 +00:00
BtcDrak
c8d309e4b4 Code style fix.
This if statement is a little obtuse and using braces here
improves readability.
2016-03-18 09:14:52 +00:00
BtcDrak
6170506fdf Separate CheckLockTime() and CheckSequence() logic
For the sake of a little repetition, make code more readable.
2016-03-18 09:14:52 +00:00
Mark Friedenbach
c0c5e09fe2 BIP112: Implement CHECKSEQUENCEVERIFY
- Replace NOP3 with CHECKSEQUENCEVERIFY (BIP112)
  <nSequence> CHECKSEQUENCEVERIFY -> <nSequence>
- Fails if txin.nSequence < nSequence, allowing funds of a txout to be locked for a number of blocks or a duration of time after its inclusion in a block.
- Pull most of CheckLockTime() out into VerifyLockTime(), a local function that will be reused for CheckSequence()
- Add bitwise AND operator to CScriptNum
- Enable CHECKSEQUENCEVERIFY as a standard script verify flag
- Transactions that fail CSV verification will be rejected from the mempool, making it easy to test the feature. However blocks containing "invalid" CSV-using transactions will still be accepted; this is *not* the soft-fork required to actually enable CSV for production use.
2016-03-18 09:14:52 +00:00
Alex Morcos
197c3760ff fix sdaftuar's nits again
it boggles the mind why these nits can't be delivered on a more timely basis
2016-03-18 09:14:52 +00:00
Alex Morcos
15ba08c3b5 Implement SequenceLocks functions
SequenceLocks functions are used to evaluate sequence lock times or heights per BIP 68.

The majority of this code is copied from maaku in #6312
Further credit: btcdrak, sipa, NicolasDorier
2016-03-18 09:14:52 +00:00
UdjinM6
be9e2f1d4f Fix GetHash() for CMasternodeBroadcast 2016-03-18 03:38:00 +03:00
UdjinM6
54096c30ec Allow user to use 2 modes for masternodebroadcast:
- safe - process mnb as if it was received via network
 - fast - skip most checks and relay
2016-03-18 02:37:48 +03:00
UdjinM6
c96284a787 Refactor masternodebroadcast to serialize/decode/relay multiple masternodes at once 2016-03-17 20:39:17 +03:00
Luv Khemani
4ce2b0214b Add autocomplete to bitcoin-qt's console window.
Removed externs
Added listCommands() to CRPCTable

Move autocomplete init to RPCConsole::setClientModel()

Closes #742
2016-03-17 08:39:05 +01:00
UdjinM6
eaf57b3fb7 Implemented masternodebroadcast
This set of rpc commands provide an ability to create masternode broadcast messages offline
and relay them from online node later (messages expire in ~1 hour).

Arguments:
1. command        (string or set of strings, required) The command to execute
2. passphrase     (string, optional) The wallet passphrase
Available commands:
  create-alias  - Create single remote masternode broadcast message by assigned alias configured in masternode.conf
  create-all    - Create remote masternode broadcast messages for all masternodes configured in masternode.conf
  decode        - Decode masternode broadcast message
  relay         - Relay masternode broadcast message to the network

Closes #741
2016-03-17 08:29:53 +01:00
UdjinM6
f39bc3b3cb Bump DEFAULT_TRANSACTION_MAXFEE
Should be smth like "smallest DS denomination (0.10000100)" + X * "denom tails"
to avoid triggering "absurd fee" error.
I think that 0.2 i.e. having 100 of 100s "tails" (or 1000 of 10s etc) should be enough.

Closes #737
2016-03-16 07:52:37 +01:00
UdjinM6
6f301d9a63 Fix unlock for sending txes from qt dialog
Closes #736
2016-03-16 07:51:17 +01:00
UdjinM6
4249b28230 Throw a bit more specific rpcerrors (error codes should be more granular/meaningful now), add missing fields, unify naming
Closes #735
2016-03-16 07:50:50 +01:00
UdjinM6
d406324573 Add options for getchaintips 2016-03-16 07:50:06 +01:00
UdjinM6
38f386ae1c Few small changes: - Better log output (a bit more granular for mnb, fixing "\n"s and few other small issues) - Unify variable/class members naming a bit
Closes #733
2016-03-16 07:48:37 +01:00
UdjinM6
2fc05e5b9d Add ability to change debug category on the fly from console
NOTE: Before switching to another debug catgory you'd need to turn debugging off via "debug 0"
      and wait a bit (each thread (de)activates debug mode on its own)
2016-03-16 07:46:35 +01:00
UdjinM6
a7fd7821e9 Add "-logthreadnames" cmd-line option to add thread names to debug messages 2016-03-16 07:46:29 +01:00
UdjinM6
e0c4dd0129 Fix crash in CheckAndRemove
Closes #732
2016-03-14 14:27:20 +01:00
UdjinM6
c872091296 Fix NetMsgType::DSCOMPLETE usage
Closes #731
2016-03-14 11:39:25 +01:00
MarcoFalke
f04f4fd2ee
[doc/log] Fix markdown syntax and line terminate LogPrint
- Fix doxygen comment for payTxFee
- [doc] Fix markdown
- Make sure LogPrintf strings are line-terminated

Github-Pull: #7617
Rebased-From: fa06ce09498707d5e82633f1e1b034675e552628 fa97f95c15a7aee15feea500571a10a90f22ea8b fa266524592cc18c789cc587d738fb0e548fd23a
2016-03-11 09:44:17 +01:00
UdjinM6
5d42a372cf Fix CBudgetProposal::GetRemainingPaymentCount()
Closes #729
2016-03-09 07:23:20 +01:00
UdjinM6
04efdd1150 Fix mn sync: - reset lasttime* right before switching to next asset - adjust target block count by 1.2 coeff - lower MASTERNODE_SYNC_TIMEOUT 120 -> 30
Closes #728
2016-03-09 07:22:54 +01:00
UdjinM6
eeb4e9c11a Always clean ds queue
Closes #727
2016-03-09 07:22:17 +01:00
UdjinM6
1b41f851bf Fix CBudgetManager::CheckAndRemove() endless loop
Closes #726
2016-03-09 07:21:56 +01:00
UdjinM6
618c27a99d RPC changes
- add filter to `masternode winners`
- allow `masternode debug` right after blockchain is synced
- fix `masternode current`
- fix getpoolinfo, add ds queue size to output

Closes #725
2016-03-09 07:21:21 +01:00
TheLazieR Yip
d401d64281 Clean duplicated params setting for test network.
Closes #724
2016-03-09 07:18:59 +01:00
UdjinM6
9d151c25dd Use chainActive.Tip() in FillBlockPayee functions Turned out that pCurrentBlockIndex is an overkill here, we should just make sure that cs_main lock is already held for us.
Closes #723
2016-03-07 12:19:53 +01:00
UdjinM6
cadfa233a0 remove stdout debug spam 2016-03-07 12:18:48 +01:00
UdjinM6
6f5a9c10fc fix src/test/data 2016-03-07 12:18:47 +01:00
TheLazieR Yip
8675ce1929 Check New MasterNodeBroadcast Time
Closes #722
2016-03-07 12:00:29 +01:00
UdjinM6
18afe88401 Check vote time internally
Closes #721
2016-03-06 18:23:26 +01:00
UdjinM6
8e560080a1 Fix comments, remove ._str() from LogPrintfs, few trivial changes 2016-03-06 18:21:06 +01:00
UdjinM6
b682fcb8d6 Fix GetBlockSubsidy for regtest, bump regtest settings
Closes #719
2016-03-06 18:15:33 +01:00
UdjinM6
3cf048d01c Fix initial call of UpdatedBlockTip
Closes #718
2016-03-06 18:15:08 +01:00
UdjinM6
af1c321d16 Fix block reward verification
Closes #717
2016-03-06 18:14:42 +01:00