pub struct ArkoorBuilder<S: BuilderState> { /* private fields */ }Implementations§
Source§impl<S: BuilderState> ArkoorBuilder<S>
impl<S: BuilderState> ArkoorBuilder<S>
Sourcepub fn normal_outputs(&self) -> &[ArkoorDestination]
pub fn normal_outputs(&self) -> &[ArkoorDestination]
Access the regular (non-isolated) outputs of the builder
Sourcepub fn isolated_outputs(&self) -> &[ArkoorDestination]
pub fn isolated_outputs(&self) -> &[ArkoorDestination]
Access the isolated outputs of the builder
Sourcepub fn all_outputs(&self) -> impl Iterator<Item = &ArkoorDestination> + Clone
pub fn all_outputs(&self) -> impl Iterator<Item = &ArkoorDestination> + Clone
Access all outputs of the builder
pub fn build_unsigned_vtxos<'a>( &'a self, ) -> impl Iterator<Item = Vtxo<Full>> + 'a
Sourcepub fn build_unsigned_internal_vtxos<'a>(
&'a self,
) -> impl Iterator<Item = ServerVtxo<Full>> + 'a
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 checkpoinst are used) and the dust isolation output (if dust isolation is used).
Sourcepub fn spend_info(&self) -> Vec<(VtxoId, Txid)>
pub fn spend_info(&self) -> Vec<(VtxoId, Txid)>
Sourcepub fn virtual_transactions(&self) -> Vec<Txid>
pub fn virtual_transactions(&self) -> Vec<Txid>
Returns the txids of all virtual transactions in this arkoor:
- checkpoint tx (if checkpoints enabled)
- arkoor txs (one per normal output, exits from checkpoint)
- isolation fanout tx (if dust isolation active)
Source§impl ArkoorBuilder<Initial>
impl ArkoorBuilder<Initial>
Sourcepub fn new_with_checkpoint(
input: Vtxo<Full>,
outputs: Vec<ArkoorDestination>,
isolated_outputs: Vec<ArkoorDestination>,
) -> Result<Self, ArkoorConstructionError>
pub fn new_with_checkpoint( input: Vtxo<Full>, outputs: Vec<ArkoorDestination>, isolated_outputs: Vec<ArkoorDestination>, ) -> Result<Self, ArkoorConstructionError>
Create builder with checkpoint transaction
Sourcepub fn new_without_checkpoint(
input: Vtxo<Full>,
outputs: Vec<ArkoorDestination>,
isolated_outputs: Vec<ArkoorDestination>,
) -> Result<Self, ArkoorConstructionError>
pub fn new_without_checkpoint( input: Vtxo<Full>, outputs: Vec<ArkoorDestination>, isolated_outputs: Vec<ArkoorDestination>, ) -> Result<Self, ArkoorConstructionError>
Create builder without checkpoint transaction
Sourcepub fn new_with_checkpoint_isolate_dust(
input: Vtxo<Full>,
outputs: Vec<ArkoorDestination>,
) -> Result<Self, ArkoorConstructionError>
pub fn new_with_checkpoint_isolate_dust( input: Vtxo<Full>, outputs: Vec<ArkoorDestination>, ) -> Result<Self, ArkoorConstructionError>
Create builder with checkpoint and automatic dust isolation
This constructor takes a single list of outputs and automatically determines the best strategy for handling dust.
Sourcepub fn generate_user_nonces(
self,
user_keypair: Keypair,
) -> ArkoorBuilder<UserGeneratedNonces>
pub fn generate_user_nonces( self, user_keypair: Keypair, ) -> ArkoorBuilder<UserGeneratedNonces>
Generates the user nonces and moves the builder to the state::UserGeneratedNonces state This is the path that is used by the user
Source§impl<'a> ArkoorBuilder<ServerCanCosign>
impl<'a> ArkoorBuilder<ServerCanCosign>
pub fn from_cosign_request( cosign_request: ArkoorCosignRequest<Vtxo<Full>>, ) -> Result<ArkoorBuilder<ServerCanCosign>, ArkoorSigningError>
pub fn server_cosign( self, server_keypair: &Keypair, ) -> Result<ArkoorBuilder<ServerSigned>, ArkoorSigningError>
Source§impl ArkoorBuilder<ServerSigned>
impl ArkoorBuilder<ServerSigned>
pub fn user_pub_nonces(&self) -> Vec<PublicNonce>
pub fn server_partial_signatures(&self) -> Vec<PartialSignature>
pub fn cosign_response(&self) -> ArkoorCosignResponse
Source§impl ArkoorBuilder<UserGeneratedNonces>
impl ArkoorBuilder<UserGeneratedNonces>
pub fn user_pub_nonces(&self) -> &[PublicNonce]
pub fn cosign_request(&self) -> ArkoorCosignRequest<Vtxo<Full>>
pub fn user_cosign( self, user_keypair: &Keypair, server_cosign_data: &ArkoorCosignResponse, ) -> Result<ArkoorBuilder<UserSigned>, ArkoorSigningError>
Source§impl<'a> ArkoorBuilder<UserSigned>
impl<'a> ArkoorBuilder<UserSigned>
pub fn build_signed_vtxos(&self) -> Vec<Vtxo<Full>>
Auto Trait Implementations§
impl<S> Freeze for ArkoorBuilder<S>
impl<S> RefUnwindSafe for ArkoorBuilder<S>where
S: RefUnwindSafe,
impl<S> Send for ArkoorBuilder<S>where
S: Send,
impl<S> Sync for ArkoorBuilder<S>where
S: Sync,
impl<S> Unpin for ArkoorBuilder<S>where
S: Unpin,
impl<S> UnwindSafe for ArkoorBuilder<S>where
S: UnwindSafe,
Blanket Implementations§
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
Mutably borrows from an owned value. Read more