From 2adb0148b93917ff8a1334f80e62ca5aa2fdd617 Mon Sep 17 00:00:00 2001 From: darkfi Date: Fri, 9 Aug 2024 12:56:32 +0200 Subject: [PATCH] wallet: p2p broadcast event when sending --- bin/darkwallet/src/darkirc.rs | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/bin/darkwallet/src/darkirc.rs b/bin/darkwallet/src/darkirc.rs index 23cf8ec67..ac34a089b 100644 --- a/bin/darkwallet/src/darkirc.rs +++ b/bin/darkwallet/src/darkirc.rs @@ -19,7 +19,11 @@ use std::sync::{Arc, Mutex as SyncMutex}; use darkfi::{ - event_graph::{self, proto::ProtocolEventGraph, EventGraph, EventGraphPtr}, + event_graph::{ + self, + proto::{EventPut, ProtocolEventGraph}, + EventGraph, EventGraphPtr, + }, net::{session::SESSION_DEFAULT, settings::Settings as NetSettings, P2p, P2pPtr}, system::{sleep, Subscription}, Error, @@ -189,11 +193,19 @@ impl DarkIrcBackend { } pub async fn send(&self, privmsg: Privmsg) { - let evgr = - self.0.lock().unwrap().as_ref().expect("backend wasnt started").event_graph.clone(); + let (p2p, evgr) = { + let self_ = self.0.lock().unwrap(); + let data = self_.as_ref().expect("backend wasnt started"); + + let evgr = data.event_graph.clone(); + let p2p = data.p2p.clone(); + (p2p, evgr) + }; let event = event_graph::Event::new(serialize_async(&privmsg).await, &evgr).await; - if let Err(e) = evgr.dag_insert(&[event]).await { + if let Err(e) = evgr.dag_insert(&[event.clone()]).await { error!(target: "darkirc", "Failed inserting new event to DAG: {}", e); } + + p2p.broadcast(&EventPut(event)).await; } }