Crate tinyminiscript

Crate tinyminiscript 

Source
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: Enables Debug trait 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§

pub extern crate alloc;
pub use context::Context;

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 bitcoin source code.