Struct ArkoorPackageBuilder

Source
pub struct ArkoorPackageBuilder<S: BuilderState> {
    pub builders: Vec<ArkoorBuilder<S>>,
}
Expand description

A builder struct for creating arkoor packages

A package consists out of one or more inputs and matching outputs. When packages are created, the outputs can be possibly split up between the inputs.

The builder always keeps input and output order.

Fields§

§builders: Vec<ArkoorBuilder<S>>

Implementations§

Source§

impl ArkoorPackageBuilder<Initial>

Source

pub fn new_with_checkpoints( inputs: impl IntoIterator<Item = Vtxo<Full>>, outputs: Vec<ArkoorDestination>, ) -> Result<Self, ArkoorConstructionError>

Create builder with checkpoints for multiple outputs

Source

pub fn new_without_checkpoints( inputs: impl IntoIterator<Item = Vtxo<Full>>, outputs: Vec<ArkoorDestination>, ) -> Result<Self, ArkoorConstructionError>

Create builder without checkpoints for multiple outputs

Source

pub fn new_single_output_with_checkpoints( inputs: impl IntoIterator<Item = Vtxo<Full>>, output: ArkoorDestination, change_policy: VtxoPolicy, ) -> Result<Self, ArkoorConstructionError>

Convenience constructor for single output with automatic change

Calculates change amount and creates appropriate output (backward-compatible with old API)

Source

pub fn new_claim_all_with_checkpoints( inputs: impl IntoIterator<Item = Vtxo<Full>>, output_policy: VtxoPolicy, ) -> Result<Self, ArkoorConstructionError>

Convenience constructor for single output that claims all inputs

Source

pub fn new_claim_all_without_checkpoints( inputs: impl IntoIterator<Item = Vtxo<Full>>, output_policy: VtxoPolicy, ) -> Result<Self, ArkoorConstructionError>

Convenience constructor for single output that claims all inputs

Source

pub fn generate_user_nonces( self, user_keypairs: &[Keypair], ) -> Result<ArkoorPackageBuilder<UserGeneratedNonces>, ArkoorSigningError>

Source§

impl ArkoorPackageBuilder<UserGeneratedNonces>

Source§

impl ArkoorPackageBuilder<UserSigned>

Source§

impl ArkoorPackageBuilder<ServerCanCosign>

Source§

impl ArkoorPackageBuilder<ServerSigned>

Source§

impl<S: BuilderState> ArkoorPackageBuilder<S>

Source

pub fn input_ids<'a>(&'a self) -> impl Iterator<Item = VtxoId> + Clone + 'a

Access the input VTXO IDs

Source

pub fn build_unsigned_vtxos<'a>( &'a self, ) -> impl Iterator<Item = Vtxo<Full>> + 'a

Source

pub fn build_unsigned_internal_vtxos<'a>( &'a self, ) -> impl Iterator<Item = ServerVtxo<Full>> + 'a

Builds the unsigned internal VTXOs

Returns the checkpoint outputs (if checkpoints are used) and the dust isolation output (if dust isolation is used).

Source

pub fn spend_info<'a>(&'a self) -> impl Iterator<Item = (VtxoId, Txid)> + 'a

Each VtxoId in the list is spent by Txid in an out-of-round transaction

Source

pub fn virtual_transactions<'a>(&'a self) -> impl Iterator<Item = Txid> + 'a

Auto Trait Implementations§

§

impl<S> Freeze for ArkoorPackageBuilder<S>

§

impl<S> RefUnwindSafe for ArkoorPackageBuilder<S>
where S: RefUnwindSafe,

§

impl<S> Send for ArkoorPackageBuilder<S>
where S: Send,

§

impl<S> Sync for ArkoorPackageBuilder<S>
where S: Sync,

§

impl<S> Unpin for ArkoorPackageBuilder<S>
where S: Unpin,

§

impl<S> UnwindSafe for ArkoorPackageBuilder<S>
where S: 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. 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> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more