Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

Consensus Namespace Reference

Classes

struct  BIP9Deployment
 Struct for each individual consensus rule change using BIP9. More...
 
struct  LLMQParams
 
struct  Params
 Parameters that influence chain consensus. More...
 

Enumerations

enum  DeploymentPos {
  DEPLOYMENT_TESTDUMMY, DEPLOYMENT_CSV, DEPLOYMENT_DIP0001, DEPLOYMENT_BIP147,
  DEPLOYMENT_DIP0003, DEPLOYMENT_DIP0008, DEPLOYMENT_REALLOC, MAX_VERSION_BITS_DEPLOYMENTS
}
 
enum  LLMQType : uint8_t {
  LLMQ_NONE = 0xff, LLMQ_50_60 = 1, LLMQ_400_60 = 2, LLMQ_400_85 = 3,
  LLMQ_TEST = 100, LLMQ_DEVNET = 101
}
 

Functions

bool CheckTxInputs (const CTransaction &tx, CValidationState &state, const CCoinsViewCache &inputs, int nSpendHeight, CAmount &txfee)
 Check whether all inputs of this transaction are valid (no double spends and amounts) This does not modify the UTXO set. More...
 

Enumeration Type Documentation

◆ DeploymentPos

Enumerator
DEPLOYMENT_TESTDUMMY 
DEPLOYMENT_CSV 
DEPLOYMENT_DIP0001 
DEPLOYMENT_BIP147 
DEPLOYMENT_DIP0003 
DEPLOYMENT_DIP0008 
DEPLOYMENT_REALLOC 
MAX_VERSION_BITS_DEPLOYMENTS 

Definition at line 15 of file params.h.

◆ LLMQType

enum Consensus::LLMQType : uint8_t
Enumerator
LLMQ_NONE 
LLMQ_50_60 
LLMQ_400_60 
LLMQ_400_85 
LLMQ_TEST 
LLMQ_DEVNET 

Definition at line 48 of file params.h.

Function Documentation

◆ CheckTxInputs()

bool Consensus::CheckTxInputs ( const CTransaction tx,
CValidationState state,
const CCoinsViewCache inputs,
int  nSpendHeight,
CAmount txfee 
)

Check whether all inputs of this transaction are valid (no double spends and amounts) This does not modify the UTXO set.

This does not check scripts and sigs.

Parameters
[out]txfeeSet to the transaction fee if successful. Preconditions: tx.IsCoinBase() is false.

Definition at line 211 of file tx_verify.cpp.

References CCoinsViewCache::AccessCoin(), COINBASE_MATURITY, CValidationState::DoS(), FormatMoney(), CTransaction::GetValueOut(), CCoinsViewCache::HaveInputs(), CValidationState::Invalid(), Coin::IsCoinBase(), Coin::IsSpent(), MoneyRange(), Coin::nHeight, CTxOut::nValue, Coin::out, REJECT_INVALID, strprintf, and CTransaction::vin.

Referenced by AcceptToMemoryPoolWorker(), CheckInputsAndUpdateCoins(), and CChainState::ConnectBlock().

Released under the MIT license