Page MenuHomePhabricator

No OneTemporary

diff --git a/src/policy/policy.h b/src/policy/policy.h
index 1b67a284bf..1663562644 100644
--- a/src/policy/policy.h
+++ b/src/policy/policy.h
@@ -1,121 +1,121 @@
// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2009-2016 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#ifndef BITCOIN_POLICY_POLICY_H
#define BITCOIN_POLICY_POLICY_H
#include "consensus/consensus.h"
#include "script/standard.h"
#include <string>
class CCoinsViewCache;
class CTransaction;
/**
* Default for -blockmaxsize, which controls the maximum size of block the
* mining code will create.
*/
static const uint64_t DEFAULT_MAX_GENERATED_BLOCK_SIZE = 2 * ONE_MEGABYTE;
/**
* Default for -blockprioritypercentage, define the amount of block space
* reserved to high priority transactions.
*/
static const uint64_t DEFAULT_BLOCK_PRIORITY_PERCENTAGE = 5;
/**
* Default for -blockmintxfee, which sets the minimum feerate for a transaction
* in blocks created by mining code.
*/
static const Amount DEFAULT_BLOCK_MIN_TX_FEE(1000);
/**
* 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_TX_SIGOPS_COUNT / 5;
/**
* Default for -maxmempool, maximum megabytes of mempool memory usage.
*/
static const unsigned int DEFAULT_MAX_MEMPOOL_SIZE = 300;
/**
* Default for -incrementalrelayfee, which sets the minimum feerate increase for
* mempool limiting or BIP 125 replacement.
*/
static const CFeeRate MEMPOOL_FULL_FEE_INCREMENT(Amount(1000));
/**
* Default for -bytespersigop .
*/
static const unsigned int DEFAULT_BYTES_PER_SIGOP = 20;
/**
* Min feerate for defining dust. Historically this has been the same as the
* minRelayTxFee, however changing the dust limit changes which transactions are
* standard and should be done with care and ideally rarely. It makes sense to
* only increase the dust limit after prior releases were already not creating
* outputs below the new threshold.
*/
static const Amount DUST_RELAY_TX_FEE(1000);
/**
* 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 uint32_t STANDARD_SCRIPT_VERIFY_FLAGS =
- MANDATORY_SCRIPT_VERIFY_FLAGS | SCRIPT_VERIFY_DERSIG |
- SCRIPT_VERIFY_MINIMALDATA | SCRIPT_VERIFY_NULLDUMMY |
- SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS | SCRIPT_VERIFY_CLEANSTACK |
- SCRIPT_VERIFY_NULLFAIL | SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY |
- SCRIPT_VERIFY_CHECKSEQUENCEVERIFY | SCRIPT_VERIFY_LOW_S;
+ MANDATORY_SCRIPT_VERIFY_FLAGS | SCRIPT_VERIFY_DERSIG | SCRIPT_VERIFY_LOW_S |
+ SCRIPT_VERIFY_NULLDUMMY | SCRIPT_VERIFY_SIGPUSHONLY |
+ SCRIPT_VERIFY_MINIMALDATA | SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS |
+ SCRIPT_VERIFY_CLEANSTACK | SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY |
+ SCRIPT_VERIFY_CHECKSEQUENCEVERIFY | SCRIPT_VERIFY_NULLFAIL;
/**
* For convenience, standard but not mandatory verify flags.
*/
static const uint32_t STANDARD_NOT_MANDATORY_VERIFY_FLAGS =
STANDARD_SCRIPT_VERIFY_FLAGS & ~MANDATORY_SCRIPT_VERIFY_FLAGS;
/**
* Used as the flags parameter to sequence and nLocktime checks in non-consensus
* code.
*/
static const uint32_t STANDARD_LOCKTIME_VERIFY_FLAGS =
LOCKTIME_VERIFY_SEQUENCE | LOCKTIME_MEDIAN_TIME_PAST;
/**
* Used as the flags parameters to check for sigops as if OP_CHECKDATASIG is
* enabled. Can be removed after OP_CHECKDATASIG is activated as the flag is
* made standard.
*/
static const uint32_t STANDARD_CHECKDATASIG_VERIFY_FLAGS =
STANDARD_SCRIPT_VERIFY_FLAGS | SCRIPT_ENABLE_CHECKDATASIG;
bool IsStandard(const CScript &scriptPubKey, txnouttype &whichType);
/**
* Check for standard transaction types
* @return True if all outputs (scriptPubKeys) use only standard transaction
* forms
*/
bool IsStandardTx(const CTransaction &tx, std::string &reason);
/**
* Check for standard transaction types
* @param[in] mapInputs Map of previous transactions that have outputs we're
* spending
* @return True if all inputs (scriptSigs) use only standard transaction forms
*/
bool AreInputsStandard(const CTransaction &tx,
const CCoinsViewCache &mapInputs);
extern CFeeRate incrementalRelayFee;
extern CFeeRate dustRelayFee;
extern uint32_t nBytesPerSigOp;
#endif // BITCOIN_POLICY_POLICY_H

File Metadata

Mime Type
text/x-diff
Expires
Sun, Mar 2, 12:35 (21 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5185345
Default Alt Text
(4 KB)

Event Timeline