@@ -1086,29 +1086,29 @@ impl_from_str!(
1086
1086
impl < Pk : MiniscriptKey , T : Extension > fmt:: Debug for Descriptor < Pk , T > {
1087
1087
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
1088
1088
match * self {
1089
- Descriptor :: Bare ( ref sub) => write ! ( f , "{:?}" , sub ) ,
1090
- Descriptor :: Pkh ( ref pkh) => write ! ( f , "{:?}" , pkh ) ,
1091
- Descriptor :: Wpkh ( ref wpkh) => write ! ( f , "{:?}" , wpkh ) ,
1092
- Descriptor :: Sh ( ref sub) => write ! ( f , "{:?}" , sub ) ,
1093
- Descriptor :: Wsh ( ref sub) => write ! ( f , "{:?}" , sub ) ,
1094
- Descriptor :: LegacyCSFSCov ( ref cov ) => write ! ( f , "{:?}" , cov ) ,
1095
- Descriptor :: Tr ( ref tr) => write ! ( f , "{:?}" , tr ) ,
1096
- Descriptor :: TrExt ( ref tr ) => write ! ( f , "{:?}" , tr ) ,
1089
+ Descriptor :: Bare ( ref sub) => fmt :: Debug :: fmt ( sub , f ) ,
1090
+ Descriptor :: Pkh ( ref pkh) => fmt :: Debug :: fmt ( pkh , f ) ,
1091
+ Descriptor :: Wpkh ( ref wpkh) => fmt :: Debug :: fmt ( wpkh , f ) ,
1092
+ Descriptor :: Sh ( ref sub) => fmt :: Debug :: fmt ( sub , f ) ,
1093
+ Descriptor :: Wsh ( ref sub) => fmt :: Debug :: fmt ( sub , f ) ,
1094
+ Descriptor :: Tr ( ref tr ) => fmt :: Debug :: fmt ( tr , f ) ,
1095
+ Descriptor :: TrExt ( ref tr) => fmt :: Debug :: fmt ( tr , f ) ,
1096
+ Descriptor :: LegacyCSFSCov ( ref cov ) => fmt :: Debug :: fmt ( cov , f ) ,
1097
1097
}
1098
1098
}
1099
1099
}
1100
1100
1101
1101
impl < Pk : MiniscriptKey , T : Extension > fmt:: Display for Descriptor < Pk , T > {
1102
1102
fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
1103
1103
match * self {
1104
- Descriptor :: Bare ( ref sub) => write ! ( f , "{}" , sub ) ,
1105
- Descriptor :: Pkh ( ref pkh) => write ! ( f , "{}" , pkh ) ,
1106
- Descriptor :: Wpkh ( ref wpkh) => write ! ( f , "{}" , wpkh ) ,
1107
- Descriptor :: Sh ( ref sub) => write ! ( f , "{}" , sub ) ,
1108
- Descriptor :: Wsh ( ref sub) => write ! ( f , "{}" , sub ) ,
1109
- Descriptor :: LegacyCSFSCov ( ref cov ) => write ! ( f , "{}" , cov ) ,
1110
- Descriptor :: Tr ( ref tr) => write ! ( f , "{}" , tr ) ,
1111
- Descriptor :: TrExt ( ref tr ) => write ! ( f , "{}" , tr ) ,
1104
+ Descriptor :: Bare ( ref sub) => fmt :: Display :: fmt ( sub , f ) ,
1105
+ Descriptor :: Pkh ( ref pkh) => fmt :: Display :: fmt ( pkh , f ) ,
1106
+ Descriptor :: Wpkh ( ref wpkh) => fmt :: Display :: fmt ( wpkh , f ) ,
1107
+ Descriptor :: Sh ( ref sub) => fmt :: Display :: fmt ( sub , f ) ,
1108
+ Descriptor :: Wsh ( ref sub) => fmt :: Display :: fmt ( sub , f ) ,
1109
+ Descriptor :: Tr ( ref tr ) => fmt :: Display :: fmt ( tr , f ) ,
1110
+ Descriptor :: TrExt ( ref tr) => fmt :: Display :: fmt ( tr , f ) ,
1111
+ Descriptor :: LegacyCSFSCov ( ref cov ) => fmt :: Display :: fmt ( cov , f ) ,
1112
1112
}
1113
1113
}
1114
1114
}
@@ -2029,4 +2029,84 @@ pk(03f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8))";
2029
2029
Ok ( Some ( ( 1 , expected_concrete) ) )
2030
2030
) ;
2031
2031
}
2032
+
2033
+ #[ test]
2034
+ fn display_alternate ( ) {
2035
+ let bare = StdDescriptor :: from_str (
2036
+ "elpk(020000000000000000000000000000000000000000000000000000000000000002)" ,
2037
+ )
2038
+ . unwrap ( ) ;
2039
+ assert_eq ! (
2040
+ format!( "{}" , bare) ,
2041
+ "elpk(020000000000000000000000000000000000000000000000000000000000000002)#vlpqwfjv" ,
2042
+ ) ;
2043
+ assert_eq ! (
2044
+ format!( "{:#}" , bare) ,
2045
+ "elpk(020000000000000000000000000000000000000000000000000000000000000002)" ,
2046
+ ) ;
2047
+
2048
+ let pkh = StdDescriptor :: from_str (
2049
+ "elpkh(020000000000000000000000000000000000000000000000000000000000000002)" ,
2050
+ )
2051
+ . unwrap ( ) ;
2052
+ assert_eq ! (
2053
+ format!( "{}" , pkh) ,
2054
+ "elpkh(020000000000000000000000000000000000000000000000000000000000000002)#jzq8e832" ,
2055
+ ) ;
2056
+ assert_eq ! (
2057
+ format!( "{:#}" , pkh) ,
2058
+ "elpkh(020000000000000000000000000000000000000000000000000000000000000002)" ,
2059
+ ) ;
2060
+
2061
+ let wpkh = StdDescriptor :: from_str (
2062
+ "elwpkh(020000000000000000000000000000000000000000000000000000000000000002)" ,
2063
+ )
2064
+ . unwrap ( ) ;
2065
+ assert_eq ! (
2066
+ format!( "{}" , wpkh) ,
2067
+ "elwpkh(020000000000000000000000000000000000000000000000000000000000000002)#vxhqdpz9" ,
2068
+ ) ;
2069
+ assert_eq ! (
2070
+ format!( "{:#}" , wpkh) ,
2071
+ "elwpkh(020000000000000000000000000000000000000000000000000000000000000002)" ,
2072
+ ) ;
2073
+
2074
+ let shwpkh = StdDescriptor :: from_str (
2075
+ "elsh(wpkh(020000000000000000000000000000000000000000000000000000000000000002))" ,
2076
+ )
2077
+ . unwrap ( ) ;
2078
+ assert_eq ! (
2079
+ format!( "{}" , shwpkh) ,
2080
+ "elsh(wpkh(020000000000000000000000000000000000000000000000000000000000000002))#h9ajn2ft" ,
2081
+ ) ;
2082
+ assert_eq ! (
2083
+ format!( "{:#}" , shwpkh) ,
2084
+ "elsh(wpkh(020000000000000000000000000000000000000000000000000000000000000002))" ,
2085
+ ) ;
2086
+
2087
+ let wsh = StdDescriptor :: from_str ( "elwsh(1)" ) . unwrap ( ) ;
2088
+ assert_eq ! ( format!( "{}" , wsh) , "elwsh(1)#s78w5gmj" ) ;
2089
+ assert_eq ! ( format!( "{:#}" , wsh) , "elwsh(1)" ) ;
2090
+
2091
+ let sh = StdDescriptor :: from_str ( "elsh(1)" ) . unwrap ( ) ;
2092
+ assert_eq ! ( format!( "{}" , sh) , "elsh(1)#k4aqrx5p" ) ;
2093
+ assert_eq ! ( format!( "{:#}" , sh) , "elsh(1)" ) ;
2094
+
2095
+ let shwsh = StdDescriptor :: from_str ( "elsh(wsh(1))" ) . unwrap ( ) ;
2096
+ assert_eq ! ( format!( "{}" , shwsh) , "elsh(wsh(1))#d05z4wjl" ) ;
2097
+ assert_eq ! ( format!( "{:#}" , shwsh) , "elsh(wsh(1))" ) ;
2098
+
2099
+ let tr = StdDescriptor :: from_str (
2100
+ "eltr(020000000000000000000000000000000000000000000000000000000000000002)" ,
2101
+ )
2102
+ . unwrap ( ) ;
2103
+ assert_eq ! (
2104
+ format!( "{}" , tr) ,
2105
+ "eltr(020000000000000000000000000000000000000000000000000000000000000002)#e874qu8z" ,
2106
+ ) ;
2107
+ assert_eq ! (
2108
+ format!( "{:#}" , tr) ,
2109
+ "eltr(020000000000000000000000000000000000000000000000000000000000000002)" ,
2110
+ ) ;
2111
+ }
2032
2112
}
0 commit comments