macro_rules! fragment {
( +a $( $inner:tt )* ) => { ... };
( +s $( $inner:tt )* ) => { ... };
( +c $( $inner:tt )* ) => { ... };
( +d $( $inner:tt )* ) => { ... };
( +v $( $inner:tt )* ) => { ... };
( +j $( $inner:tt )* ) => { ... };
( +n $( $inner:tt )* ) => { ... };
( +t $( $inner:tt )* ) => { ... };
( +l $( $inner:tt )* ) => { ... };
( +u $( $inner:tt )* ) => { ... };
( true ) => { ... };
( false ) => { ... };
( pk_k $key:expr ) => { ... };
( pk $key:expr ) => { ... };
( pk_h $key_hash:expr ) => { ... };
( after $value:expr ) => { ... };
( older $value:expr ) => { ... };
( sha256 $hash:expr ) => { ... };
( hash256 $hash:expr ) => { ... };
( ripemd160 $hash:expr ) => { ... };
( hash160 $hash:expr ) => { ... };
( and_v ( $( $a:tt )* ), ( $( $b:tt )* ) ) => { ... };
( and_b ( $( $a:tt )* ), ( $( $b:tt )* ) ) => { ... };
( and_or ( $( $a:tt )* ), ( $( $b:tt )* ), ( $( $c:tt )* ) ) => { ... };
( or_b ( $( $a:tt )* ), ( $( $b:tt )* ) ) => { ... };
( or_d ( $( $a:tt )* ), ( $( $b:tt )* ) ) => { ... };
( or_c ( $( $a:tt )* ), ( $( $b:tt )* ) ) => { ... };
( or_i ( $( $a:tt )* ), ( $( $b:tt )* ) ) => { ... };
( thresh_vec $thresh:expr, $items:expr ) => { ... };
( thresh $thresh:expr $(, ( $( $item:tt )* ) )+ ) => { ... };
( multi_vec $thresh:expr, $keys:expr ) => { ... };
( multi $thresh:expr $(, $key:expr )+ ) => { ... };
( sortedmulti $( $inner:tt )* ) => { ... };
( sortedmulti_vec $( $inner:tt )* ) => { ... };
}
Macro to write descriptor fragments with code
This macro will be expanded to an object of type Result<(Miniscript<DescriptorPublicKey, _>, KeyMap, ValidNetworks), Error>
. It allows writing
fragments of larger descriptors that can be pieced together using fragment!(thresh_vec ...)
.