Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F13115897
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
4 KB
Subscribers
None
View Options
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
Details
Attached
Mime Type
text/x-diff
Expires
Sun, Mar 2, 12:35 (1 d, 26 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5185345
Default Alt Text
(4 KB)
Attached To
rSTAGING Bitcoin ABC staging
Event Timeline
Log In to Comment