use crate::script::script::Script;
use std::ops::Deref;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct UnlockingScript(pub(crate) Script);
impl Deref for UnlockingScript {
type Target = Script;
fn deref(&self) -> &Script {
&self.0
}
}
impl UnlockingScript {
pub fn from_binary(bin: &[u8]) -> Self {
UnlockingScript(Script::from_binary(bin))
}
pub fn from_hex(hex: &str) -> Result<Self, crate::script::error::ScriptError> {
Ok(UnlockingScript(Script::from_hex(hex)?))
}
pub fn from_asm(asm: &str) -> Self {
UnlockingScript(Script::from_asm(asm))
}
pub fn from_script(script: Script) -> Self {
UnlockingScript(script)
}
}