Skip to content
This repository was archived by the owner on Mar 23, 2021. It is now read-only.

Commit db6e01e

Browse files
workflowTobin Harding
andcommitted
Remove LedgerEvents trait
Passing around LedgerEventFutures directly allowed us to get rid of the LedgerEvents helper trait, and define the htlc_* methods on LedgerEventFutures directly. Co-authored-by: Tobin Harding <tobin.harding@tenx.tech>
1 parent 630a99f commit db6e01e

File tree

3 files changed

+9
-29
lines changed

3 files changed

+9
-29
lines changed

cnd/src/swap_protocols/rfc003/events/ledger_event_futures.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ use crate::swap_protocols::{
22
asset::Asset,
33
rfc003::{
44
events::{
5-
Deployed, DeployedFuture, Funded, FundedFuture, HtlcEvents, LedgerEvents,
6-
RedeemedOrRefundedFuture,
5+
Deployed, DeployedFuture, Funded, FundedFuture, HtlcEvents, RedeemedOrRefundedFuture,
76
},
87
state_machine::HtlcParams,
98
Ledger,
@@ -32,16 +31,14 @@ impl<L: Ledger, A: Asset> LedgerEventFutures<L, A> {
3231
htlc_redeemed_or_refunded: None,
3332
}
3433
}
35-
}
3634

37-
impl<L: Ledger, A: Asset> LedgerEvents<L, A> for LedgerEventFutures<L, A> {
38-
fn htlc_deployed(&mut self, htlc_params: HtlcParams<L, A>) -> &mut DeployedFuture<L> {
35+
pub fn htlc_deployed(&mut self, htlc_params: HtlcParams<L, A>) -> &mut DeployedFuture<L> {
3936
let htlc_events = &self.htlc_events;
4037
self.htlc_deployed
4138
.get_or_insert_with(move || htlc_events.htlc_deployed(htlc_params))
4239
}
4340

44-
fn htlc_funded(
41+
pub fn htlc_funded(
4542
&mut self,
4643
htlc_params: HtlcParams<L, A>,
4744
htlc_location: &Deployed<L>,
@@ -51,7 +48,7 @@ impl<L: Ledger, A: Asset> LedgerEvents<L, A> for LedgerEventFutures<L, A> {
5148
.get_or_insert_with(move || htlc_events.htlc_funded(htlc_params, htlc_location))
5249
}
5350

54-
fn htlc_redeemed_or_refunded(
51+
pub fn htlc_redeemed_or_refunded(
5552
&mut self,
5653
htlc_params: HtlcParams<L, A>,
5754
htlc_deployment: &Deployed<L>,

cnd/src/swap_protocols/rfc003/events/mod.rs

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -51,23 +51,6 @@ pub type DeployedFuture<L: Ledger> = Future<Deployed<L>>;
5151
pub type FundedFuture<L: Ledger, A: Asset> = Future<Funded<L, A>>;
5252
pub type RedeemedOrRefundedFuture<L: Ledger> = Future<Either<Redeemed<L>, Refunded<L>>>;
5353

54-
pub trait LedgerEvents<L: Ledger, A: Asset>: Send {
55-
fn htlc_deployed(&mut self, htlc_params: HtlcParams<L, A>) -> &mut DeployedFuture<L>;
56-
57-
fn htlc_funded(
58-
&mut self,
59-
htlc_params: HtlcParams<L, A>,
60-
htlc_deployment: &Deployed<L>,
61-
) -> &mut FundedFuture<L, A>;
62-
63-
fn htlc_redeemed_or_refunded(
64-
&mut self,
65-
htlc_params: HtlcParams<L, A>,
66-
htlc_deployment: &Deployed<L>,
67-
htlc_funding: &Funded<L, A>,
68-
) -> &mut RedeemedOrRefundedFuture<L>;
69-
}
70-
7154
pub trait HtlcEvents<L: Ledger, A: Asset>: Send + Sync + 'static {
7255
fn htlc_deployed(&self, htlc_params: HtlcParams<L, A>) -> Box<DeployedFuture<L>>;
7356
fn htlc_funded(

cnd/src/swap_protocols/rfc003/state_machine.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use crate::{
66
asset::Asset,
77
rfc003::{
88
self,
9-
events::{self, Deployed, Funded, HtlcEvents, LedgerEventFutures, Redeemed, Refunded},
9+
events::{Deployed, Funded, HtlcEvents, LedgerEventFutures, Redeemed, Refunded},
1010
ledger::Ledger,
1111
Accept, Request, SaveState, SecretHash,
1212
},
@@ -170,8 +170,8 @@ pub type FutureSwapOutcome<AL: Ledger, BL: Ledger, AA: Asset, BA: Asset> =
170170

171171
#[allow(missing_debug_implementations)]
172172
pub struct Context<AL: Ledger, BL: Ledger, AA: Asset, BA: Asset> {
173-
pub alpha_ledger_events: Box<dyn events::LedgerEvents<AL, AA>>,
174-
pub beta_ledger_events: Box<dyn events::LedgerEvents<BL, BA>>,
173+
pub alpha_ledger_events: LedgerEventFutures<AL, AA>,
174+
pub beta_ledger_events: LedgerEventFutures<BL, BA>,
175175
pub state_repo: Arc<dyn SaveState<AL, BL, AA, BA>>,
176176
}
177177

@@ -280,8 +280,8 @@ pub fn create_swap<AL: Ledger, BL: Ledger, AA: Asset, BA: Asset>(
280280
impl Future<Item = (), Error = ()> + Send + 'static,
281281
impl Stream<Item = SwapStates<AL, BL, AA, BA>, Error = ()> + Send + 'static,
282282
) {
283-
let alpha_ledger_events = Box::new(LedgerEventFutures::new(alpha_htlc_events));
284-
let beta_ledger_events = Box::new(LedgerEventFutures::new(beta_htlc_events));
283+
let alpha_ledger_events = LedgerEventFutures::new(alpha_htlc_events);
284+
let beta_ledger_events = LedgerEventFutures::new(beta_htlc_events);
285285
let id = request.swap_id;
286286

287287
let (sender, receiver) = mpsc::unbounded();

0 commit comments

Comments
 (0)