crate::ix!();
lazy_static!{
}
lazy_static!{
}
pub type SigPair = (PubKey,Vec<u8>);
#[derive(Default)]
pub struct SignatureData {
pub complete: bool,
pub witness: bool,
pub script_sig: Script,
pub redeem_script: Script,
pub witness_script: Script,
pub script_witness: ScriptWitness,
pub tr_spenddata: TaprootSpendData,
pub signatures: HashMap<KeyID,SigPair>,
pub misc_pubkeys: HashMap<KeyID,(PubKey,KeyOriginInfo)>,
pub taproot_key_path_sig: Vec<u8>,
pub taproot_script_sigs: HashMap<(XOnlyPubKey,u256),Vec<u8>>,
pub missing_pubkeys: Vec<KeyID>,
pub missing_sigs: Vec<KeyID>,
pub missing_redeem_script: u160,
pub missing_witness_script: u256,
}
impl From<&Script> for SignatureData {
fn from(script: &Script) -> Self {
todo!();
}
}
impl SignatureData {
pub fn merge_signature_data(&mut self, sigdata: SignatureData) {
todo!();
}
}
pub fn serialize_to_vector<Stream, X>(
s: &mut Stream,
args: &X) {
todo!();
}
pub fn unserialize_from_vector<Stream, X>(
s: &mut Stream,
args: &mut X) {
todo!();
}
pub fn deserialize_hd_keypaths<Stream>(
s: &mut Stream,
key: &Vec<u8>,
hd_keypaths: &mut HashMap<PubKey,KeyOriginInfo>) {
todo!();
}
pub fn serialize_hd_keypaths<Stream>(
s: &mut Stream,
hd_keypaths: &HashMap<PubKey,KeyOriginInfo>,
ty: u8) {
todo!();
}
pub type ValType = Vec<u8>;
pub fn push_all(values: &Vec<ValType>) -> Script {
todo!();
}
pub struct Stacks {
script: Vec<ValType>,
witness: Vec<ValType>,
}
impl Stacks {
pub fn new(data: &SignatureData) -> Self {
todo!();
}
}