Policy: MOVEONLY: Create policy/policy.h with some constants

This commit is contained in:
Jorge Timón 2015-06-24 07:25:30 +02:00
parent 24f24896d6
commit 627b9deff4
12 changed files with 52 additions and 30 deletions

View File

@ -111,6 +111,7 @@ BITCOIN_CORE_H = \
netbase.h \ netbase.h \
noui.h \ noui.h \
policy/fees.h \ policy/fees.h \
policy/policy.h \
pow.h \ pow.h \
primitives/block.h \ primitives/block.h \
primitives/transaction.h \ primitives/transaction.h \

View File

@ -8,6 +8,7 @@
#include "consensus/consensus.h" #include "consensus/consensus.h"
#include "core_io.h" #include "core_io.h"
#include "keystore.h" #include "keystore.h"
#include "policy/policy.h"
#include "primitives/transaction.h" #include "primitives/transaction.h"
#include "script/script.h" #include "script/script.h"
#include "script/sign.h" #include "script/sign.h"

View File

@ -18,6 +18,7 @@
#include "main.h" #include "main.h"
#include "miner.h" #include "miner.h"
#include "net.h" #include "net.h"
#include "policy/policy.h"
#include "rpcserver.h" #include "rpcserver.h"
#include "script/standard.h" #include "script/standard.h"
#include "scheduler.h" #include "scheduler.h"

View File

@ -11,10 +11,12 @@
#include "chainparams.h" #include "chainparams.h"
#include "checkpoints.h" #include "checkpoints.h"
#include "checkqueue.h" #include "checkqueue.h"
#include "consensus/consensus.h"
#include "consensus/validation.h" #include "consensus/validation.h"
#include "init.h" #include "init.h"
#include "merkleblock.h" #include "merkleblock.h"
#include "net.h" #include "net.h"
#include "policy/policy.h"
#include "pow.h" #include "pow.h"
#include "txdb.h" #include "txdb.h"
#include "txmempool.h" #include "txmempool.h"

View File

@ -14,7 +14,6 @@
#include "chain.h" #include "chain.h"
#include "chainparams.h" #include "chainparams.h"
#include "coins.h" #include "coins.h"
#include "consensus/consensus.h"
#include "net.h" #include "net.h"
#include "primitives/block.h" #include "primitives/block.h"
#include "primitives/transaction.h" #include "primitives/transaction.h"
@ -47,19 +46,8 @@ class CValidationState;
struct CNodeStateStats; struct CNodeStateStats;
/** Default for -blockmaxsize and -blockminsize, which control the range of sizes the mining code will create **/
static const unsigned int DEFAULT_BLOCK_MAX_SIZE = 750000;
static const unsigned int DEFAULT_BLOCK_MIN_SIZE = 0;
/** Default for -blockprioritysize, maximum space for zero/low-fee transactions **/
static const unsigned int DEFAULT_BLOCK_PRIORITY_SIZE = 50000;
/** Default for accepting alerts from the P2P network. */ /** Default for accepting alerts from the P2P network. */
static const bool DEFAULT_ALERTS = true; static const bool DEFAULT_ALERTS = true;
/** The maximum size for transactions we're willing to relay/mine */
static const unsigned int MAX_STANDARD_TX_SIZE = 100000;
/** Maximum number of signature check operations in an IsStandard() P2SH script */
static const unsigned int MAX_P2SH_SIGOPS = 15;
/** The maximum number of sigops we're willing to relay/mine in a single tx */
static const unsigned int MAX_STANDARD_TX_SIGOPS = MAX_BLOCK_SIGOPS/5;
/** Default for -maxorphantx, maximum number of orphan transactions kept in memory */ /** Default for -maxorphantx, maximum number of orphan transactions kept in memory */
static const unsigned int DEFAULT_MAX_ORPHAN_TRANSACTIONS = 100; static const unsigned int DEFAULT_MAX_ORPHAN_TRANSACTIONS = 100;
/** The maximum size of a blk?????.dat file (since 0.8) */ /** The maximum size of a blk?????.dat file (since 0.8) */

View File

@ -12,6 +12,7 @@
#include "hash.h" #include "hash.h"
#include "main.h" #include "main.h"
#include "net.h" #include "net.h"
#include "policy/policy.h"
#include "pow.h" #include "pow.h"
#include "primitives/transaction.h" #include "primitives/transaction.h"
#include "timedata.h" #include "timedata.h"

41
src/policy/policy.h Normal file
View File

@ -0,0 +1,41 @@
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2009-2014 The Bitcoin developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_POLICY_H
#define BITCOIN_POLICY_H
#include "consensus/consensus.h"
#include "script/interpreter.h"
#include "script/standard.h"
/** Default for -blockmaxsize and -blockminsize, which control the range of sizes the mining code will create **/
static const unsigned int DEFAULT_BLOCK_MAX_SIZE = 750000;
static const unsigned int DEFAULT_BLOCK_MIN_SIZE = 0;
/** Default for -blockprioritysize, maximum space for zero/low-fee transactions **/
static const unsigned int DEFAULT_BLOCK_PRIORITY_SIZE = 50000;
/** The maximum size for transactions we're willing to relay/mine */
static const unsigned int MAX_STANDARD_TX_SIZE = 100000;
/** Maximum number of signature check operations in an IsStandard() P2SH script */
static const unsigned int MAX_P2SH_SIGOPS = 15;
/** The maximum number of sigops we're willing to relay/mine in a single tx */
static const unsigned int MAX_STANDARD_TX_SIGOPS = MAX_BLOCK_SIGOPS/5;
/**
* Standard script verification flags that standard transactions will comply
* with. However scripts violating these flags may still be present in valid
* blocks and we must accept those blocks.
*/
static const unsigned int STANDARD_SCRIPT_VERIFY_FLAGS = MANDATORY_SCRIPT_VERIFY_FLAGS |
SCRIPT_VERIFY_DERSIG |
SCRIPT_VERIFY_STRICTENC |
SCRIPT_VERIFY_MINIMALDATA |
SCRIPT_VERIFY_NULLDUMMY |
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS |
SCRIPT_VERIFY_CLEANSTACK |
SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY;
/** For convenience, standard but not mandatory verify flags. */
static const unsigned int STANDARD_NOT_MANDATORY_VERIFY_FLAGS = STANDARD_SCRIPT_VERIFY_FLAGS & ~MANDATORY_SCRIPT_VERIFY_FLAGS;
#endif // BITCOIN_POLICY_H

View File

@ -11,6 +11,7 @@
#include "main.h" #include "main.h"
#include "merkleblock.h" #include "merkleblock.h"
#include "net.h" #include "net.h"
#include "policy/policy.h"
#include "primitives/transaction.h" #include "primitives/transaction.h"
#include "rpcserver.h" #include "rpcserver.h"
#include "script/script.h" #include "script/script.h"

View File

@ -5,9 +5,10 @@
#include "script/sign.h" #include "script/sign.h"
#include "primitives/transaction.h"
#include "key.h" #include "key.h"
#include "keystore.h" #include "keystore.h"
#include "policy/policy.h"
#include "primitives/transaction.h"
#include "script/standard.h" #include "script/standard.h"
#include "uint256.h" #include "uint256.h"

View File

@ -39,23 +39,6 @@ extern unsigned nMaxDatacarrierBytes;
*/ */
static const unsigned int MANDATORY_SCRIPT_VERIFY_FLAGS = SCRIPT_VERIFY_P2SH; static const unsigned int MANDATORY_SCRIPT_VERIFY_FLAGS = SCRIPT_VERIFY_P2SH;
/**
* Standard script verification flags that standard transactions will comply
* with. However scripts violating these flags may still be present in valid
* blocks and we must accept those blocks.
*/
static const unsigned int STANDARD_SCRIPT_VERIFY_FLAGS = MANDATORY_SCRIPT_VERIFY_FLAGS |
SCRIPT_VERIFY_DERSIG |
SCRIPT_VERIFY_STRICTENC |
SCRIPT_VERIFY_MINIMALDATA |
SCRIPT_VERIFY_NULLDUMMY |
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS |
SCRIPT_VERIFY_CLEANSTACK |
SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY;
/** For convenience, standard but not mandatory verify flags. */
static const unsigned int STANDARD_NOT_MANDATORY_VERIFY_FLAGS = STANDARD_SCRIPT_VERIFY_FLAGS & ~MANDATORY_SCRIPT_VERIFY_FLAGS;
enum txnouttype enum txnouttype
{ {
TX_NONSTANDARD, TX_NONSTANDARD,

View File

@ -5,6 +5,7 @@
#include "key.h" #include "key.h"
#include "keystore.h" #include "keystore.h"
#include "main.h" #include "main.h"
#include "policy/policy.h"
#include "script/script.h" #include "script/script.h"
#include "script/script_error.h" #include "script/script_error.h"
#include "script/sign.h" #include "script/sign.h"

View File

@ -12,6 +12,7 @@
#include "consensus/validation.h" #include "consensus/validation.h"
#include "main.h" #include "main.h"
#include "net.h" #include "net.h"
#include "policy/policy.h"
#include "script/script.h" #include "script/script.h"
#include "script/sign.h" #include "script/sign.h"
#include "timedata.h" #include "timedata.h"