Struct Builder
pub struct Builder(/* private fields */);
Expand description
An Object which can be used to construct a script piece by piece.
Implementations§
§impl Builder
impl Builder
pub fn push_int(self, data: i64) -> Builder
pub fn push_int(self, data: i64) -> Builder
Adds instructions to push an integer onto the stack.
Integers are encoded as little-endian signed-magnitude numbers, but there are dedicated opcodes to push some small integers.
pub fn push_slice<T>(self, data: T) -> Builder
pub fn push_slice<T>(self, data: T) -> Builder
Adds instructions to push some arbitrary data onto the stack.
pub fn push_key(self, key: &PublicKey) -> Builder
pub fn push_key(self, key: &PublicKey) -> Builder
Adds instructions to push a public key onto the stack.
pub fn push_x_only_key(self, x_only_key: &XOnlyPublicKey) -> Builder
pub fn push_x_only_key(self, x_only_key: &XOnlyPublicKey) -> Builder
Adds instructions to push an XOnly public key onto the stack.
pub fn push_opcode(self, data: Opcode) -> Builder
pub fn push_opcode(self, data: Opcode) -> Builder
Adds a single opcode to the script.
pub fn push_verify(self) -> Builder
pub fn push_verify(self) -> Builder
Adds an OP_VERIFY
to the script or replaces the last opcode with VERIFY form.
Some opcodes such as OP_CHECKSIG
have a verify variant that works as if VERIFY
was
in the script right after. To save space this function appends VERIFY
only if
the most-recently-added opcode does not have an alternate VERIFY
form. If it does
the last opcode is replaced. E.g., OP_CHECKSIG
will become OP_CHECKSIGVERIFY
.
Note that existing OP_*VERIFY
opcodes do not lead to the instruction being ignored
because OP_VERIFY
consumes an item from the stack so ignoring them would change the
semantics.
pub fn push_lock_time(self, lock_time: LockTime) -> Builder
pub fn push_lock_time(self, lock_time: LockTime) -> Builder
Adds instructions to push an absolute lock time onto the stack.
pub fn push_sequence(self, sequence: Sequence) -> Builder
pub fn push_sequence(self, sequence: Sequence) -> Builder
Adds instructions to push a sequence number onto the stack.
pub fn into_script(self) -> ScriptBuf
pub fn into_script(self) -> ScriptBuf
Converts the Builder
into ScriptBuf
.
pub fn into_bytes(self) -> Vec<u8> ⓘ
pub fn into_bytes(self) -> Vec<u8> ⓘ
Converts the Builder
into script bytes
Trait Implementations§
impl Eq for Builder
impl StructuralPartialEq for Builder
Auto Trait Implementations§
impl Freeze for Builder
impl RefUnwindSafe for Builder
impl Send for Builder
impl Sync for Builder
impl Unpin for Builder
impl UnwindSafe for Builder
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request