Changeset View
Changeset View
Standalone View
Standalone View
src/policy/policy.h
Show First 20 Lines • Show All 82 Lines • ▼ Show 20 Lines | static const uint32_t MANDATORY_SCRIPT_VERIFY_FLAGS = | ||||
SCRIPT_ENABLE_SIGHASH_FORKID | SCRIPT_VERIFY_LOW_S | | SCRIPT_ENABLE_SIGHASH_FORKID | SCRIPT_VERIFY_LOW_S | | ||||
SCRIPT_VERIFY_NULLFAIL | SCRIPT_VERIFY_MINIMALDATA | | SCRIPT_VERIFY_NULLFAIL | SCRIPT_VERIFY_MINIMALDATA | | ||||
SCRIPT_ENABLE_SCHNORR_MULTISIG; | SCRIPT_ENABLE_SCHNORR_MULTISIG; | ||||
/** | /** | ||||
* Standard script verification flags that standard transactions will comply | * Standard script verification flags that standard transactions will comply | ||||
* 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. | ||||
* | |||||
* Note that the actual mempool validation flags may be slightly different (see | |||||
* GetStandardScriptFlags), however this constant should be set to the most | |||||
* restrictive flag set that applies in the current / next upgrade, since it is | |||||
* used in numerous parts of the codebase that are unable to access the | |||||
* contextual information of which upgrades are currently active. | |||||
markblundeberg: Ideally we should be making more parts of the codebase use `GetStandardScriptFlags` when they… | |||||
*/ | */ | ||||
static constexpr uint32_t STANDARD_SCRIPT_VERIFY_FLAGS = | static constexpr uint32_t STANDARD_SCRIPT_VERIFY_FLAGS = | ||||
MANDATORY_SCRIPT_VERIFY_FLAGS | SCRIPT_VERIFY_DERSIG | | MANDATORY_SCRIPT_VERIFY_FLAGS | SCRIPT_VERIFY_DERSIG | | ||||
SCRIPT_VERIFY_SIGPUSHONLY | SCRIPT_VERIFY_MINIMALDATA | | SCRIPT_VERIFY_SIGPUSHONLY | SCRIPT_VERIFY_MINIMALDATA | | ||||
SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS | SCRIPT_VERIFY_CLEANSTACK | | SCRIPT_VERIFY_DISCOURAGE_UPGRADABLE_NOPS | SCRIPT_VERIFY_CLEANSTACK | | ||||
SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY | SCRIPT_VERIFY_CHECKSEQUENCEVERIFY | | SCRIPT_VERIFY_CHECKLOCKTIMEVERIFY | SCRIPT_VERIFY_CHECKSEQUENCEVERIFY | | ||||
SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | SCRIPT_DISALLOW_SEGWIT_RECOVERY | | SCRIPT_VERIFY_CHECKDATASIG_SIGOPS | SCRIPT_DISALLOW_SEGWIT_RECOVERY | | ||||
SCRIPT_VERIFY_INPUT_SIGCHECKS; | SCRIPT_VERIFY_INPUT_SIGCHECKS; | ||||
▲ Show 20 Lines • Show All 56 Lines • Show Last 20 Lines |
Ideally we should be making more parts of the codebase use GetStandardScriptFlags when they might be able to get context.
However, we don't actually want this in some cases, for example we don't want the wallet to be able to construct replay protected sighash transactions by default, because we want the alt chain to be a ghost town.