@@ -1749,16 +1749,55 @@ pub struct DecodePsbtResultInput {
17491749 pub sha256_preimages : Option < HashMap < String , String > > ,
17501750 pub hash160_preimages : Option < HashMap < String , String > > ,
17511751 pub hash256_preimages : Option < HashMap < String , String > > ,
1752+ pub taproot_key_path_sig : Option < Vec < u8 > > ,
1753+ pub taproot_script_path_sigs : Option < Vec < DecodePsbtResultTaprootScriptPathSig > > ,
1754+ pub taproot_scripts : Option < Vec < DecodePsbtResultTaprootScript > > ,
1755+ pub taproot_bip32_derivs : Option < DecodePsbtResultTaprootBip32Derivs > ,
1756+ pub taproot_internal_key : Option < String > ,
1757+ pub taproot_merkle_root : Option < String > ,
17521758 pub unknown : Option < HashMap < String , Vec < u8 > > > ,
17531759 #[ serde( default ) ]
17541760 pub proprietary : Vec < DecodePsbtResultProprietary > ,
17551761}
17561762
1763+ #[ derive( Clone , PartialEq , Eq , Debug , Deserialize , Serialize ) ]
1764+ pub struct DecodePsbtResultTaprootScriptPathSig {
1765+ pub pubkey : String ,
1766+ pub leaf_hash : String ,
1767+ pub sig : String ,
1768+ }
1769+
1770+ #[ derive( Clone , PartialEq , Eq , Debug , Deserialize , Serialize ) ]
1771+ pub struct DecodePsbtResultTaprootScript {
1772+ #[ serde( with = "crate::serde_hex" ) ]
1773+ pub script : Vec < u8 > ,
1774+ pub leaf_ver : u32 ,
1775+ pub control_blocks : Vec < Vec < u8 > > ,
1776+ }
1777+
1778+ #[ derive( Clone , PartialEq , Eq , Debug , Deserialize , Serialize ) ]
1779+ pub struct DecodePsbtResultTaprootTree {
1780+ pub depth : u32 ,
1781+ pub leaf_ver : u32 ,
1782+ pub script : String ,
1783+ }
1784+
1785+ #[ derive( Clone , PartialEq , Eq , Debug , Deserialize , Serialize ) ]
1786+ pub struct DecodePsbtResultTaprootBip32Derivs {
1787+ pub pubkey : String ,
1788+ pub master_fingerprint : String ,
1789+ pub path : String ,
1790+ pub leaf_hashes : Vec < String > ,
1791+ }
1792+
17571793#[ derive( Clone , PartialEq , Eq , Debug , Deserialize , Serialize ) ]
17581794pub struct DecodePsbtResultOutput {
17591795 pub redeem_script : Option < DecodePsbtResultScript > ,
17601796 pub witness_script : Option < DecodePsbtResultScript > ,
17611797 pub bip32_derivs : Option < Vec < DecodePsbtResultBip32Derivs > > ,
1798+ pub taproot_internal_key : Option < Vec < u8 > > ,
1799+ pub taproot_tree : Option < Vec < DecodePsbtResultTaprootTree > > ,
1800+ pub taproot_bip32_derivs : Option < DecodePsbtResultTaprootBip32Derivs > ,
17621801 pub unknown : Option < HashMap < String , Vec < u8 > > > ,
17631802 #[ serde( default ) ]
17641803 pub proprietary : Vec < DecodePsbtResultProprietary > ,
0 commit comments