From 2e0ccd79168ab2f6955c8859d05b87c371a652a3 Mon Sep 17 00:00:00 2001 From: Lucas Soriano del Pino Date: Wed, 24 Nov 2021 13:52:49 +1100 Subject: [PATCH] Prefer 2 MessageChannels over generic Address --- daemon/src/maker_cfd.rs | 1 + daemon/src/setup_contract.rs | 17 ++++++++--------- daemon/src/taker_cfd.rs | 1 + 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/daemon/src/maker_cfd.rs b/daemon/src/maker_cfd.rs index 0271584..33cd71b 100644 --- a/daemon/src/maker_cfd.rs +++ b/daemon/src/maker_cfd.rs @@ -552,6 +552,7 @@ where cfd.refund_timelock_in_blocks(), ), self.wallet.clone(), + self.wallet.clone(), Role::Maker, self.n_payouts, ); diff --git a/daemon/src/setup_contract.rs b/daemon/src/setup_contract.rs index 853740f..8157fc2 100644 --- a/daemon/src/setup_contract.rs +++ b/daemon/src/setup_contract.rs @@ -23,7 +23,7 @@ use std::collections::HashMap; use std::iter::FromIterator; use std::ops::RangeInclusive; use std::time::Duration; -use xtra::Address; +use xtra::prelude::MessageChannel; pub struct SetupParams { margin: Amount, @@ -56,23 +56,22 @@ impl SetupParams { /// Given an initial set of parameters, sets up the CFD contract with /// the other party. -pub async fn new( +#[allow(clippy::too_many_arguments)] +pub async fn new( mut sink: impl Sink + Unpin, mut stream: impl FusedStream + Unpin, (oracle_pk, announcement): (schnorrsig::PublicKey, oracle::Announcement), setup_params: SetupParams, - wallet: Address, + build_party_params_channel: impl MessageChannel, + sign_channel: impl MessageChannel, role: Role, n_payouts: usize, -) -> Result -where - W: xtra::Handler + xtra::Handler, -{ +) -> Result { let (sk, 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 own_params = wallet + let own_params = build_party_params_channel .send(wallet::BuildPartyParams { amount: setup_params.margin, identity_pk: pk, @@ -211,7 +210,7 @@ where tracing::info!("Verified all signatures"); - let mut signed_lock_tx = wallet + let mut signed_lock_tx = sign_channel .send(wallet::Sign { psbt: lock_tx }) .await .context("Failed to send message to wallet actor")? diff --git a/daemon/src/taker_cfd.rs b/daemon/src/taker_cfd.rs index 8d19dfc..426be0b 100644 --- a/daemon/src/taker_cfd.rs +++ b/daemon/src/taker_cfd.rs @@ -495,6 +495,7 @@ where cfd.refund_timelock_in_blocks(), ), self.wallet.clone(), + self.wallet.clone(), Role::Taker, self.n_payouts, );