Skip to content

Commit 2e9ab76

Browse files
committed
taproot fields
1 parent b66d792 commit 2e9ab76

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

json/src/lib.rs

+39
Original file line numberDiff line numberDiff line change
@@ -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)]
17581794
pub 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

Comments
 (0)