@@ -808,25 +808,25 @@ impl_from_str!(
808
808
impl < Pk : MiniscriptKey > fmt:: Debug for Descriptor < Pk > {
809
809
fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
810
810
match * self {
811
- Descriptor :: Bare ( ref sub) => write ! ( f , "{:?}" , sub ) ,
812
- Descriptor :: Pkh ( ref pkh) => write ! ( f , "{:?}" , pkh ) ,
813
- Descriptor :: Wpkh ( ref wpkh) => write ! ( f , "{:?}" , wpkh ) ,
814
- Descriptor :: Sh ( ref sub) => write ! ( f , "{:?}" , sub ) ,
815
- Descriptor :: Wsh ( ref sub) => write ! ( f , "{:?}" , sub ) ,
816
- Descriptor :: Tr ( ref tr) => write ! ( f , "{:?}" , tr ) ,
811
+ Descriptor :: Bare ( ref sub) => fmt :: Debug :: fmt ( sub , f ) ,
812
+ Descriptor :: Pkh ( ref pkh) => fmt :: Debug :: fmt ( pkh , f ) ,
813
+ Descriptor :: Wpkh ( ref wpkh) => fmt :: Debug :: fmt ( wpkh , f ) ,
814
+ Descriptor :: Sh ( ref sub) => fmt :: Debug :: fmt ( sub , f ) ,
815
+ Descriptor :: Wsh ( ref sub) => fmt :: Debug :: fmt ( sub , f ) ,
816
+ Descriptor :: Tr ( ref tr) => fmt :: Debug :: fmt ( tr , f ) ,
817
817
}
818
818
}
819
819
}
820
820
821
821
impl < Pk : MiniscriptKey > fmt:: Display for Descriptor < Pk > {
822
822
fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
823
823
match * self {
824
- Descriptor :: Bare ( ref sub) => write ! ( f , "{}" , sub ) ,
825
- Descriptor :: Pkh ( ref pkh) => write ! ( f , "{}" , pkh ) ,
826
- Descriptor :: Wpkh ( ref wpkh) => write ! ( f , "{}" , wpkh ) ,
827
- Descriptor :: Sh ( ref sub) => write ! ( f , "{}" , sub ) ,
828
- Descriptor :: Wsh ( ref sub) => write ! ( f , "{}" , sub ) ,
829
- Descriptor :: Tr ( ref tr) => write ! ( f , "{}" , tr ) ,
824
+ Descriptor :: Bare ( ref sub) => fmt :: Display :: fmt ( sub , f ) ,
825
+ Descriptor :: Pkh ( ref pkh) => fmt :: Display :: fmt ( pkh , f ) ,
826
+ Descriptor :: Wpkh ( ref wpkh) => fmt :: Display :: fmt ( wpkh , f ) ,
827
+ Descriptor :: Sh ( ref sub) => fmt :: Display :: fmt ( sub , f ) ,
828
+ Descriptor :: Wsh ( ref sub) => fmt :: Display :: fmt ( sub , f ) ,
829
+ Descriptor :: Tr ( ref tr) => fmt :: Display :: fmt ( tr , f ) ,
830
830
}
831
831
}
832
832
}
@@ -1757,4 +1757,84 @@ pk(03f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8))";
1757
1757
Ok ( Some ( ( 1 , expected_concrete) ) )
1758
1758
) ;
1759
1759
}
1760
+
1761
+ #[ test]
1762
+ fn display_alternate ( ) {
1763
+ let bare = StdDescriptor :: from_str (
1764
+ "pk(020000000000000000000000000000000000000000000000000000000000000002)" ,
1765
+ )
1766
+ . unwrap ( ) ;
1767
+ assert_eq ! (
1768
+ format!( "{}" , bare) ,
1769
+ "pk(020000000000000000000000000000000000000000000000000000000000000002)#7yxkn84h" ,
1770
+ ) ;
1771
+ assert_eq ! (
1772
+ format!( "{:#}" , bare) ,
1773
+ "pk(020000000000000000000000000000000000000000000000000000000000000002)" ,
1774
+ ) ;
1775
+
1776
+ let pkh = StdDescriptor :: from_str (
1777
+ "pkh(020000000000000000000000000000000000000000000000000000000000000002)" ,
1778
+ )
1779
+ . unwrap ( ) ;
1780
+ assert_eq ! (
1781
+ format!( "{}" , pkh) ,
1782
+ "pkh(020000000000000000000000000000000000000000000000000000000000000002)#ma7nspkf" ,
1783
+ ) ;
1784
+ assert_eq ! (
1785
+ format!( "{:#}" , pkh) ,
1786
+ "pkh(020000000000000000000000000000000000000000000000000000000000000002)" ,
1787
+ ) ;
1788
+
1789
+ let wpkh = StdDescriptor :: from_str (
1790
+ "wpkh(020000000000000000000000000000000000000000000000000000000000000002)" ,
1791
+ )
1792
+ . unwrap ( ) ;
1793
+ assert_eq ! (
1794
+ format!( "{}" , wpkh) ,
1795
+ "wpkh(020000000000000000000000000000000000000000000000000000000000000002)#d3xz2xye" ,
1796
+ ) ;
1797
+ assert_eq ! (
1798
+ format!( "{:#}" , wpkh) ,
1799
+ "wpkh(020000000000000000000000000000000000000000000000000000000000000002)" ,
1800
+ ) ;
1801
+
1802
+ let shwpkh = StdDescriptor :: from_str (
1803
+ "sh(wpkh(020000000000000000000000000000000000000000000000000000000000000002))" ,
1804
+ )
1805
+ . unwrap ( ) ;
1806
+ assert_eq ! (
1807
+ format!( "{}" , shwpkh) ,
1808
+ "sh(wpkh(020000000000000000000000000000000000000000000000000000000000000002))#45zpjtet" ,
1809
+ ) ;
1810
+ assert_eq ! (
1811
+ format!( "{:#}" , shwpkh) ,
1812
+ "sh(wpkh(020000000000000000000000000000000000000000000000000000000000000002))" ,
1813
+ ) ;
1814
+
1815
+ let wsh = StdDescriptor :: from_str ( "wsh(1)" ) . unwrap ( ) ;
1816
+ assert_eq ! ( format!( "{}" , wsh) , "wsh(1)#mrg7xj7p" ) ;
1817
+ assert_eq ! ( format!( "{:#}" , wsh) , "wsh(1)" ) ;
1818
+
1819
+ let sh = StdDescriptor :: from_str ( "sh(1)" ) . unwrap ( ) ;
1820
+ assert_eq ! ( format!( "{}" , sh) , "sh(1)#l8r75ggs" ) ;
1821
+ assert_eq ! ( format!( "{:#}" , sh) , "sh(1)" ) ;
1822
+
1823
+ let shwsh = StdDescriptor :: from_str ( "sh(wsh(1))" ) . unwrap ( ) ;
1824
+ assert_eq ! ( format!( "{}" , shwsh) , "sh(wsh(1))#hcyfl07f" ) ;
1825
+ assert_eq ! ( format!( "{:#}" , shwsh) , "sh(wsh(1))" ) ;
1826
+
1827
+ let tr = StdDescriptor :: from_str (
1828
+ "tr(020000000000000000000000000000000000000000000000000000000000000002)" ,
1829
+ )
1830
+ . unwrap ( ) ;
1831
+ assert_eq ! (
1832
+ format!( "{}" , tr) ,
1833
+ "tr(020000000000000000000000000000000000000000000000000000000000000002)#8hc7wq5h" ,
1834
+ ) ;
1835
+ assert_eq ! (
1836
+ format!( "{:#}" , tr) ,
1837
+ "tr(020000000000000000000000000000000000000000000000000000000000000002)" ,
1838
+ ) ;
1839
+ }
1760
1840
}
0 commit comments