@@ -1783,16 +1783,55 @@ pub struct DecodePsbtResultInput {
1783
1783
pub sha256_preimages : Option < HashMap < String , String > > ,
1784
1784
pub hash160_preimages : Option < HashMap < String , String > > ,
1785
1785
pub hash256_preimages : Option < HashMap < String , String > > ,
1786
+ pub taproot_key_path_sig : Option < Vec < u8 > > ,
1787
+ pub taproot_script_path_sigs : Option < Vec < DecodePsbtResultTaprootScriptPathSig > > ,
1788
+ pub taproot_scripts : Option < Vec < DecodePsbtResultTaprootScript > > ,
1789
+ pub taproot_bip32_derivs : Option < DecodePsbtResultTaprootBip32Derivs > ,
1790
+ pub taproot_internal_key : Option < String > ,
1791
+ pub taproot_merkle_root : Option < String > ,
1786
1792
pub unknown : Option < HashMap < String , Vec < u8 > > > ,
1787
1793
#[ serde( default ) ]
1788
1794
pub proprietary : Vec < DecodePsbtResultProprietary > ,
1789
1795
}
1790
1796
1797
+ #[ derive( Clone , PartialEq , Eq , Debug , Deserialize , Serialize ) ]
1798
+ pub struct DecodePsbtResultTaprootScriptPathSig {
1799
+ pub pubkey : String ,
1800
+ pub leaf_hash : String ,
1801
+ pub sig : String ,
1802
+ }
1803
+
1804
+ #[ derive( Clone , PartialEq , Eq , Debug , Deserialize , Serialize ) ]
1805
+ pub struct DecodePsbtResultTaprootScript {
1806
+ #[ serde( with = "crate::serde_hex" ) ]
1807
+ pub script : Vec < u8 > ,
1808
+ pub leaf_ver : u32 ,
1809
+ pub control_blocks : Vec < Vec < u8 > > ,
1810
+ }
1811
+
1812
+ #[ derive( Clone , PartialEq , Eq , Debug , Deserialize , Serialize ) ]
1813
+ pub struct DecodePsbtResultTaprootTree {
1814
+ pub depth : u32 ,
1815
+ pub leaf_ver : u32 ,
1816
+ pub script : String ,
1817
+ }
1818
+
1819
+ #[ derive( Clone , PartialEq , Eq , Debug , Deserialize , Serialize ) ]
1820
+ pub struct DecodePsbtResultTaprootBip32Derivs {
1821
+ pub pubkey : String ,
1822
+ pub master_fingerprint : String ,
1823
+ pub path : String ,
1824
+ pub leaf_hashes : Vec < String > ,
1825
+ }
1826
+
1791
1827
#[ derive( Clone , PartialEq , Eq , Debug , Deserialize , Serialize ) ]
1792
1828
pub struct DecodePsbtResultOutput {
1793
1829
pub redeem_script : Option < DecodePsbtResultScript > ,
1794
1830
pub witness_script : Option < DecodePsbtResultScript > ,
1795
1831
pub bip32_derivs : Option < Vec < DecodePsbtResultBip32Derivs > > ,
1832
+ pub taproot_internal_key : Option < Vec < u8 > > ,
1833
+ pub taproot_tree : Option < Vec < DecodePsbtResultTaprootTree > > ,
1834
+ pub taproot_bip32_derivs : Option < DecodePsbtResultTaprootBip32Derivs > ,
1796
1835
pub unknown : Option < HashMap < String , Vec < u8 > > > ,
1797
1836
#[ serde( default ) ]
1798
1837
pub proprietary : Vec < DecodePsbtResultProprietary > ,
0 commit comments