Expand description
A lightweight, no_std-compatible miniscript parser and validator for Bitcoin.
This crate provides parsing, validation, and script generation for Bitcoin miniscript expressions. It’s designed to work in both standard and embedded environments through feature flags.
§Features
debug: EnablesDebugtrait implementations for error types, useful for development and debugging.
§Examples
use tinyminiscript::parse_script;
// Parse a simple miniscript
let result = parse_script("wsh(multi(1,022f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4,025cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc))");
if let Ok((ctx, script)) = result {
println!("Successfully parsed miniscript");
println!("Generated script: {:?}", script);
}§Crate Features
By default, this crate is no_std compatible. Enable the debug feature for
enhanced error reporting capabilities.
Re-exports§
pub extern crate alloc;
Modules§
- descriptor
- Bitcoin descriptor parsing and validation
- parser
- Miniscript parser and AST representation
- satisfy
- Satisfactions and dis-satisfactions of miniscript expressions
- script
- Bitcoin script generation from parsed miniscript
- type_
checker - Type checking and correctness property validation
Macros§
- bitcoin_
definition_ link - Output a string link to
bitcoinsource code.
Enums§
- Miniscript
Error - Errors that can occur during miniscript parsing, validation, or script building.
Functions§
- parse_
script - Parse and validate a miniscript string, returning the parsed context and generated Bitcoin script.