pub struct CoinJoinSession {
pub id: Uuid,
pub config: SessionConfig,
pub state: SessionState,
pub participants: Vec<Participant>,
pub created_at: DateTime<Utc>,
pub transaction: Option<Transaction>,
pub signatures: HashMap<Uuid, Vec<u8>>,
}Expand description
CoinJoin session
Fields§
§id: UuidSession ID
config: SessionConfigSession configuration
state: SessionStateCurrent state
participants: Vec<Participant>Participants
created_at: DateTime<Utc>Created timestamp
transaction: Option<Transaction>Transaction being built
signatures: HashMap<Uuid, Vec<u8>>Signatures collected
Implementations§
Source§impl CoinJoinSession
impl CoinJoinSession
Sourcepub fn new(config: SessionConfig) -> Self
pub fn new(config: SessionConfig) -> Self
Create a new CoinJoin session
Sourcepub fn add_participant(
&mut self,
input: ParticipantInput,
output_address: Address,
change_address: Option<Address>,
) -> Result<Uuid, BitcoinError>
pub fn add_participant( &mut self, input: ParticipantInput, output_address: Address, change_address: Option<Address>, ) -> Result<Uuid, BitcoinError>
Add a participant to the session
Sourcepub fn build_transaction(&mut self) -> Result<(), BitcoinError>
pub fn build_transaction(&mut self) -> Result<(), BitcoinError>
Build the CoinJoin transaction
Sourcepub fn add_signature(
&mut self,
participant_id: Uuid,
signature: Vec<u8>,
) -> Result<(), BitcoinError>
pub fn add_signature( &mut self, participant_id: Uuid, signature: Vec<u8>, ) -> Result<(), BitcoinError>
Add a signature from a participant
Sourcepub fn signature_count(&self) -> usize
pub fn signature_count(&self) -> usize
Get the number of signatures collected
Sourcepub fn is_ready_to_broadcast(&self) -> bool
pub fn is_ready_to_broadcast(&self) -> bool
Check if session is ready to broadcast
Trait Implementations§
Source§impl Clone for CoinJoinSession
impl Clone for CoinJoinSession
Source§fn clone(&self) -> CoinJoinSession
fn clone(&self) -> CoinJoinSession
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CoinJoinSession
impl Debug for CoinJoinSession
Source§impl<'de> Deserialize<'de> for CoinJoinSession
impl<'de> Deserialize<'de> for CoinJoinSession
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for CoinJoinSession
impl RefUnwindSafe for CoinJoinSession
impl Send for CoinJoinSession
impl Sync for CoinJoinSession
impl Unpin for CoinJoinSession
impl UnwindSafe for CoinJoinSession
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