Skip to main content

Builder

Struct Builder 

Source
pub struct Builder<T>(/* private fields */);
Expand description

An Object which can be used to construct a script piece by piece.

§Panics

Builder is backed by ScriptBuf and inherits its panic behavior. This means that attempting to construct scripts larger than isize::MAX bytes will panic.

Implementations§

Source§

impl<T> Builder<T>

Source

pub const fn new() -> Self

Constructs a new empty script.

Source

pub fn push_slice<D: AsRef<PushBytes>>(self, data: D) -> Self

Adds instructions to push some arbitrary data onto the stack.

If the data can be exactly produced by a numeric opcode, that opcode will be used, since its behavior is equivalent but will not violate minimality rules. To avoid this, use Builder::push_slice_non_minimal which will always use a push opcode.

However, this method does not enforce any numeric minimality rules. If your pushes should be interpreted as numbers, ensure your input does not have any leading zeros. In particular, the number 0 should be encoded as an empty string rather than as a single 0 byte.

Source

pub fn push_slice_non_minimal<D: AsRef<PushBytes>>(self, data: D) -> Self

Adds instructions to push some arbitrary data onto the stack without minimality.

Standardness rules require push minimality according to CheckMinimalPush of core.

Source

pub fn push_opcode(self, data: Opcode) -> Self

Adds a single opcode to the script.

Source

pub fn into_script(self) -> ScriptBuf<T>

Converts the Builder into ScriptBuf.

Source

pub fn as_script(&self) -> &Script<T>

Returns the internal script

Trait Implementations§

Source§

impl<T: Clone> Clone for Builder<T>

Source§

fn clone(&self) -> Builder<T>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T> Debug for Builder<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T> Default for Builder<T>

Source§

fn default() -> Self

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

impl<T> Display for Builder<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T: Eq> Eq for Builder<T>

Source§

impl<T> From<Vec<u8>> for Builder<T>

Constructs a new builder from an existing vector.

Source§

fn from(v: Vec<u8>) -> Self

Converts to this type from the input type.
Source§

impl<T: PartialEq> PartialEq for Builder<T>

Source§

fn eq(&self, other: &Builder<T>) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl<T: PartialEq> StructuralPartialEq for Builder<T>

Auto Trait Implementations§

§

impl<T> Freeze for Builder<T>

§

impl<T> RefUnwindSafe for Builder<T>
where T: RefUnwindSafe,

§

impl<T> Send for Builder<T>
where T: Send,

§

impl<T> Sync for Builder<T>
where T: Sync,

§

impl<T> Unpin for Builder<T>
where T: Unpin,

§

impl<T> UnsafeUnpin for Builder<T>

§

impl<T> UnwindSafe for Builder<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.