Skip to main content

Constructor

Struct Constructor 

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

Implements the BIP-370 Constructor role.

Uses the builder pattern, and generics to make adding inputs and outputs infallible.

Implementations§

Source§

impl<T: Mod> Constructor<T>

Source

pub fn no_more_inputs(self) -> Self

Marks that the Psbt can not have any more inputs added to it.

Source

pub fn no_more_outputs(self) -> Self

Marks that the Psbt can not have any more outputs added to it.

Source

pub fn updater(self) -> Result<Updater, DetermineLockTimeError>

Returns a PSBT Updater once construction is completed.

Source

pub fn psbt(self) -> Result<Psbt, DetermineLockTimeError>

Returns the Psbt in its current state.

This function can be used either to get the Psbt to pass to another constructor or to get the Psbt ready for update if no_more_inputs and no_more_outputs have already explicitly been called.

Source§

impl Constructor<Modifiable>

Source

pub fn new(psbt: Psbt) -> Result<Self, PsbtNotModifiableError>

Creates a new Constructor.

This function should only be needed if the PSBT Creator and Constructor roles are being performed by separate entities, if not use one of the builder functions on the Creator e.g., constructor_modifiable().

Source

pub fn input(self, input: Input) -> Self

Adds an input to the PSBT.

Source

pub fn output(self, output: Output) -> Self

Adds an output to the PSBT.

Source§

impl Constructor<InputsOnlyModifiable>

Source

pub fn new(psbt: Psbt) -> Result<Self, InputsNotModifiableError>

Creates a new Constructor.

This function should only be needed if the PSBT Creator and Constructor roles are being performed by separate entities, if not use one of the builder functions on the Creator e.g., constructor_modifiable().

Source

pub fn input(self, input: Input) -> Self

Adds an input to the PSBT.

Source§

impl Constructor<OutputsOnlyModifiable>

Source

pub fn new(psbt: Psbt) -> Result<Self, OutputsNotModifiableError>

Creates a new Constructor.

This function should only be needed if the PSBT Creator and Constructor roles are being performed by separate entities, if not use one of the builder functions on the Creator e.g., constructor_modifiable().

Source

pub fn output(self, output: Output) -> Self

Adds an output to the PSBT.

Trait Implementations§

Source§

impl<T: Clone> Clone for Constructor<T>

Source§

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

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<T: Debug> Debug for Constructor<T>

Source§

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

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

impl Default for Constructor<InputsOnlyModifiable>

Source§

fn default() -> Self

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

impl Default for Constructor<Modifiable>

Source§

fn default() -> Self

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

impl Default for Constructor<OutputsOnlyModifiable>

Source§

fn default() -> Self

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

impl<'de, T> Deserialize<'de> for Constructor<T>

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl<T: Hash> Hash for Constructor<T>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

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

impl<T: PartialEq> PartialEq for Constructor<T>

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T> Serialize for Constructor<T>

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<T: Eq> Eq for Constructor<T>

Source§

impl<T> StructuralPartialEq for Constructor<T>

Auto Trait Implementations§

§

impl<T> Freeze for Constructor<T>

§

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

§

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

§

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

§

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

§

impl<T> UnsafeUnpin for Constructor<T>

§

impl<T> UnwindSafe for Constructor<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, 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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,