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::Context;
// Parse a simple miniscript
let result = Context::try_from("wsh(multi(1,022f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4,025cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc))");
if let Ok(ctx) = result {
let script = ctx.build_script().unwrap();
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§
Modules§
- context
- Context for miniscript expressions
- descriptor
- Bitcoin descriptor parsing and validation
- limits
- Limits for miniscript expressions
- 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.