Browse Source

Prefer 2 MessageChannels over generic Address

debug-collab-settlement
Lucas Soriano del Pino 3 years ago
parent
commit
2e0ccd7916
No known key found for this signature in database GPG Key ID: EE611E973A1530E7
  1. 1
      daemon/src/maker_cfd.rs
  2. 17
      daemon/src/setup_contract.rs
  3. 1
      daemon/src/taker_cfd.rs

1
daemon/src/maker_cfd.rs

@ -552,6 +552,7 @@ where
cfd.refund_timelock_in_blocks(), cfd.refund_timelock_in_blocks(),
), ),
self.wallet.clone(), self.wallet.clone(),
self.wallet.clone(),
Role::Maker, Role::Maker,
self.n_payouts, self.n_payouts,
); );

17
daemon/src/setup_contract.rs

@ -23,7 +23,7 @@ use std::collections::HashMap;
use std::iter::FromIterator; use std::iter::FromIterator;
use std::ops::RangeInclusive; use std::ops::RangeInclusive;
use std::time::Duration; use std::time::Duration;
use xtra::Address; use xtra::prelude::MessageChannel;
pub struct SetupParams { pub struct SetupParams {
margin: Amount, margin: Amount,
@ -56,23 +56,22 @@ impl SetupParams {
/// Given an initial set of parameters, sets up the CFD contract with /// Given an initial set of parameters, sets up the CFD contract with
/// the other party. /// the other party.
pub async fn new<W>( #[allow(clippy::too_many_arguments)]
pub async fn new(
mut sink: impl Sink<SetupMsg, Error = anyhow::Error> + Unpin, mut sink: impl Sink<SetupMsg, Error = anyhow::Error> + Unpin,
mut stream: impl FusedStream<Item = SetupMsg> + Unpin, mut stream: impl FusedStream<Item = SetupMsg> + Unpin,
(oracle_pk, announcement): (schnorrsig::PublicKey, oracle::Announcement), (oracle_pk, announcement): (schnorrsig::PublicKey, oracle::Announcement),
setup_params: SetupParams, setup_params: SetupParams,
wallet: Address<W>, build_party_params_channel: impl MessageChannel<wallet::BuildPartyParams>,
sign_channel: impl MessageChannel<wallet::Sign>,
role: Role, role: Role,
n_payouts: usize, n_payouts: usize,
) -> Result<Dlc> ) -> Result<Dlc> {
where
W: xtra::Handler<wallet::Sign> + xtra::Handler<wallet::BuildPartyParams>,
{
let (sk, pk) = crate::keypair::new(&mut rand::thread_rng()); let (sk, pk) = crate::keypair::new(&mut rand::thread_rng());
let (rev_sk, rev_pk) = crate::keypair::new(&mut rand::thread_rng()); let (rev_sk, rev_pk) = crate::keypair::new(&mut rand::thread_rng());
let (publish_sk, publish_pk) = crate::keypair::new(&mut rand::thread_rng()); let (publish_sk, publish_pk) = crate::keypair::new(&mut rand::thread_rng());
let own_params = wallet let own_params = build_party_params_channel
.send(wallet::BuildPartyParams { .send(wallet::BuildPartyParams {
amount: setup_params.margin, amount: setup_params.margin,
identity_pk: pk, identity_pk: pk,
@ -211,7 +210,7 @@ where
tracing::info!("Verified all signatures"); tracing::info!("Verified all signatures");
let mut signed_lock_tx = wallet let mut signed_lock_tx = sign_channel
.send(wallet::Sign { psbt: lock_tx }) .send(wallet::Sign { psbt: lock_tx })
.await .await
.context("Failed to send message to wallet actor")? .context("Failed to send message to wallet actor")?

1
daemon/src/taker_cfd.rs

@ -495,6 +495,7 @@ where
cfd.refund_timelock_in_blocks(), cfd.refund_timelock_in_blocks(),
), ),
self.wallet.clone(), self.wallet.clone(),
self.wallet.clone(),
Role::Taker, Role::Taker,
self.n_payouts, self.n_payouts,
); );

Loading…
Cancel
Save