Crate miniscript_core_sys

Crate miniscript_core_sys 

Source
Expand description

§miniscript-core-sys

FFI bindings to Bitcoin Core’s miniscript implementation.

This crate provides low-level bindings for cross-verification between Bitcoin Core’s C++ miniscript and other implementations like rust-miniscript.

§Example

use miniscript_core_sys::{Miniscript, Context};

let ms = Miniscript::from_str("and_v(v:pk(A),pk(B))", Context::Wsh)
    .expect("valid miniscript");

assert!(ms.is_valid());
println!("Type: {}", ms.get_type().unwrap());
println!("String: {}", ms.to_string().unwrap());

Structs§

Error
Error type for miniscript operations.
Miniscript
A parsed miniscript node.
MiniscriptNode
Opaque handle to a parsed miniscript node
MiniscriptResult
Result structure for miniscript operations

Enums§

Context
Script context for miniscript parsing.
MiniscriptContext
Script context for miniscript parsing

Functions§

miniscript_free_string
Free a string returned by miniscript functions.
miniscript_from_string
Parse a miniscript string into a node.
miniscript_get_type
Get the type properties of a miniscript node as a string.
miniscript_is_sane
Check if a miniscript is sane.
miniscript_is_valid
Check if a miniscript is valid (type-checks correctly).
miniscript_max_satisfaction_size
Get the maximum witness size for satisfying this miniscript.
miniscript_node_free
Free a miniscript node.
miniscript_to_string
Convert a miniscript node back to its string representation.
miniscript_version
Get the library version string.
version
Get the library version string.