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::{parse_script, script::build_script};

// Parse a simple miniscript
let result = parse_script("wsh(multi(1,022f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4,025cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc))");
if let Ok(ctx) = result {
    let script = build_script(&ctx).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 bitcoin;

Modules§

descriptor
Bitcoin descriptor parsing and validation
limits
Limits for miniscript expressions
parser
Miniscript parser and AST representation
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.

Enums§

MiniscriptError
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.