pub struct Script(_);
Expand description

A Bitcoin script.

Implementations

Creates a new empty script.

Generates P2PK-type of scriptPubkey.

Generates P2PKH-type of scriptPubkey.

Generates P2SH-type of scriptPubkey with a given hash of the redeem script.

👎 Deprecated since 0.28.0:

use Script::new_v0_p2wpkh method instead

Generates P2WPKH-type of scriptPubkey.

Generates P2WPKH-type of scriptPubkey.

👎 Deprecated since 0.28.0:

use Script::new_v0_p2wsh method instead

Generates P2WSH-type of scriptPubkey with a given hash of the redeem script.

Generates P2WSH-type of scriptPubkey with a given hash of the redeem script.

Generates P2TR for script spending path using an internal public key and some optional script tree merkle root.

Generates P2TR for key spending path for a known TweakedPublicKey.

Generates P2WSH-type of scriptPubkey with a given hash of the redeem script.

Generates OP_RETURN-type of scriptPubkey for the given data.

Returns 160-bit hash of the script.

Returns 256-bit hash of the script for P2WSH outputs.

Returns the length in bytes of the script.

Returns whether the script is the empty script.

Returns the script data as a byte slice.

Returns a copy of the script data.

Converts the script into a byte vector.

Computes the P2SH output corresponding to this redeem script.

Computes the P2WSH output corresponding to this witnessScript (aka the “witness redeem script”).

Computes P2TR output with a given internal key and a single script spending path equal to the current script, assuming that the script is a Tapscript.

Returns witness version of the script, if any, assuming the script is a scriptPubkey.

Checks whether a script pubkey is a P2SH output.

Checks whether a script pubkey is a P2PKH output.

Checks whether a script pubkey is a P2PK output.

Checks whether a script pubkey is a Segregated Witness (segwit) program.

Checks whether a script pubkey is a P2WSH output.

Checks whether a script pubkey is a P2WPKH output.

Checks whether a script pubkey is a P2TR output.

Check if this is an OP_RETURN output.

Checks whether a script can be proven to have no satisfying input.

Returns the minimum value an output with this script should have in order to be broadcastable on today’s Bitcoin network.

Iterates over the script in the form of Instructions, which are an enum covering opcodes, datapushes and errors.

At most one error will be returned and then the iterator will end. To instead iterate over the script as sequence of bytes, treat it as a slice using script[..] or convert it to a vector using into_bytes().

To force minimal pushes, use Self::instructions_minimal.

Iterates over the script in the form of Instructions while enforcing minimal pushes.

Available on crate feature bitcoinconsensus only.
Available on crate feature bitcoinconsensus only.

Verifies spend of an input script.

Parameters
  • index - The input index in spending which is spending this transaction.
  • amount - The amount this script guards.
  • spending - The transaction that attempts to spend the output holding this script.
  • flags - Verification flags, see bitcoinconsensus::VERIFY_ALL and similar.

Writes the assembly decoding of the script bytes to the formatter.

Writes the assembly decoding of the script to the formatter.

Creates an assembly decoding of the script in the given byte slice.

Returns the assembly decoding of the script.

Trait Implementations

Converts this type into a shared reference of the (usually inferred) input type.

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Decode an object with a well-defined format

Returns the “default value” for a type. Read more

Deserialize a value from raw data.

Deserialize this value from the given Serde deserializer. Read more

Formats the value using the given formatter. Read more

Encode an object with a well-defined format. Returns the number of bytes written on success. Read more

Creates a new script from an existing vector.

Converts to this type from the input type.

Produce an object from a byte iterator

Produce an object from a hex string

The associated error which can be returned from parsing.

Parses a string s to return a value of this type. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

The returned type after indexing.

Performs the indexing (container[index]) operation. Read more

Formats the value using the given formatter.

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

User-facing serialization for Script.

Serialize a value as raw data.

Formats the value using the given formatter.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Calculate the base32 serialized length

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Error type if conversion fails

Check if all values are in range and return array-like struct of u5 values

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Encode as base32 and write it to the supplied writer Implementations shouldn’t allocate. Read more

Convert Self to base32 vector

Outputs the hash in hexadecimal form

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.