pub struct WitnessScript(/* private fields */);Expand description
A content of the script from witness structure; en equivalent of
redeemScript for witness-based transaction inputs. However, unlike
RedeemScript, WitnessScript produce SHA256-based hashes of
WScriptHash type.
Witness script can be nested within the redeem script in legacy
P2WSH-in-P2SH schemes; for this purpose use RedeemScript::from method.
Implementations§
Source§impl WitnessScript
impl WitnessScript
Sourcepub fn script_hash(&self) -> WScriptHash
pub fn script_hash(&self) -> WScriptHash
Computes script commitment which participates in Witness or
RedeemScript.
Sourcepub fn to_p2wsh(&self) -> PubkeyScript
pub fn to_p2wsh(&self) -> PubkeyScript
Generates PubkeyScript matching given witnessScript for native
SegWit outputs.
Sourcepub fn to_p2sh_wsh(&self) -> PubkeyScript
pub fn to_p2sh_wsh(&self) -> PubkeyScript
Generates PubkeyScript matching given witnessScript for legacy
P2WSH-in-P2SH outputs.
Trait Implementations§
Source§impl AsMut<<WitnessScript as Wrapper>::Inner> for WitnessScript
impl AsMut<<WitnessScript as Wrapper>::Inner> for WitnessScript
Source§impl AsRef<<WitnessScript as Wrapper>::Inner> for WitnessScript
impl AsRef<<WitnessScript as Wrapper>::Inner> for WitnessScript
Source§impl Borrow<<WitnessScript as Wrapper>::Inner> for WitnessScript
impl Borrow<<WitnessScript as Wrapper>::Inner> for WitnessScript
Source§impl BorrowMut<<WitnessScript as Wrapper>::Inner> for WitnessScript
impl BorrowMut<<WitnessScript as Wrapper>::Inner> for WitnessScript
Source§impl Clone for WitnessScript
impl Clone for WitnessScript
Source§fn clone(&self) -> WitnessScript
fn clone(&self) -> WitnessScript
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WitnessScript
impl Debug for WitnessScript
Source§impl Default for WitnessScript
impl Default for WitnessScript
Source§fn default() -> WitnessScript
fn default() -> WitnessScript
Returns the “default value” for a type. Read more
Source§impl Deref for WitnessScript
impl Deref for WitnessScript
Source§impl DerefMut for WitnessScript
impl DerefMut for WitnessScript
Source§impl Display for WitnessScript
impl Display for WitnessScript
Source§impl From<LockScript> for WitnessScript
impl From<LockScript> for WitnessScript
Source§fn from(lock_script: LockScript) -> Self
fn from(lock_script: LockScript) -> Self
Converts to this type from the input type.
Source§impl From<Script> for WitnessScript
impl From<Script> for WitnessScript
Source§impl From<WitnessScript> for LockScript
impl From<WitnessScript> for LockScript
Source§fn from(witness_script: WitnessScript) -> Self
fn from(witness_script: WitnessScript) -> Self
Converts to this type from the input type.
Source§impl From<WitnessScript> for RedeemScript
impl From<WitnessScript> for RedeemScript
Source§fn from(witness_script: WitnessScript) -> Self
fn from(witness_script: WitnessScript) -> Self
Converts to this type from the input type.
Source§impl From<WitnessScript> for Script
impl From<WitnessScript> for Script
Source§fn from(wrapped: WitnessScript) -> Self
fn from(wrapped: WitnessScript) -> Self
Converts to this type from the input type.
Source§impl Hash for WitnessScript
impl Hash for WitnessScript
Source§impl LowerHex for WitnessScript
impl LowerHex for WitnessScript
Source§impl Ord for WitnessScript
impl Ord for WitnessScript
Source§fn cmp(&self, other: &WitnessScript) -> Ordering
fn cmp(&self, other: &WitnessScript) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for WitnessScript
impl PartialEq for WitnessScript
Source§impl PartialOrd for WitnessScript
impl PartialOrd for WitnessScript
Source§impl Strategy for WitnessScript
impl Strategy for WitnessScript
Source§impl ToPubkeyScript for WitnessScript
impl ToPubkeyScript for WitnessScript
Source§fn to_pubkey_script(&self, strategy: ConvertInfo) -> Option<PubkeyScript>
fn to_pubkey_script(&self, strategy: ConvertInfo) -> Option<PubkeyScript>
Generates scriptPubkey for segwit non-taproot contexts. Fails by
returning None for the following contexts:
ConvertInfo::Baresince nowitnessstructure will be present in the output transaction;ConvertInfo::Hashedsince nowitnessstructure will be present in the output transactionConvertInfo::Taprootsince taproot does not have an associatedWitnessScript.
Source§impl UpperHex for WitnessScript
impl UpperHex for WitnessScript
Source§impl Wrapper for WitnessScript
impl Wrapper for WitnessScript
Source§fn from_inner(inner: Self::Inner) -> Self
fn from_inner(inner: Self::Inner) -> Self
Instantiates wrapper type with the inner data
Source§fn as_inner(&self) -> &Self::Inner
fn as_inner(&self) -> &Self::Inner
Returns reference to the inner representation for the wrapper type
Source§fn as_inner_mut(&mut self) -> &mut Self::Inner
fn as_inner_mut(&mut self) -> &mut Self::Inner
Returns a mutable reference to the inner representation for the wrapper
type
Source§fn into_inner(self) -> Self::Inner
fn into_inner(self) -> Self::Inner
Unwraps the wrapper returning the inner type
impl Eq for WitnessScript
impl StructuralPartialEq for WitnessScript
Auto Trait Implementations§
impl Freeze for WitnessScript
impl RefUnwindSafe for WitnessScript
impl Send for WitnessScript
impl Sync for WitnessScript
impl Unpin for WitnessScript
impl UnwindSafe for WitnessScript
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> StrictDecode for T
impl<T> StrictDecode for T
Source§fn strict_decode<D>(d: D) -> Result<T, Error>where
D: Read,
fn strict_decode<D>(d: D) -> Result<T, Error>where
D: Read,
Decode with the given
std::io::Read instance; must either
construct an instance or return implementation-specific error type.Source§fn strict_deserialize(data: impl AsRef<[u8]>) -> Result<Self, Error>
fn strict_deserialize(data: impl AsRef<[u8]>) -> Result<Self, Error>
Tries to deserialize byte array into the current type using
StrictDecode::strict_decode. If there are some data remains in the
buffer once deserialization is completed, fails with
Error::DataNotEntirelyConsumed. Use io::Cursor over the buffer and
StrictDecode::strict_decode to avoid such failures.Source§fn strict_file_load(path: impl AsRef<Path>) -> Result<Self, Error>
fn strict_file_load(path: impl AsRef<Path>) -> Result<Self, Error>
Reads data from file at
path and reconstructs object from it. Fails
with Error::DataNotEntirelyConsumed if file contains remaining
data after the object reconstruction.Source§impl<T> StrictEncode for T
impl<T> StrictEncode for T
Source§fn strict_encode<E>(&self, e: E) -> Result<usize, Error>where
E: Write,
fn strict_encode<E>(&self, e: E) -> Result<usize, Error>where
E: Write,
Encode with the given
std::io::Write instance; must return result
with either amount of bytes encoded – or implementation-specific
error type.Source§fn strict_serialize(&self) -> Result<Vec<u8>, Error>
fn strict_serialize(&self) -> Result<Vec<u8>, Error>
Serializes data as a byte array using
StrictEncode::strict_encode
function