[−][src]Struct script::VerificationFlags
Script interpreter verification flags
Fields
none: bool
verify_p2sh: bool
Evaluate P2SH subscripts (softfork safe, BIP16).
verify_strictenc: bool
Passing a non-strict-DER signature or one with undefined hashtype to a checksig operation causes script failure. Evaluating a pubkey that is not (0x04 + 64 bytes) or (0x02 or 0x03 + 32 bytes) by checksig causes script failure. (softfork safe, but not used or intended as a consensus rule).
verify_dersig: bool
Passing a non-strict-DER signature to a checksig operation causes script failure (softfork safe, BIP62 rule 1)
verify_low_s: bool
Passing a non-strict-DER signature or one with S > order/2 to a checksig operation causes script failure (softfork safe, BIP62 rule 5).
verify_nulldummy: bool
verify dummy stack item consumed by CHECKMULTISIG is of zero-length (softfork safe, BIP62 rule 7).
verify_sigpushonly: bool
Using a non-push operator in the scriptSig causes script failure (softfork safe, BIP62 rule 2).
verify_minimaldata: bool
Require minimal encodings for all push operations (OP_0... OP_16, OP_1NEGATE where possible, direct pushes up to 75 bytes, OP_PUSHDATA up to 255 bytes, OP_PUSHDATA2 for anything larger). Evaluating any other push causes the script to fail (BIP62 rule 3). In addition, whenever a stack element is interpreted as a number, it must be of minimal length (BIP62 rule 4). (softfork safe)
verify_discourage_upgradable_nops: bool
Discourage use of NOPs reserved for upgrades (NOP1-10)
Provided so that nodes can avoid accepting or mining transactions containing executed NOP's whose meaning may change after a soft-fork, thus rendering the script invalid; with this flag set executing discouraged NOPs fails the script. This verification flag will never be a mandatory flag applied to scripts in a block. NOPs that are not executed, e.g. within an unexecuted IF ENDIF block, are not rejected.
verify_cleanstack: bool
Require that only a single stack element remains after evaluation. This changes the success criterion from "At least one stack element must remain, and when interpreted as a boolean, it must be true" to "Exactly one stack element must remain, and when interpreted as a boolean, it must be true". (softfork safe, BIP62 rule 6) Note: CLEANSTACK should never be used without P2SH or WITNESS.
verify_locktime: bool
Verify CHECKLOCKTIMEVERIFY
See BIP65 for details.
verify_checksequence: bool
support CHECKSEQUENCEVERIFY opcode
See BIP112 for details
verify_witness: bool
Support segregated witness
verify_discourage_upgradable_witness_program: bool
Making v1-v16 witness program non-standard
verify_concat: bool
Support OP_CAT opcode
verify_split: bool
Support OP_SPLIT opcode
This opcode replaces OP_SUBSTR => enabling both OP_SPLIT && OP_SUBSTR would be an error
verify_and: bool
Support OP_AND opcode
verify_or: bool
Support OP_OR opcode
verify_xor: bool
Support OP_XOR opcode
verify_div: bool
Support OP_DIV opcode
verify_mod: bool
Support OP_MOD opcode
verify_bin2num: bool
Support OP_BIN2NUM opcode
This opcode replaces OP_RIGHT => enabling both OP_BIN2NUM && OP_RIGHT would be an error
verify_num2bin: bool
Support OP_NUM2BIN opcode
This opcode replaces OP_LEFT => enabling both OP_NUM2BIN && OP_LEFT would be an error
verify_checkdatasig: bool
Support OP_CHECKDATASIG and OP_CHECKDATASIGVERIFY opcodes.
Methods
impl VerificationFlags
[src]
[−]
impl VerificationFlags
pub fn verify_p2sh(self, value: bool) -> Self
[src]
pub fn verify_p2sh(self, value: bool) -> Self
pub fn verify_strictenc(self, value: bool) -> Self
[src]
pub fn verify_strictenc(self, value: bool) -> Self
pub fn verify_locktime(self, value: bool) -> Self
[src]
pub fn verify_locktime(self, value: bool) -> Self
pub fn verify_checksequence(self, value: bool) -> Self
[src]
pub fn verify_checksequence(self, value: bool) -> Self
pub fn verify_dersig(self, value: bool) -> Self
[src]
pub fn verify_dersig(self, value: bool) -> Self
pub fn verify_witness(self, value: bool) -> Self
[src]
pub fn verify_witness(self, value: bool) -> Self
pub fn verify_nulldummy(self, value: bool) -> Self
[src]
pub fn verify_nulldummy(self, value: bool) -> Self
pub fn verify_sigpushonly(self, value: bool) -> Self
[src]
pub fn verify_sigpushonly(self, value: bool) -> Self
pub fn verify_cleanstack(self, value: bool) -> Self
[src]
pub fn verify_cleanstack(self, value: bool) -> Self
pub fn verify_discourage_upgradable_witness_program(self, value: bool) -> Self
[src]
pub fn verify_discourage_upgradable_witness_program(self, value: bool) -> Self
pub fn verify_concat(self, value: bool) -> Self
[src]
pub fn verify_concat(self, value: bool) -> Self
pub fn verify_split(self, value: bool) -> Self
[src]
pub fn verify_split(self, value: bool) -> Self
pub fn verify_and(self, value: bool) -> Self
[src]
pub fn verify_and(self, value: bool) -> Self
pub fn verify_or(self, value: bool) -> Self
[src]
pub fn verify_or(self, value: bool) -> Self
pub fn verify_xor(self, value: bool) -> Self
[src]
pub fn verify_xor(self, value: bool) -> Self
pub fn verify_div(self, value: bool) -> Self
[src]
pub fn verify_div(self, value: bool) -> Self
pub fn verify_mod(self, value: bool) -> Self
[src]
pub fn verify_mod(self, value: bool) -> Self
pub fn verify_bin2num(self, value: bool) -> Self
[src]
pub fn verify_bin2num(self, value: bool) -> Self
pub fn verify_num2bin(self, value: bool) -> Self
[src]
pub fn verify_num2bin(self, value: bool) -> Self
pub fn verify_checkdatasig(self, value: bool) -> Self
[src]
pub fn verify_checkdatasig(self, value: bool) -> Self
Trait Implementations
impl Default for VerificationFlags
[src]
[+]
impl Default for VerificationFlags
impl Debug for VerificationFlags
[src]
[+]
impl Debug for VerificationFlags
impl PartialEq for VerificationFlags
[src]
[+]
impl PartialEq for VerificationFlags
Auto Trait Implementations
impl Send for VerificationFlags
impl Send for VerificationFlags
impl Sync for VerificationFlags
impl Sync for VerificationFlags
Blanket Implementations
impl<T> From for T
[src]
[−]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
[−]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
[−]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
[−]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
try_from
)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized,
[src]
[−]
impl<T> Borrow for T where
T: ?Sized,
ⓘImportant traits for &'a mut Rfn borrow(&self) -> &T
[src]
[−]
fn borrow(&self) -> &T
Immutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
[−]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
[−]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
try_from
)Performs the conversion.
impl<T> BorrowMut for T where
T: ?Sized,
[src]
[−]
impl<T> BorrowMut for T where
T: ?Sized,
ⓘImportant traits for &'a mut Rfn borrow_mut(&mut self) -> &mut T
[src]
[−]
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Any for T where
T: 'static + ?Sized,
[src]
[−]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
[−]
fn get_type_id(&self) -> TypeId
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Gets the TypeId
of self
. Read more