Changeset View
Changeset View
Standalone View
Standalone View
src/policy/policy.h
Show First 20 Lines • Show All 79 Lines • ▼ Show 20 Lines | |||||
* with. However scripts violating these flags may still be present in valid | * with. However scripts violating these flags may still be present in valid | ||||
* blocks and we must accept those blocks. | * blocks and we must accept those blocks. | ||||
*/ | */ | ||||
static const uint32_t STANDARD_SCRIPT_VERIFY_FLAGS = | static const uint32_t STANDARD_SCRIPT_VERIFY_FLAGS = | ||||
MANDATORY_SCRIPT_VERIFY_FLAGS | SCRIPT_VERIFY_DERSIG | | MANDATORY_SCRIPT_VERIFY_FLAGS | SCRIPT_VERIFY_DERSIG | | ||||
SCRIPT_VERIFY_NULLDUMMY | SCRIPT_VERIFY_SIGPUSHONLY | | SCRIPT_VERIFY_NULLDUMMY | SCRIPT_VERIFY_SIGPUSHONLY | | ||||
SCRIPT_VERIFY_MINIMALDATA | SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS | | SCRIPT_VERIFY_MINIMALDATA | SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS | | ||||
SCRIPT_VERIFY_CLEANSTACK | SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY | | SCRIPT_VERIFY_CLEANSTACK | SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY | | ||||
SCRIPT_VERIFY_CHECKSEQUENCEVERIFY; | SCRIPT_VERIFY_CHECKSEQUENCEVERIFY | SCRIPT_ENABLE_CHECKDATASIG; | ||||
/** | /** | ||||
* For convenience, standard but not mandatory verify flags. | * For convenience, standard but not mandatory verify flags. | ||||
*/ | */ | ||||
static const uint32_t STANDARD_NOT_MANDATORY_VERIFY_FLAGS = | static const uint32_t STANDARD_NOT_MANDATORY_VERIFY_FLAGS = | ||||
STANDARD_SCRIPT_VERIFY_FLAGS & ~MANDATORY_SCRIPT_VERIFY_FLAGS; | STANDARD_SCRIPT_VERIFY_FLAGS & ~MANDATORY_SCRIPT_VERIFY_FLAGS; | ||||
/** | /** | ||||
* Used as the flags parameter to sequence and nLocktime checks in non-consensus | * Used as the flags parameter to sequence and nLocktime checks in non-consensus | ||||
* code. | * code. | ||||
*/ | */ | ||||
static const uint32_t STANDARD_LOCKTIME_VERIFY_FLAGS = | static const uint32_t STANDARD_LOCKTIME_VERIFY_FLAGS = | ||||
LOCKTIME_VERIFY_SEQUENCE | LOCKTIME_MEDIAN_TIME_PAST; | 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); | bool IsStandard(const CScript &scriptPubKey, txnouttype &whichType); | ||||
/** | /** | ||||
* Check for standard transaction types | * Check for standard transaction types | ||||
* @return True if all outputs (scriptPubKeys) use only standard transaction | * @return True if all outputs (scriptPubKeys) use only standard transaction | ||||
* forms | * forms | ||||
*/ | */ | ||||
bool IsStandardTx(const CTransaction &tx, std::string &reason); | bool IsStandardTx(const CTransaction &tx, std::string &reason); | ||||
Show All 15 Lines |