Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
db4d471
Also allow non-const T in Serialize/Unserialize for shared_ptr
codablock Dec 18, 2018
99ffce5
Remove CActiveLegacyMasternodeManager
codablock Dec 17, 2018
730ce25
Remove sentinelping RPC
codablock Dec 17, 2018
c649922
Remove unused P2P messages and inv types
codablock Dec 17, 2018
916d892
Remove MNB/MNP/MNVERIFY related code from masternode(man).h/cpp
codablock Dec 17, 2018
5f8ef2a
Remove all legacy code regarding block MN payee voting
codablock Dec 17, 2018
899a692
Remove MASTERNODE_SYNC_LIST and MASTERNODE_SYNC_MNW states
codablock Dec 17, 2018
46aadde
Remove conditionals for IsDeterministicMNsSporkActive
codablock Dec 17, 2018
24feb38
Remove nProtocolVersion filtering from CountMasternodes/CountEnabled
codablock Dec 17, 2018
7323056
Remove unsupported masternode RPCs
codablock Dec 17, 2018
6c824bf
Let "masternode winner/current" directly use deterministicMNManager
codablock Dec 17, 2018
0cf9f4b
Remove UpdateLastPaid methods
codablock Dec 17, 2018
f07fbbb
Remove unsupported types/fields from "masternode list"
codablock Dec 17, 2018
7185bc5
Remove duplicate deterministicmns.h include
codablock Dec 17, 2018
c3df089
Directly use deterministicMNManager in CGovernanceManager::GetCurrent…
codablock Dec 17, 2018
aad090e
Remove support for legacy operator keys in CPrivateSendBroadcastTx
codablock Dec 17, 2018
c0fa78f
Directly use deterministicMNManager when processing DSTX
codablock Dec 17, 2018
fe1e8ab
Remove compatibility code from governance RPCs and directly use deter…
codablock Dec 17, 2018
fd1b590
Remove masternode.conf support
codablock Dec 17, 2018
39673a7
Remove legacy MN lists support from masternode list GUI
codablock Dec 17, 2018
5b8923b
Implement HasValidMN, HasValidMNByCollateral and GetValidMNByCollateral
codablock Dec 17, 2018
3543613
Remove Has/Get from CMasternodeMan and directly use deterministicMNMa…
codablock Dec 17, 2018
7e87502
Remove unnecessary AskForMN call
codablock Dec 17, 2018
c5c0457
Don't use GetMasternodeInfo in CTxLockVote::IsValid
codablock Dec 17, 2018
d66c0bb
Remove support for legacy signatures in CTxLockVote
codablock Dec 17, 2018
b6a4660
Remove legacy signatures support in CPrivateSendQueue
codablock Dec 17, 2018
50e24ad
Remove a few uses of mnodeman from governance code
codablock Dec 17, 2018
087605a
Remove use of mnodeman.GetMasternodeInfo from IX code
codablock Dec 17, 2018
a0ff198
Replace uses of mnodeman in PS code when deterministicMNManager can b…
codablock Dec 17, 2018
1cdf5aa
Move logic from FindRandomNotInVec into GetRandomNotUsedMasternode
codablock Dec 17, 2018
ceefc75
Remove compatibility code in CPrivateSendQueue::GetSignatureHash
codablock Dec 17, 2018
ca16c53
Remove MN upgrade check in ComputeBlockVersion
codablock Dec 17, 2018
df7962b
Remove GetMasternodeInfo from CMasternodeMan
codablock Dec 17, 2018
6147eec
Remove support for "masternode list rank"
codablock Dec 17, 2018
0f4c08d
Change GetMasternodeScores and GetMasternodeRank to use CDeterministi…
codablock Dec 17, 2018
ca5f9a2
Remove call to mnodeman.PoSeBan
codablock Dec 17, 2018
6a3545f
Always load governance.dat on startup
codablock Dec 17, 2018
87c60e2
Don't add locally calculated MN payee in case GetBlockTxOuts failed
codablock Dec 17, 2018
ef094aa
Directly use deterministicMNManager instead of mnodeman.CountXXX
codablock Dec 17, 2018
26f21e0
Directly use deterministicMNManager in "masternode list"
codablock Dec 17, 2018
9732712
Remove AddDeterministicMasternodes and RemoveNonDeterministicMasternodes
codablock Dec 17, 2018
2c1fced
Move CMasternode::IsValidNetAddr to CActiveDeterministicMasternodeMan…
codablock Dec 17, 2018
6867d21
Implement NotifyMasternodeListChanged signal and call governance main…
codablock Dec 17, 2018
99d4af2
Remove use of CMasternode::CheckCollateral in governance code
codablock Dec 17, 2018
6779847
Remove uses of MASTERNODE_SENTINEL_PING_MAX_SECONDS/MASTERNODE_SENTIN…
codablock Dec 18, 2018
d2447f9
Split up remaining logic from CMasternodeMan into CMasternodeMetaMan …
codablock Dec 17, 2018
75f48c6
Rename CActiveDeterministicMasternodeManager to CActiveMasternodeManager
codablock Dec 18, 2018
6b1ac19
Remove support for "-masternodeprivkey"
codablock Dec 18, 2018
271e14e
Remove pre-DIP3 vote cleanup
codablock Dec 18, 2018
8dd7b19
Remove compatibility code for quorumModifierHash/masternodeProTxHash
codablock Dec 18, 2018
6ec9cdd
Remove check for IsDeterministicMNsSporkActive in "masternode status"
codablock Dec 18, 2018
154fcd3
Remove check for invalid nBlockHeight in CMasternodePayments::GetBloc…
codablock Dec 18, 2018
49a6073
Remove SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT
codablock Dec 18, 2018
4049d61
Remove SPORK_10_MASTERNODE_PAY_UPDATED_NODES and SPORK_10_MASTERNODE_…
codablock Dec 18, 2018
4655b50
Remove ECDSA based Sign/CheckSignature from CGovernanceObject
codablock Dec 18, 2018
c270562
Remove handling of SPORK_6_NEW_SIGS from governance code
codablock Dec 18, 2018
ea9c83f
Remove SPORK_6_NEW_SIGS and handling of it in spork.cpp
codablock Dec 18, 2018
8ae2036
Always add superblock and MN reward payments into new block
codablock Dec 18, 2018
3d23bd2
Always check block payees (except if fLiteMode==true)
codablock Dec 18, 2018
83430e2
Always allow superblock and MN payees in same block
codablock Dec 18, 2018
3a8744e
Replace IsDeterministicMNsSporkActive with IsDIP3Active
codablock Dec 18, 2018
2863e6e
Remove SPORK_15_DETERMINISTIC_MNS_ENABLED
codablock Dec 18, 2018
21194af
Remove/Fix a few references to masternode.conf and related stuff
codablock Dec 18, 2018
d96ca94
Remove DIP3 upgrade-path tests and directly start with DIP3 enabled t…
codablock Dec 18, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 0 additions & 88 deletions dash-docs/protocol-documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,52 +69,6 @@ Bitcoin Public Key https://bitcoin.org/en/glossary/public-key

## Message Types

### MNANNOUNCE - "mnb"

CMasternodeBroadcast

Whenever a masternode comes online or a client is syncing, they will send this message which describes the masternode entry and how to validate messages from it.

| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| 36 | outpoint | [COutPoint](#coutpoint) | The unspent output which is holding 1000 DASH
| # | addr | [CService](#cservice) | IPv4 address of the masternode
| 33-65 | pubKeyCollateralAddress | [CPubKey](#cpubkey) | CPubKey of the main 1000 DASH unspent output
| 33-65 | pubKeyMasternode | [CPubKey](#cpubkey) | CPubKey of the secondary signing key (For all other messaging other than announce message)
| 71-73 | sig | char[] | Signature of this message (verifiable via pubKeyCollateralAddress)
| 8 | sigTime | int64_t | Time which the signature was created
| 4 | nProtocolVersion | int | The protocol version of the masternode
| # | lastPing | [CMasternodePing](#mnping---mnp) | The last known ping of the masternode

### MNPING - "mnp"

CMasternodePing

Every few minutes, masternodes ping the network with a message that propagates the whole network.

| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | --------- |
| 36 | masternodeOutpoint | [COutPoint](#coutpoint) | The unspent output of the masternode which is signing the message
| 32 | blockHash | uint256 | Current chaintip blockhash minus 12
| 8 | sigTime | int64_t | Signature time for this ping
| 71-73 | vchSig | char[] | Signature of this message by masternode (verifiable via pubKeyMasternode)
| 1 | fSentinelIsCurrent | bool | true if last sentinel ping was current
| 4 | nSentinelVersion | uint32_t | The version of Sentinel running on the masternode which is signing the message
| 4 | nDaemonVersion | uint32_t | The version of dashd of the masternode which is signing the message (i.e. CLIENT_VERSION)

### MASTERNODEPAYMENTVOTE - "mnw"

CMasternodePaymentVote

When a new block is found on the network, a masternode quorum will be determined and those 10 selected masternodes will issue a masternode payment vote message to pick the next winning node.

| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| 36 | masternodeOutpoint | [COutPoint](#coutpoint) | The unspent output of the masternode which is signing the message
| 4 | nBlockHeight | int | The blockheight which the payee should be paid
| ? | payeeAddress | CScript | The address to pay to
| 71-73 | sig | char[] | Signature of the masternode which is signing the message

### DSTX - "dstx"

CDarksendBroadcastTx
Expand Down Expand Up @@ -265,26 +219,6 @@ Spork

## Undocumented messages

### MASTERNODEPAYMENTBLOCK - "mnwb"

Masternode Payment Block

*NOTE: Per src/protocol.cpp, there is no message for this (only inventory)*

### MNVERIFY - "mnv"

Masternode Verify

| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| 36 | masternodeOutpoint1 | [COutPoint](#coutpoint) | The unspent output which is holding 1000 DASH for masternode 1
| 36 | masternodeOutpoint2 | [COutPoint](#coutpoint) | The unspent output which is holding 1000 DASH for masternode 2
| # | addr | [CService](#cservice) | IPv4 address / port of the masternode
| 4 | nonce | int | Nonce
| 4 | nBlockHeight | int | The blockheight
| 66* | vchSig1 | char[] | Signature of by masternode 1 (unclear if 66 is the correct size, but this is what it appears to be in most cases)
| 66* | vchSig2 | char[] | Signature of by masternode 2 (unclear if 66 is the correct size, but this is what it appears to be in most cases)

### DSFINALTX - "dsf"

Darksend Final Transaction
Expand Down Expand Up @@ -312,16 +246,6 @@ Governance Sync
| 32 | nHash | uint256 | |
| # | filter | CBloomFilter | |

### DSEG - "dseg"

Masternode List/Entry Sync

Get Masternode list or specific entry

| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| 36 | masternodeOutpoint | [COutPoint](#coutpoint) | The unspent output which is holding 1000 DASH

### SYNCSTATUSCOUNT - "ssc"

Sync Status Count
Expand All @@ -335,18 +259,6 @@ Sync Status Count

| Item ID | Name | Description |
| ---------- | ---------- | ----------- |
| 2 | MASTERNODE_SYNC_LIST | |
| 3 | MASTERNODE_SYNC_MNW | |
| 4 | MASTERNODE_SYNC_GOVERNANCE | |
| 10 | MASTERNODE_SYNC_GOVOBJ | |
| 11 | MASTERNODE_SYNC_GOVOBJ_VOTE | |

### MASTERNODEPAYMENTSYNC - "mnget"

Masternode Payment Sync

| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| 4 | nMnCount | int | | (DEPRECATED)

*NOTE: There are no fields in this mesasge starting from protocol 70209*
2 changes: 0 additions & 2 deletions doc/files.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@
* fee_estimates.dat: stores statistics used to estimate minimum transaction fees and priorities required for confirmation; since 0.10.0
* mempool.dat: dump of the mempool's transactions; since 0.14.0.
* governance.dat: stores data for governance obgects
* masternode.conf: contains configuration settings for remote masternodes
* mncache.dat: stores data for masternode list
* mnpayments.dat: stores data for masternode payments
* netfulfilled.dat: stores data about recently made network requests
* peers.dat: peer IP address database (custom format); since 0.7.0
* wallet.dat: personal wallet (BDB) with keys and transactions
Expand Down
133 changes: 0 additions & 133 deletions doc/guide-startmany.md

This file was deleted.

2 changes: 1 addition & 1 deletion doc/masternode-budget.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ The following RPC commands are supported:
- nextsuperblocksize - Get superblock size for a given blockheight
- projection - Show the projection of which proposals will be paid the next cycle
- vote - Vote on a proposal by single masternode (using dash.conf setup)
- vote-many - Vote on a proposal by all masternodes (using masternode.conf setup)
- vote-many - Vote on a proposal by all masternodes for which the voting key is in the wallet
- vote-alias - Vote on a proposal by alias
- mnfinalbudget "command"... ( "passphrase" )
- vote-many - Vote on a finalized budget
Expand Down
29 changes: 0 additions & 29 deletions doc/masternode_conf.md

This file was deleted.

1 change: 0 additions & 1 deletion qa/rpc-tests/autoix-mempool.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ def fill_mempool(self):
def run_test(self):
# make sure masternodes are synced
sync_masternodes(self.nodes)
self.enforce_masternode_payments() # required for bip9 activation
self.activate_autoix_bip9()
self.set_autoix_spork_state(True)

Expand Down
Loading