pub enum Context {
Wsh,
Tapscript,
}Expand description
Script context for miniscript parsing.
Miniscript expressions are context-dependent - the same expression may be valid in one context but not another due to different script size limits, opcode availability, and signature requirements.
§Example
use miniscript_core_ffi::{Miniscript, Context};
// Parse for SegWit v0 (P2WSH)
let wsh = Miniscript::from_str("pk(A)", Context::Wsh);
// Parse for SegWit v1 (Tapscript)
let tap = Miniscript::from_str("pk(A)", Context::Tapscript);Variants§
Wsh
P2WSH context (SegWit v0)
Used for Pay-to-Witness-Script-Hash outputs. Has a 10,000 byte script size limit and uses ECDSA signatures.
Tapscript
Tapscript context (SegWit v1)
Used for Taproot script paths. Has a larger script size limit and
uses Schnorr signatures. Some opcodes like OP_CHECKMULTISIG are
disabled in favor of OP_CHECKSIGADD.
Trait Implementations§
Source§impl From<Context> for MiniscriptContext
impl From<Context> for MiniscriptContext
impl Copy for Context
impl Eq for Context
impl StructuralPartialEq for Context
Auto Trait Implementations§
impl Freeze for Context
impl RefUnwindSafe for Context
impl Send for Context
impl Sync for Context
impl Unpin for Context
impl UnwindSafe for Context
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more