Commit Graph

10980 Commits

Author SHA1 Message Date
Alexander Block
19a6f718d3
Don't respond with getdata for legacy inv types when spork15 is active (#2528)
Avoid unnecessary traffic from non-upgraded nodes.
2018-12-06 08:07:33 +01:00
Alexander Block
d2ca9eddee
Fix multiple issues with governance voting after spork15 activation (#2526)
* Check resulting signature for validity when signing with BLS operator keys

* Support specifying proTxHash when using "gobject vote-alias"

The "alias-name" is now interpreted as proTxHash when deterministic MN lists
are active.

The classical "alias" as found in masternode.conf has no meaning after
spork15 activation.

* Don't use masternode.conf list in gobject_vote_many when spork15 is active

Keys don't match anymore so we should only rely on the deterministic list
and the local wallet's keys.

* Check for pwalletMain not being null in gobject_vote_many

* Allow to use vote-conf for non-proposal votes when spork15 is active

This fixes sentinel not being able to create triggers on testnet.

* Fix error message

* Fix no-wallet compilation and check for pwalletMain at runtime
2018-12-06 08:07:10 +01:00
Alexander Block
60867978d6
Avoid printing DIP3/DIP4 related logs twice (#2525)
All logging that happens in BuildNewListFromBlock is currently printed twice.
This is because BuildNewListFromBlock is called while processing the block
and also while calculating the DIP4 MN list commitment.

This commit adds the debugLogs to this method to allow omitting logs while
called from the DIP4 code.
2018-12-06 08:06:37 +01:00
UdjinM6
08dc178711 Drop pre-DIP3 votes from current votes per MN per object (#2524) 2018-12-06 08:06:21 +01:00
Alexander Block
7037f7c999
Bail out from GetBlockTxOuts in case nBlockHeight is above tip+1 (#2523)
In the future, we should make sure that this method is only called for the
currently mined block or for old blocks, but never for non-existing blocks
further in the future.
2018-12-06 08:05:57 +01:00
UdjinM6
3a6bd8d235 Call ProcessTick every second, handle tick cooldown inside (#2522) 2018-12-06 08:05:36 +01:00
UdjinM6
973a7f6dd6 Fix GUI warnings in debug.log (#2521)
Specifically:

```
GUI: QMetaObject::connectSlotsByName: No matching signal for on_extraInfoDIP3_doubleClicked()
GUI: QMetaObject::connectSlotsByName: No matching signal for on_copyProTxHash_clicked()
GUI: QMetaObject::connectSlotsByName: No matching signal for on_copyCollateralOutpoint_clicked()
```
2018-12-06 08:05:05 +01:00
PastaPastaPasta
818f0f4647 Allow consuming specific UTXO in gobject prepare command (#2482)
* Implement optional CoinControl for gobject prepare

* Removes duplicate `);` from merge error

Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>

* Fix equality check allowing more relevant help output

* Pass COutPoint as const reference

Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>

* Remove unnecessary SetNull call

Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>

* Specify proposal fee

Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>
2018-12-03 21:00:09 +03:00
Salisbury
1270b71229 Use a verbosity instead of two verbose parameters (#2506) 2018-12-03 16:49:21 +01:00
Alexander Block
22dcec71a8
Punish nodes which keep requesting and then rejecting blocks (#2518)
* Move deserialization of REJECT message fields out of if(fDebug)

* Ban nodes which keep requesting and then rejecting blocks

* Don't read/deserialize reject hash twice

* Only use ban score of 1
2018-12-03 16:48:48 +01:00
Alexander Block
0224914200
Print the state object when ProcessSpecialTxsInBlock fails in ConnectBlock (#2516)
Currently, when any DIP2/3/6 validation fails, there is no error message
printed that shows what exactly went wrong.
2018-12-03 16:48:29 +01:00
Alexander Block
0c1b683a06 Clear votes which were created before spork15 activation and use operator key for non-funding votes (#2512)
* Clear votes which were created before spork15 activation

* Reject incoming votes which were created pre-DIP3

* Only use voting keys for VOTE_SIGNAL_FUNDING

The other vote signals are meant to be emitted by sentinel and must thus
be signed with the operator key.

* Simplify GetMinVoteTime

* Review suggestions/fixes

* Add missing mutex in CGovernanceObject::RemoveOldVotes
2018-11-29 21:51:53 +03:00
Alexander Block
f6f6d075dc Still support "protx list" and "protx diff" when wallet is disabled at compile time (#2511)
* Don't fully remove protx commands when ENABLE_WALLET is not set

* Check for wallet support at run-time for protx commands

* Only show subcommands that require the wallet when ENABLE_WALLET is set

* Add and use CheckWalletOwnsKey which is able to check wallet support at runtime

* Properly handle disabled wallets in "protx list"

This now also handles the case where ENABLE_WALLET is not defined.

* Drop comment that doesn't fully apply anymore
2018-11-29 21:51:31 +03:00
Alexander Block
5a3f64310b Deserialize CFinalCommitmentTxPayload instead of CFinalCommitment in TxToJSON (#2510)
* Deserialize CFinalCommitmentTxPayload instead of CFinalCommitment in TxToJSON

* Implement ToJson for CFinalCommitmentTxPayload and use it in TxToJSON

Otherwise the nVersion and nHeight members of it are not shown.
2018-11-29 21:51:04 +03:00
Alexander Block
5da4c97284 Use "registered" as default for "protx list" (#2513)
"wallet" was confusing too many users as it shows an empty list if the local
wallet does not own any keys for any MN.
2018-11-29 15:31:37 +03:00
Alexander Block
f96563462b
Fix check for nTemporaryTestnetForkDIP3Height (#2508)
This caused a crash when performing a full-sync.
2018-11-29 09:12:51 +01:00
Alexander Block
fc6d651c43
Fix crashes in "protx" RPCs when wallet is disabled (#2509) 2018-11-29 09:12:41 +01:00
Alexander Block
35550a3f93
Add quorumModifierHash to instant send lock vote (#2505)
* Let GetMasternodeRank also return the block hash at the given height

* Add outpointConfirmedBlock to CTxLockVote and verify it

* Match order of parameters with member order

* Rename outpointConfirmedBlock to quorumModifierHash

* Add overload of GetMasternodeRank that does not return the block hash
2018-11-28 11:43:28 +01:00
Alexander Block
812834dc5f
Put height into mined commitments and use it instead of the special handling of quorumVvecHash (#2501)
* Allow to skip sig verification for CFinalCommitment::Verify

* Add CFinalCommitmentTxPayload and CheckLLMQCommitment and use it

As described in https://github.com/dashpay/dips/pull/31 (see discussion).

* Properly ban nodes for invalid commitments
2018-11-27 08:04:08 +01:00
UdjinM6
ed53fce470 Revert "Apply similar logic to vecMasternodesUsed" (#2503)
This reverts commit ebb120005292bc077d6dd7c4ce8adbe25167bf16.
2018-11-27 08:03:41 +01:00
thephez
ba49a4a160 Trivial: protx fund_register RPC help corrections (#2502) 2018-11-27 05:12:11 +01:00
Alexander Block
a4f5ba38b6
Implement CDummyDKG and CDummyCommitment until we have the real DKG merged (#2492)
* Add SPORK_17_QUORUM_DKG_ENABLED spork

* Implement CDummyDKG and CDummyCommitment until we have the real DKG merged

This is only used on testnet/devnet/regtest and will NEVER be used on
mainnet. It is NOT SECURE AT ALL!

See comment in quorums_dummydkg.h for more details.

* Test simple PoSe in DIP3 tests

* Generate 2 instead of 4 blocks per iteration in PoSe tests

4 was based on old chainparams where I used larger phases.

* Only sleep when necessary in PoSe tests

* Fix typo in comment

* Give PoSe tests more time and sync after fast-forward
2018-11-26 16:53:20 +01:00
Alexander Block
a18ca49a22
Disconnect peers with version < 70212 after DIP3 activation via BIP9 (#2497)
* Disconnect peers with version < 70212 after DIP3 activation via BIP9

* Send REJECT and log when diconnecting peers after DIP3 activation
2018-11-26 16:23:17 +01:00
Alexander Block
80656038fa Bump nTemporaryTestnetForkHeight to 274000 (#2498) 2018-11-26 16:23:29 +03:00
UdjinM6
69bffed72f
Do not sort resulting vector in SelectCoinsGroupedByAddresses (#2493)
Apply specific sort in each case separately instead (when needed).
2018-11-26 16:22:39 +03:00
InhumanPerfection
bb11f1a638 Fix recent changes in DSA conditions (#2494)
* pr2487 bugfix

* push reject msg
2018-11-25 23:52:56 +03:00
UdjinM6
6480ad1d5f
Should check dsq queue regardless of the mixing state (#2491) 2018-11-25 16:35:52 +03:00
Alexander Block
66612cc4b5 Add 0 entry to vTxSigOps when adding quorum commitments (#2489)
This fixes a crash observed on Travis. The same crash is likely to happen
outside of Travis as well later.
2018-11-25 16:27:56 +03:00
UdjinM6
67483cd340
Fix dsq/dsa conditions (#2487)
* Apply new dsq rules in StartNewQueue and DSACCEPT

* Apply similar logic to vecMasternodesUsed

* Add extra check for DSACCEPT
2018-11-25 16:27:43 +03:00
UdjinM6
9d4df466b9
Fix CreateDenominated failure for addresses with huge amount of inputs (#2486)
* Allow specifing max number of outpoints to be returned per address in SelectCoinsGroupedByAddresses

Fixes CreateDenominated failure for addresses with huge amount of inputs

* Apply suggested fixes
2018-11-25 16:27:31 +03:00
Alexander Block
0123517b48 Implement PoSe based on information from LLMQ commitments (#2478)
Members which are not in the validMembers bitsets are now PoSe punished.
The maximum PoSe score is dynamic and mostly identical to the number of
registered MNs. Added PoSe scores for failures are then a percentage of
the maximum score, so that we can better control how often failures are
allowed per payment cycle. For LLMQ failures, this is 66% to allow
approximately 2 failures per payment cycle.
2018-11-25 16:27:18 +03:00
PastaPastaPasta
45421b1a3a Add IS parameter for gobject prepare (#2452)
* Add IS parameter for gobject prepare

* Update if statement

Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>

* Update src/rpc/governance.cpp

Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>

* Update src/rpc/governance.cpp

Co-Authored-By: PastaPastaPasta <pasta@dashboost.org>
2018-11-25 16:26:50 +03:00
UdjinM6
65528e9e7b Bump masternodeman cache version (#2467) 2018-11-23 18:15:38 +01:00
Alexander Block
fa8f4a10cc
Include masternodeProTxHash in CTxLockVote (#2484)
* Introduce proTxHash to CActiveMasternodeInfo

* Include masternodeProTxHash in CTxLockVote
2018-11-23 16:33:45 +01:00
UdjinM6
aa495405b3 [GUI] Realign tx filter widgets (#2485)
Also hide watch-only filter when no watch-only addresses are used (corresponding column already has this kind of behaviour).
2018-11-23 16:23:15 +01:00
PastaPastaPasta
da4b5fb16e Remove an unused function from governance object collateral code (#2480) 2018-11-23 15:43:23 +01:00
Alexander Block
22b5952c5a
Implement and enforce DIP6 commitments (#2477)
* Add LLMQ parameters to consensus params

* Add DIP6 quorum commitment special TX

* Implement CQuorumBlockProcessor which validates and handles commitments

* Add quorum commitments to new blocks

* Propagate QFCOMMITMENT messages to all nodes

* Allow special transactions in blocks which have no inputs/outputs

But only for TRANSACTION_QUORUM_COMMITMENT for now.

* Add quorum commitments to self-crafted blocks in DIP3 tests

* Add simple fork logic for current testnet

This should avoid a fork on the current testnet. It only applies to the
current chain which activated DIP3 at height 264000 and block
00000048e6e71d4bd90e7c456dcb94683ae832fcad13e1760d8283f7e89f332f.

When we revert the chain to retest the DIP3 deployment, this fork logic
can be removed again.

* Use quorumVvecHash instead of quorumHash to make null commitments unique

Implementation of https://github.com/dashpay/dips/pull/31

* Re-add quorum commitments after pruning mempool selected blocks

* Refactor CQuorumBlockProcessor::ProcessBlock to have less nested if/else statements

Also add BEGIN/END markers for temporary code.

* Add comments/documentation to LLMQParams

* Move code which determines if a commitment is required into IsCommitmentRequired

This should make the code easier to read and also removes some duplication.

The also changes the error types that are possible from 3 to 2 now. Instead
of having "bad-qc-already-mined" and "bad-qc-not-mining-phase", there is
only "bad-qc-not-allowed" now.

* Use new parameter from consensus parames for the temporary fork
2018-11-23 15:42:09 +01:00
PastaPastaPasta
f4ef388dea Update PS help text for the new denom (#2471) 2018-11-23 15:41:00 +01:00
gladcow
a57e9dea74 Fix filtering of the lock votes for SPV nodes. (#2468)
* check request is not empty to use it for filtering

* Filter vote INVs by tx hash

* fix lock requests filtering

* Apply suggestions from code review

Co-Authored-By: gladcow <sergey@dash.org>
2018-11-23 15:40:19 +01:00
Alexander Block
d40a5ce31f
Properly initialize confirmedHash in CSimplifiedMNListEntry (#2479)
* Properly initialize confirmedHash in CSimplifiedMNListEntry

* Add consensus params for temporary hard-fork on testnet

This hard-fork is required on testnet as we have to fix a few consensus
bugs in DIP3/DIP4. It will also be required to introduce LLMQ commitments
to testnet.

* Add temporary fork-logic for testnet, which sets confirmedHash to null

...before fork activation. Otherwise we'd invalidate all DIP3 blocks on
testnet.

* Bump nTemporaryTestnetForkHeight to 273000
2018-11-23 10:40:46 +01:00
UdjinM6
df7d12b41f Add univalue test for real numbers (#2460) 2018-11-22 06:09:58 +01:00
UdjinM6
2b400f74b5 Base dsq/dstx thresholold on total number of up to date masternodes (#2465)
Mixing on a newer version with small number of upgraded masternodes
causes mixing txes to "stuck" - old nodes refuse to relay dstxes from new ones because
they come from the same masternodes too often. Basing threshold on the total number
of up to date masternodes and not only on a newer (enabled) ones should solve this.
This however will cause mixing to fail if there are not enough masternodes
on the needed protocol version (i.e. at least GetMinMasternodePaymentsProto())
but it's better to stop mixing than having funds kind of spent yet not confirmed
for a long time.
2018-11-22 06:09:35 +01:00
Alexander Block
5ffc31bce4
Forbid version=0 in special TXs (#2473) 2018-11-22 06:05:32 +01:00
Alexander Block
85157f9a9e
Few trivial fixes for DIP2/DIP3 (#2474)
* Fix wrong index for argument to protx_update_service when error is thrown

* Unify and fix variable name in TxToJSON

The UniValue variable name for TRANSACTION_COINBASE was wrong and is fixed
now. Also changed names for all other special TXs to unify names. This
should avoid such errors in the future when new "else if" branches are
copy/pasted.

* Use "proRegTx" instead of "proTx" as key TRANSACTION_PROVIDER_REGISTER payloads
2018-11-22 06:05:20 +01:00
Alexander Block
2ba1ff5216
Use ParseFixedPoint instead of ParseDoubleV in "protx register" commands (#2458) 2018-11-21 08:04:42 +01:00
Alexander Block
7cabbadefd
Implement context menu and extra info on double-click for DIP3 masternode list (#2459)
* Implement context menu and extra info on double-click for DIP3 masternode list

Menu items:
- "Copy ProTx hash"
- "Copy Collateral hash"

On double click:
Show simple message box with the json representation of the DMN.

* Fix review comments
2018-11-21 08:04:19 +01:00
InhumanPerfection
e049f9c1ea fix protx register rpc help (#2461) 2018-11-21 08:02:54 +01:00
PastaPastaPasta
eb2103760b trivail, clarifies help text for protx register (#2462) 2018-11-21 08:02:15 +01:00
UdjinM6
9232a455c8 Do not hold cs_main while emitting messages in WalletModel::prepareTransaction (#2463)
* Do not hold cs_main while emitting messages

Fixes potential deadlock:
```
POTENTIAL DEADLOCK DETECTED
Previous lock order was:
 (1) cs_deqsessions  privatesend-client.cpp:966
 (2) cs_main  privatesend-client.cpp:816
Current lock order is:
 (2) cs_main  qt/walletmodel.cpp:299
 wallet->cs_wallet  qt/walletmodel.cpp:299
 (1) cs_deqsessions  privatesend-client.cpp:350
```

* Keep CWalletTx* newTx in inner scope
2018-11-21 08:01:47 +01:00
strophy
76e93c7d7b Corrections to incorrect syntax in RPC help (#2466)
* Fix incorrect inline help for "protx update_registrar"

Initial ProRegTx does not define a field named "collateralAddress". It is not necessary to use the collateral address to receive payout, any Dash address can be defined here.

* Fix incorrect syntax for "protx revoke" inline help

"operatorKey" is required here
2018-11-21 07:57:47 +01:00
UdjinM6
12aba2592d Updating translations for de, es, fi, nl, pt, sk, zh_CN, zh_TW (#2451)
* Updating de, es, fi, nl, pt, sk, zh_CN, zh_TW

Known issues:
dash_zh_CN.ts: Mismatch between 'Start &all' and '启动全部(%A)'
dash_zh_CN.ts: Mismatch between 'Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.' and '打开当前目录中的调试日志文件。日志文件大的话可能要等上几秒钟。'
dash_zh_CN.ts: Mismatch between 'Too many %f denominations, removing.' and '太多面额化资金,正在移除。'
dash_zh_CN.ts: Mismatch between 'Initialization sanity check failed. %s is shutting down.' and '初始化完整性检查失败。% 即将

* Fix issues in zh_CN
2018-11-16 18:40:23 +01:00
Alexander Block
cf2b547b7c
Implement tab for DIP3 MN list (#2454)
* Implement tab for DIP3 MN list

* Update src/qt/masternodelist.cpp

Co-Authored-By: codablock <ablock84@gmail.com>

* Change "x.xx% to UNSPECIFIED" to "x.xx% but not claimed" for opeartor reward
2018-11-16 18:19:49 +01:00
Alexander Block
102d127494
Merge pull request #2446 from codablock/pr_dip3_tests
Fix integration tests and add P2SH/multisig tests for DIP3 payees
2018-11-16 09:38:36 +01:00
Alexander Block
58b7041279
Merge pull request #2447 from codablock/pr_dip4_fixdiff
Fix "protx diff" and MNLISTDIFF P2P message to not always return all MNs
2018-11-16 09:37:35 +01:00
Alexander Block
79d7af5d16
Merge pull request #2448 from codablock/pr_dip3_p2shoperatorewards
Allow P2SH/multisig addresses for operator rewards
2018-11-16 09:37:07 +01:00
UdjinM6
624e50949e Remove few leftovers of -instantsenddepth 2018-11-15 21:56:13 +03:00
UdjinM6
88498ba139
Apply suggestions from code review
Co-Authored-By: codablock <ablock84@gmail.com>
2018-11-15 15:24:24 +01:00
Alexander Block
83aac461bc Allow P2SH/multisig addresses for operator rewards
There is no reason left to stick with the P2PKH limitation
2018-11-15 13:24:46 +01:00
Alexander Block
b5947f2997 Implement BuildSimplifiedDiff in CDeterministicMNList
And use it instead of BuildDiff in DIP4
2018-11-15 10:42:39 +01:00
Alexander Block
6edad37457 Use ForEachMN and GetMN in BuildDiff instead of directly accessing mnMap 2018-11-15 10:41:14 +01:00
Alexander Block
3c1f44c3a2 Make sure protx_update_registrar adds enough funds for the fees
FundSpecialTx must take the size of signature into account.
2018-11-15 08:05:38 +01:00
Alexander Block
f4ec3db067
Merge pull request #2442 from UdjinM6/spectx
Various fixes for special txes
2018-11-15 05:18:44 +01:00
Alexander Block
684f9ae0bf
Merge pull request #2445 from codablock/pr_dip3_removerestriction
Remove restriction of payeeAddress being the same as collateralAddress
2018-11-15 05:17:43 +01:00
Alexander Block
d130f25ac3 Fix check for number of params to protx_update_service (#2443) 2018-11-14 18:57:17 +01:00
Alexander Block
f5864254cf Do not use keyIDCollateralAddress anymore when spork15 is active 2018-11-14 18:44:39 +01:00
Alexander Block
5ccf556f3a GetMasternodeInfo with payee argument should do nothing when DIP3 is active
Also change ComputeBlockVersion to directly use mnList.GetMNPayee()
2018-11-14 18:44:39 +01:00
Alexander Block
927e8bd796 Also forbid reusing collateral key for owner/voting keys
We previously only checked for the payee key.
2018-11-14 18:44:39 +01:00
Alexander Block
826e7d063a Move internal collateral check to the else branch of the external collateral check 2018-11-14 18:44:39 +01:00
Alexander Block
dc404e7550 Allow P2SH for payout scripts 2018-11-14 18:44:39 +01:00
Alexander Block
9adf8ad738 Remove restriction that forced use of same addresses for payout and collateral 2018-11-14 18:44:39 +01:00
UdjinM6
6761fa49f1 More checks for tx type 2018-11-14 16:59:10 +03:00
UdjinM6
b843696638 Be more specific about tx version in conditions
We don't want to set rules for version 4+ txes atm.
2018-11-14 16:58:05 +03:00
UdjinM6
c975a986b2 no cs_main in specialtxes 2018-11-14 16:58:03 +03:00
UdjinM6
8bd5b231bf Log mempool payload errors instead of crashing via assert 2018-11-14 16:57:41 +03:00
UdjinM6
658b7afd18 Make error messages re payload a bit more specific 2018-11-14 16:57:41 +03:00
Alexander Block
4ad2f647c2 Use proTxHash instead of outpoint when calculating masternode scores (#2440)
* Track confirmedHash of masternodes

* Also include confirmedHash in DIP4

* Implement CalculateQuorum and CalculateScores in CDeterministicMNList

* Use new ProRegTx based scoring function in GetMasternodeScores

* Update test vectors for simplifiedmns_merkleroots tests
2018-11-13 15:24:14 +03:00
UdjinM6
adf9c87e2e
Fix protx/bls rpc help (#2438) 2018-11-13 15:23:52 +03:00
UdjinM6
579c83e881
Add coinbase_payload to getblocktemplate help (#2437) 2018-11-13 15:23:31 +03:00
Alexander Block
3685c85e7f Show BIP9 progress in getblockchaininfo (#2435)
* Implement VersionBitsCountBlocksInWindow

This gives the count of blocks that voted for the given BIP9 deployment

* Add additional information to BIP9 softforks returned by getblockchaininfo

* make sure progress doesn't exceed 1
2018-11-12 18:08:58 +03:00
UdjinM6
46462d6829
Add a column for IS lock status on Transactions tab (#2433)
* Drop colorizing for IS

* Add IS column

* Add IS filter
2018-11-12 18:08:31 +03:00
Alexander Block
c27e62935f
Allow reusing of external collaterals in DIP3 (#2427)
* Allow to reuse collaterals and addresses in ProRegTx

This also requires to move out the duplication check from CheckService to
the 2 individual ProTx check methods.

* Implement replacement logic for reused collaterals

* Add tests for new replacement logic
2018-11-10 10:54:16 +01:00
Alexander Block
76a38f6ceb
Update defaultAssumeValid, nMinimumChainWork and checkpoints (#2428)
* Update defaultAssumeValid and nMinimumChainWork for mainnet

* Update defaultAssumeValid and nMinimumChainWork for testnet

* Add checkpoint for mainnet

* Add checkpoint for testnet
2018-11-10 10:54:01 +01:00
UdjinM6
5ecd91b054 Fix ps collateral/denom creation tx category confusion (#2430)
* fix ps collateral/denom creation tx confusion

* clarify the logic of detecting PrivateSendMakeCollaterals/PrivateSendCreateDenominations category
2018-11-10 10:53:29 +01:00
Alexander Block
0e9ad207ae
Update hardcoded seeds (#2429)
* Update seeds for mainnet

* Update seeds for testnet
2018-11-10 06:29:14 +01:00
PastaPastaPasta
42ee369b17 [Formatting] masternodelist.* clang+manual format (#2426)
* format

* clang suggested changes to be reverted

* Revert "clang suggested changes to be reverted"

This reverts commit 2c1e7744be1a2f6dd07772f222c656b2ebaa7718.
2018-11-09 09:48:51 +03:00
UdjinM6
da3e3db4dd
Fix sub-command help for masternode, gobject and protx rpcs (#2425)
Fixes #2424
2018-11-09 09:48:26 +03:00
thephez
adad3fcfe3 RPC: protx help corrections (#2422)
* RPC - Correct protx register_prepare help example

Use collateral hash and index instead of address

* RPC - Change protx register help ECDSA address to BLS operator key

* RPC - protx register_prepare help correction

Should direct to protx register help, not protx register_fund

* RPC - protx help typo
2018-11-08 20:03:50 +03:00
UdjinM6
262454791c
Add 5th denom, drop deprecated logic and bump min PS version (#2318)
* Bump PS
- add 5th denom (0.001)
- always allow OP_RETURN in PS collaterals
- collateral amount is always 1/10 of the smallest denom
- bump MIN_PRIVATESEND_PEER_PROTO_VERSION to 70211

* drop backward compatibility in dsa/dsq serialization

* Use GetSmallestDenomination() in GetCollateralAmount()

* bump MIN_PRIVATESEND_PEER_PROTO_VERSION to 70212
2018-11-07 10:39:25 +03:00
UdjinM6
e961c71343
Translations 201811 (#2249)
* update en source

* remove pt_BR

it's no longer present on Transifex

* Update existing translations

NOTE: there are some mismatches in zh_CN

dash_zh_CN.ts: Mismatch between 'Start &all' and '启动全部(%A)'
dash_zh_CN.ts: Mismatch between 'Open the %1 debug log file from the current data directory. This can take a few seconds for large log files.' and '打开当前目录中的调试日志文件。日志文件大的话可能要等上几秒钟。'
dash_zh_CN.ts: Mismatch between 'Too many %f denominations, removing.' and '太多面额化资金,正在移除。'
dash_zh_CN.ts: Mismatch between 'Initialization sanity check failed. %s is shutting down.' and '初始化完整性检查失败。% 即将关闭。'

* Add ar, ko, th

NOTE: there are 2 mismatches in ar

dash_ar.ts: Mismatch between '(of %1 GB needed)' and '(على 1% جيغابايت محتاجة)'
dash_ar.ts: Mismatch between 'Output debugging information (default: %u, supplying <category> is optional)' and 'معلومات تصحيح الخرج  <category>ا(ختياري)'

* update bg, it, ja, ko, nl, pl, th

* fix ru

* add tr

* fix
2018-11-07 10:39:06 +03:00
PastaPastaPasta
f0df5bffa6 Clang evo folder and activemasternode.* (#2418)
* clang + manual formatting

* clang activemasternode.*

* bump copyright

* weirdness correction
2018-11-06 11:54:23 +03:00
PastaPastaPasta
98bdf35f9d bump PS copyright (#2417) 2018-11-05 12:29:33 +03:00
PastaPastaPasta
e9bb822c10 Clang format PrivateSend files (#2373) 2018-11-05 12:29:07 +03:00
UdjinM6
1d56dffdaf
Unify help display logic for various "complex" rpc commands (#2415)
* Unify help display logic for various "complex" rpc commands

* add [[ noreturn ]] attribute and drop dummy returns
2018-11-05 12:28:38 +03:00
Alexander Block
9da9d575aa Allow collaterals for non-DIP3 MNs which were created after DIP3/BIP9 activation (#2412)
* Remove reference to now removed "protocolVersion"

* Allow to use non-DIP3 collaterals after DIP3 activation

This removes a rule which only made sense when we assumed all collaterals
would remain in DIP3 ProRegTx transactions after DIP3 activation.

As we allow to refer external collaterals now, this rule should vanish as
well.

* Sleep in case block time is ahead of real time

See comment. This was not a problem before as we had enough time passed
between the last block that caused this and the start-alias call.
Now we added another start-alias call which is directly after we generated
many blocks.
2018-11-04 14:55:50 +03:00
UdjinM6
23f169c44a
Drop custom PS logic for guessing fees etc. from SelectCoins (#2371)
* drop most of custom PS logic from SelectCoins and inject it into regular flow (i.e. SelectCoinsMinConf)

* different priority for different denoms

* move CompareByPriority higher

* update comment

Co-Authored-By: UdjinM6 <udjinm6@gmail.com>
2018-11-04 14:55:16 +03:00
thephez
02442673d2 Trivial: Correct protx diff RPC help (#2410) 2018-11-02 11:18:05 +03:00
Alexander Block
5e829a3b1b Update Chia bls-signature to latest version (#2409)
Brings in:
1. https://github.com/Chia-Network/bls-signatures/pull/41
2. https://github.com/Chia-Network/bls-signatures/pull/46
3. A few commits from https://github.com/codablock/bls-signatures are now
   merged into upstream.

This removes the need for manual initialization of the BLS library. This is
now done internally and in a thread-safe way.

Also switch to using tags instead of raw commit hashes. Makes testing
easier and also removes the risk of Github deleting commits due to
cleanup jobs.
2018-11-02 00:59:11 +03:00
thephez
1f56600c4b Trivial: Protx operator reward clarification (#2407)
Add decimal places to clarify:
1. Non-integers are valid (e.g. 3.25)
2. Granularity - anything beyond x.xx is rounded (e.g. 3.259 -> 3.26)

This is due to DIP3 allowing values 0-10000 for operator reward (1/10000
= 0.01%)
2018-11-02 00:58:36 +03:00
UdjinM6
7e8f07bb92
A couple of fixes for shutdown sequence (#2406)
* Do not run scheduled DoMaintenance if shutdown was requested

* Don't dump cache files if the load sequence was interrupted

* Stop privatesend and release keys before wallet flush

* fix typo
2018-11-02 00:58:17 +03:00
UdjinM6
9c455caea9
A couple of fixes for init steps (#2405)
* fLiteMode should be set via GetBoolArg before first usage

Also move related stuff to be closer to each other

* Cleanup Dash-specific init steps

* Move deterministicMNManager creation slightly higher for consistensy
2018-11-02 00:58:01 +03:00