pub struct ScriptPubkey(/* private fields */);
Implementations§
Source§impl ScriptPubkey
impl ScriptPubkey
pub fn new() -> ScriptPubkey
pub fn with_capacity(capacity: usize) -> ScriptPubkey
Sourcepub fn from_unsafe(script_bytes: Vec<u8>) -> ScriptPubkey
pub fn from_unsafe(script_bytes: Vec<u8>) -> ScriptPubkey
Constructs script object assuming the script length is less than 4GB. Panics otherwise.
pub fn p2pkh(hash: impl Into<[u8; 20]>) -> ScriptPubkey
pub fn p2sh(hash: impl Into<[u8; 20]>) -> ScriptPubkey
pub fn op_return(data: &[u8]) -> ScriptPubkey
pub fn is_op_return(&self) -> bool
Sourcepub fn push_opcode(&mut self, op_code: OpCode)
pub fn push_opcode(&mut self, op_code: OpCode)
Adds a single opcode to the script.
pub fn as_script_bytes(&self) -> &ScriptBytes
Source§impl ScriptPubkey
impl ScriptPubkey
pub fn p2wpkh(hash: impl Into<[u8; 20]>) -> ScriptPubkey
pub fn p2wsh(hash: impl Into<[u8; 32]>) -> ScriptPubkey
pub fn is_p2wpkh(&self) -> bool
pub fn is_p2wsh(&self) -> bool
Sourcepub fn from_witness_program(witness_program: &WitnessProgram) -> ScriptPubkey
pub fn from_witness_program(witness_program: &WitnessProgram) -> ScriptPubkey
Generates P2WSH-type of scriptPubkey with a given WitnessProgram
.
Sourcepub fn is_witness_program(&self) -> bool
pub fn is_witness_program(&self) -> bool
Checks whether a script pubkey is a Segregated Witness (segwit) program.
Source§impl ScriptPubkey
impl ScriptPubkey
pub fn p2tr( internal_key: InternalPk, merkle_root: Option<TapNodeHash>, ) -> ScriptPubkey
pub fn p2tr_key_only(internal_key: InternalPk) -> ScriptPubkey
pub fn p2tr_scripted( internal_key: InternalPk, merkle_root: impl IntoTapHash, ) -> ScriptPubkey
pub fn p2tr_tweaked(output_key: OutputPk) -> ScriptPubkey
pub fn is_p2tr(&self) -> bool
Methods from Deref<Target = ScriptBytes>§
Sourcepub fn push_slice(&mut self, data: &[u8])
pub fn push_slice(&mut self, data: &[u8])
Adds instructions to push some arbitrary data onto the stack.
§Panics
The method panics if data
length is greater or equal to
0x100000000.
pub fn len_var_int(&self) -> VarInt
Methods from Deref<Target = Confined<Vec<u8>, 0, bc::::coding::VarIntBytes::{constant#1}>>§
Sourcepub fn iter_mut(&'c mut self) -> <&'c mut C as IntoIterator>::IntoIter
pub fn iter_mut(&'c mut self) -> <&'c mut C as IntoIterator>::IntoIter
Returns an iterator that allows modifying each value.
The iterator yields all items from start to end.
Sourcepub fn values_mut(
&mut self,
) -> impl Iterator<Item = &mut <C as KeyedCollection>::Value>
pub fn values_mut( &mut self, ) -> impl Iterator<Item = &mut <C as KeyedCollection>::Value>
Returns an iterator that allows modifying each value for each key.
Sourcepub fn keyed_values_mut(
&mut self,
) -> impl Iterator<Item = (&<C as KeyedCollection>::Key, &mut <C as KeyedCollection>::Value)>
pub fn keyed_values_mut( &mut self, ) -> impl Iterator<Item = (&<C as KeyedCollection>::Key, &mut <C as KeyedCollection>::Value)>
Returns an iterator that allows modifying each value for each key.
Sourcepub fn as_inner(&self) -> &C
👎Deprecated since 4.7.0: use as_unconfined method
pub fn as_inner(&self) -> &C
Returns inner collection type
Sourcepub fn as_unconfined(&self) -> &C
pub fn as_unconfined(&self) -> &C
Returns reference to the inner collection type.
Sourcepub fn to_inner(&self) -> Cwhere
C: Clone,
👎Deprecated since 4.7.0: use to_unconfined method
pub fn to_inner(&self) -> Cwhere
C: Clone,
Clones inner collection type and returns it
Sourcepub fn to_unconfined(&self) -> Cwhere
C: Clone,
pub fn to_unconfined(&self) -> Cwhere
C: Clone,
Clones inner collection and returns an unconfined version of it.
Sourcepub fn push(&mut self, elem: <C as Collection>::Item) -> Result<(), Error>
pub fn push(&mut self, elem: <C as Collection>::Item) -> Result<(), Error>
Attempts to add a single element to the confined collection. Fails if the number of elements in the collection already maximal.
Sourcepub fn extend<T>(&mut self, iter: T) -> Result<(), Error>
pub fn extend<T>(&mut self, iter: T) -> Result<(), Error>
Attempts to add all elements from an iterator to the confined collection. Fails if the number of elements in the collection already maximal.
Sourcepub fn len_u8(&self) -> u8
pub fn len_u8(&self) -> u8
Returns number of elements in the confined collection as u8
. The
confinement guarantees that the collection length can’t exceed
u8::MAX
.
Sourcepub fn len_u16(&self) -> u16
pub fn len_u16(&self) -> u16
Returns number of elements in the confined collection as u16
. The
confinement guarantees that the collection length can’t exceed
u16::MAX
.
Sourcepub fn len_u24(&self) -> u24
pub fn len_u24(&self) -> u24
Returns number of elements in the confined collection as u24
. The
confinement guarantees that the collection length can’t exceed
u24::MAX
.
Sourcepub fn len_u32(&self) -> u32
pub fn len_u32(&self) -> u32
Returns number of elements in the confined collection as u32
. The
confinement guarantees that the collection length can’t exceed
u32::MAX
.
Sourcepub fn get_mut(
&mut self,
key: &<C as KeyedCollection>::Key,
) -> Option<&mut <C as KeyedCollection>::Value>
pub fn get_mut( &mut self, key: &<C as KeyedCollection>::Key, ) -> Option<&mut <C as KeyedCollection>::Value>
Gets mutable reference to an element of the collection.
Sourcepub fn insert(
&mut self,
key: <C as KeyedCollection>::Key,
value: <C as KeyedCollection>::Value,
) -> Result<Option<<C as KeyedCollection>::Value>, Error>
pub fn insert( &mut self, key: <C as KeyedCollection>::Key, value: <C as KeyedCollection>::Value, ) -> Result<Option<<C as KeyedCollection>::Value>, Error>
Inserts a new value into the confined collection under a given key. Fails if the collection already contains maximum number of elements allowed by the confinement.
Sourcepub fn entry(
&mut self,
key: <C as KeyedCollection>::Key,
) -> Result<<C as KeyedCollection>::Entry<'_>, Error>
pub fn entry( &mut self, key: <C as KeyedCollection>::Key, ) -> Result<<C as KeyedCollection>::Entry<'_>, Error>
Gets the given key’s corresponding entry in the map for in-place manipulation. Errors if the collection entry is vacant and the collection has already reached maximal size of its confinement.
Sourcepub fn pop(&mut self) -> Option<char>
pub fn pop(&mut self) -> Option<char>
Removes the last character from a string and returns it, or None
if
it is empty.
Sourcepub fn remove(&mut self, index: usize) -> Result<char, Error>
pub fn remove(&mut self, index: usize) -> Result<char, Error>
Removes a single character from the confined string, unless the string doesn’t shorten more than the confinement requirement. Errors otherwise.
Sourcepub fn pop(&mut self) -> Option<AsciiChar>
pub fn pop(&mut self) -> Option<AsciiChar>
Removes the last character from a string and returns it, or None
if
it is empty.
Sourcepub fn remove(&mut self, index: usize) -> Result<AsciiChar, Error>
pub fn remove(&mut self, index: usize) -> Result<AsciiChar, Error>
Removes a single character from the confined string, unless the string doesn’t shorten more than the confinement requirement. Errors otherwise.
Sourcepub fn get_mut<I>(
&mut self,
index: I,
) -> Option<&mut <I as SliceIndex<[T]>>::Output>where
I: SliceIndex<[T]>,
pub fn get_mut<I>(
&mut self,
index: I,
) -> Option<&mut <I as SliceIndex<[T]>>::Output>where
I: SliceIndex<[T]>,
Gets the mutable element of a vector
Sourcepub fn pop(&mut self) -> Option<T>
pub fn pop(&mut self) -> Option<T>
Removes the last element from a vector and returns it, or None
if it
is empty.
Sourcepub fn remove(&mut self, index: usize) -> Result<T, Error>
pub fn remove(&mut self, index: usize) -> Result<T, Error>
Removes an element from the vector at a given index. Errors if the index exceeds the number of elements in the vector, of if the new vector length will be less than the confinement requirement. Returns the removed element otherwise.
Sourcepub fn iter(&self) -> Iter<'_, T>
pub fn iter(&self) -> Iter<'_, T>
Returns an iterator over the slice.
The iterator yields all items from start to end.
Sourcepub fn pop_front(&mut self) -> Option<T>
pub fn pop_front(&mut self) -> Option<T>
Removes the first element and returns it, or None
if the deque is
empty.
Sourcepub fn pop_back(&mut self) -> Option<T>
pub fn pop_back(&mut self) -> Option<T>
Removes the last element and returns it, or None
if the deque is
empty.
Sourcepub fn push_front(&mut self, elem: T) -> Result<(), Error>
pub fn push_front(&mut self, elem: T) -> Result<(), Error>
Prepends an element to the deque. Errors if the new collection length will not fit the confinement requirements.
pub fn push_from(&mut self, elem: T) -> Result<(), Error>
push_front
Sourcepub fn push_back(&mut self, elem: T) -> Result<(), Error>
pub fn push_back(&mut self, elem: T) -> Result<(), Error>
Appends an element to the deque. Errors if the new collection length will not fit the confinement requirements.
Sourcepub fn remove(&mut self, index: usize) -> Result<T, Error>
pub fn remove(&mut self, index: usize) -> Result<T, Error>
Removes an element from the deque at a given index. Errors if the index exceeds the number of elements in the deque, of if the new deque length will be less than the confinement requirement. Returns the removed element otherwise.
Sourcepub fn drain<R>(&mut self, range: R) -> Drain<'_, T>where
R: RangeBounds<usize>,
pub fn drain<R>(&mut self, range: R) -> Drain<'_, T>where
R: RangeBounds<usize>,
Removes the specified range from the deque in bulk, returning all removed elements as an iterator. If the iterator is dropped before being fully consumed, it drops the remaining removed elements.
The returned iterator keeps a mutable borrow on the queue to optimize its implementation.
§Panics
Panics if the starting point is greater than the end point or if the end point is greater than the length of the deque.
§Leaking
If the returned iterator goes out of scope without being dropped (due to
[mem::forget
], for example), the deque may have lost and leaked
elements arbitrarily, including elements outside the range.
Sourcepub fn truncate(&mut self, len: usize)
pub fn truncate(&mut self, len: usize)
Shortens the deque, keeping the first len
elements and dropping
the rest.
If len
is greater or equal to the deque’s current length, this has
no effect.
Sourcepub fn remove(&mut self, elem: &T) -> Result<bool, Error>
pub fn remove(&mut self, elem: &T) -> Result<bool, Error>
Removes an element from the set. Errors if the index exceeds the number of elements in the set, of if the new collection length will be less than the confinement requirement. Returns if the element was present in the set.
Sourcepub fn take(&mut self, elem: &T) -> Result<Option<T>, Error>
pub fn take(&mut self, elem: &T) -> Result<Option<T>, Error>
Removes an element from the set. Errors if the index exceeds the number of elements in the set, of if the new collection length will be less than the confinement requirement. Returns the removed element otherwise.
Sourcepub fn remove(&mut self, elem: &T) -> Result<bool, Error>
pub fn remove(&mut self, elem: &T) -> Result<bool, Error>
Removes an element from the set. Errors if the index exceeds the number of elements in the set, of if the new collection length will be less than the confinement requirement. Returns if the element was present in the set.
Sourcepub fn take(&mut self, elem: &T) -> Result<Option<T>, Error>
pub fn take(&mut self, elem: &T) -> Result<Option<T>, Error>
Removes an element from the set. Errors if the index exceeds the number of elements in the set, of if the new collection length will be less than the confinement requirement. Returns the removed element otherwise.
Trait Implementations§
Source§impl AsMut<<ScriptPubkey as Wrapper>::Inner> for ScriptPubkey
impl AsMut<<ScriptPubkey as Wrapper>::Inner> for ScriptPubkey
Source§impl AsMut<[u8]> for ScriptPubkey
impl AsMut<[u8]> for ScriptPubkey
Source§impl AsRef<[u8]> for ScriptPubkey
impl AsRef<[u8]> for ScriptPubkey
Source§impl AsRef<ScriptBytes> for ScriptPubkey
impl AsRef<ScriptBytes> for ScriptPubkey
Source§fn as_ref(&self) -> &ScriptBytes
fn as_ref(&self) -> &ScriptBytes
Source§impl Borrow<ScriptBytes> for ScriptPubkey
impl Borrow<ScriptBytes> for ScriptPubkey
Source§fn borrow(&self) -> &ScriptBytes
fn borrow(&self) -> &ScriptBytes
Source§impl BorrowMut<<ScriptPubkey as Wrapper>::Inner> for ScriptPubkey
impl BorrowMut<<ScriptPubkey as Wrapper>::Inner> for ScriptPubkey
Source§fn borrow_mut(&mut self) -> &mut <ScriptPubkey as Wrapper>::Inner
fn borrow_mut(&mut self) -> &mut <ScriptPubkey as Wrapper>::Inner
Source§impl Clone for ScriptPubkey
impl Clone for ScriptPubkey
Source§fn clone(&self) -> ScriptPubkey
fn clone(&self) -> ScriptPubkey
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl ConsensusDecode for ScriptPubkey
impl ConsensusDecode for ScriptPubkey
fn consensus_decode( reader: &mut impl Read, ) -> Result<ScriptPubkey, ConsensusDecodeError>
fn consensus_deserialize( bytes: impl AsRef<[u8]>, ) -> Result<Self, ConsensusDecodeError>
Source§impl ConsensusEncode for ScriptPubkey
impl ConsensusEncode for ScriptPubkey
Source§impl Debug for ScriptPubkey
impl Debug for ScriptPubkey
Source§impl Decode for ScriptPubkey
impl Decode for ScriptPubkey
fn decode(reader: &mut impl Read) -> Result<ScriptPubkey, DecodeError>
fn deserialize(bytes: impl AsRef<[u8]>) -> Result<Self, PsbtError>
Source§impl Default for ScriptPubkey
impl Default for ScriptPubkey
Source§fn default() -> ScriptPubkey
fn default() -> ScriptPubkey
Source§impl Deref for ScriptPubkey
impl Deref for ScriptPubkey
Source§type Target = ScriptBytes
type Target = ScriptBytes
Source§impl DerefMut for ScriptPubkey
impl DerefMut for ScriptPubkey
Source§impl Encode for ScriptPubkey
impl Encode for ScriptPubkey
Source§impl From<AddressPayload> for ScriptPubkey
impl From<AddressPayload> for ScriptPubkey
Source§fn from(ap: AddressPayload) -> ScriptPubkey
fn from(ap: AddressPayload) -> ScriptPubkey
Source§impl From<ScriptBytes> for ScriptPubkey
impl From<ScriptBytes> for ScriptPubkey
Source§fn from(v: ScriptBytes) -> ScriptPubkey
fn from(v: ScriptBytes) -> ScriptPubkey
Source§impl From<ScriptPubkey> for ScriptBytes
impl From<ScriptPubkey> for ScriptBytes
Source§fn from(wrapped: ScriptPubkey) -> ScriptBytes
fn from(wrapped: ScriptPubkey) -> ScriptBytes
Source§impl FromHex for ScriptPubkey
impl FromHex for ScriptPubkey
Source§fn from_byte_iter<I>(iter: I) -> Result<ScriptPubkey, Error>
fn from_byte_iter<I>(iter: I) -> Result<ScriptPubkey, Error>
Source§impl Hash for ScriptPubkey
impl Hash for ScriptPubkey
Source§impl LowerHex for ScriptPubkey
impl LowerHex for ScriptPubkey
Source§impl Ord for ScriptPubkey
impl Ord for ScriptPubkey
Source§fn cmp(&self, other: &ScriptPubkey) -> Ordering
fn cmp(&self, other: &ScriptPubkey) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ScriptPubkey
impl PartialEq for ScriptPubkey
Source§impl PartialOrd for ScriptPubkey
impl PartialOrd for ScriptPubkey
Source§impl StrictDecode for ScriptPubkey
impl StrictDecode for ScriptPubkey
fn strict_decode( reader: &mut impl TypedRead, ) -> Result<ScriptPubkey, DecodeError>
fn strict_read(reader: impl ReadRaw) -> Result<Self, DecodeError>
Source§impl StrictEncode for ScriptPubkey
impl StrictEncode for ScriptPubkey
fn strict_encode<W>(&self, writer: W) -> Result<W, Error>where
W: TypedWrite,
fn strict_write(&self, writer: impl WriteRaw) -> Result<(), Error>
Source§impl StrictTuple for ScriptPubkey
impl StrictTuple for ScriptPubkey
const FIELD_COUNT: u8 = 1u8
fn strict_check_fields()
fn strict_type_info() -> TypeInfo<Self>
Source§impl StrictType for ScriptPubkey
impl StrictType for ScriptPubkey
const STRICT_LIB_NAME: &'static str = LIB_NAME_BITCOIN
fn strict_name() -> Option<TypeName>
Source§impl UpperHex for ScriptPubkey
impl UpperHex for ScriptPubkey
Source§impl Weight for ScriptPubkey
impl Weight for ScriptPubkey
fn weight_units(&self) -> WeightUnits
fn vbytes(&self) -> VBytes
Source§impl Wrapper for ScriptPubkey
impl Wrapper for ScriptPubkey
Source§type Inner = ScriptBytes
type Inner = ScriptBytes
Source§fn from_inner(inner: <ScriptPubkey as Wrapper>::Inner) -> ScriptPubkey
fn from_inner(inner: <ScriptPubkey as Wrapper>::Inner) -> ScriptPubkey
Source§fn as_inner(&self) -> &<ScriptPubkey as Wrapper>::Inner
fn as_inner(&self) -> &<ScriptPubkey as Wrapper>::Inner
Source§fn into_inner(self) -> <ScriptPubkey as Wrapper>::Inner
fn into_inner(self) -> <ScriptPubkey as Wrapper>::Inner
Source§impl WrapperMut for ScriptPubkey
impl WrapperMut for ScriptPubkey
Source§fn as_inner_mut(&mut self) -> &mut <ScriptPubkey as Wrapper>::Inner
fn as_inner_mut(&mut self) -> &mut <ScriptPubkey as Wrapper>::Inner
impl Eq for ScriptPubkey
impl StrictProduct for ScriptPubkey
impl StructuralPartialEq for ScriptPubkey
Auto Trait Implementations§
impl Freeze for ScriptPubkey
impl RefUnwindSafe for ScriptPubkey
impl Send for ScriptPubkey
impl Sync for ScriptPubkey
impl Unpin for ScriptPubkey
impl UnwindSafe for ScriptPubkey
Blanket Implementations§
Source§impl<T> Base32Len for T
impl<T> Base32Len for T
Source§fn base32_len(&self) -> usize
fn base32_len(&self) -> usize
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
Source§impl<T> CheckBase32<Vec<u5>> for T
impl<T> CheckBase32<Vec<u5>> for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.