pub fn parse_script<'a>(
script: &'a str,
) -> Result<ParserContext<'a>, MiniscriptError<'a>>Expand description
Parse and validate a miniscript string, returning the parsed context and generated Bitcoin script.
This function performs a complete validation pipeline:
- Parses the miniscript string into an AST
- Type checks the AST for correctness properties
- Validates the descriptor structure
- Generates the corresponding Bitcoin script
§Arguments
script- The miniscript string to parse and validate
§Returns
Returns Ok((ParserContext, ScriptBuf)) on success, where:
ParserContextcontains the parsed AST and metadata- [
ScriptBuf] is the generated Bitcoin script
Returns Err(MiniscriptError) if parsing, validation, or script generation fails.
§Examples
use tinyminiscript::parse_script;
let result = parse_script("pk(02e79c4c8b3c8b3c8b3c8b3c8b3c8b3c8b3c8b3c8b3c8b3c8b3c8b3c8b3c8b3)");
match result {
Ok(ctx) => {
let script = ctx.build_script().unwrap();
println!("Generated script: {:?}", script);
}
Err(e) => eprintln!("Parse error: {:?}", e),
}