Skip to content

Commit 7fdc58f

Browse files
committed
taproot fields
1 parent 8fdb14f commit 7fdc58f

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
@@ -1783,16 +1783,55 @@ pub struct DecodePsbtResultInput {
17831783
pub sha256_preimages: Option<HashMap<String, String>>,
17841784
pub hash160_preimages: Option<HashMap<String, String>>,
17851785
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>,
17861792
pub unknown: Option<HashMap<String, Vec<u8>>>,
17871793
#[serde(default)]
17881794
pub proprietary: Vec<DecodePsbtResultProprietary>,
17891795
}
17901796

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+
17911827
#[derive(Clone, PartialEq, Eq, Debug, Deserialize, Serialize)]
17921828
pub struct DecodePsbtResultOutput {
17931829
pub redeem_script: Option<DecodePsbtResultScript>,
17941830
pub witness_script: Option<DecodePsbtResultScript>,
17951831
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>,
17961835
pub unknown: Option<HashMap<String, Vec<u8>>>,
17971836
#[serde(default)]
17981837
pub proprietary: Vec<DecodePsbtResultProprietary>,

0 commit comments

Comments
 (0)