@@ -13,6 +13,7 @@ use tokio::signal::unix::SignalKind;
13
13
use hyper:: server:: conn:: http1;
14
14
use hyper_util:: rt:: TokioIo ;
15
15
16
+ use crate :: io:: events:: event_publisher:: { EventPublisher , NoopEventPublisher } ;
16
17
use crate :: io:: persist:: paginated_kv_store:: PaginatedKVStore ;
17
18
use crate :: io:: persist:: sqlite_store:: SqliteStore ;
18
19
use crate :: io:: persist:: {
@@ -26,6 +27,8 @@ use hex::DisplayHex;
26
27
use ldk_node:: config:: Config ;
27
28
use ldk_node:: lightning:: ln:: channelmanager:: PaymentId ;
28
29
use ldk_node:: logger:: LogLevel ;
30
+ use ldk_server_protos:: events;
31
+ use ldk_server_protos:: events:: { event_envelope, EventEnvelope } ;
29
32
use prost:: Message ;
30
33
use rand:: Rng ;
31
34
use std:: fs;
@@ -98,6 +101,8 @@ fn main() {
98
101
} ,
99
102
} ) ;
100
103
104
+ let event_publisher: Arc < dyn EventPublisher > = Arc :: new ( NoopEventPublisher ) ;
105
+
101
106
println ! ( "Starting up..." ) ;
102
107
match node. start_with_runtime ( Arc :: clone ( & runtime) ) {
103
108
Ok ( ( ) ) => { } ,
@@ -200,6 +205,18 @@ fn main() {
200
205
201
206
let forwarded_payment_creation_time = SystemTime :: now( ) . duration_since( UNIX_EPOCH ) . expect( "Time must be > 1970" ) . as_secs( ) as i64 ;
202
207
208
+ match event_publisher. publish( EventEnvelope {
209
+ event: Some ( event_envelope:: Event :: PaymentForwarded ( events:: PaymentForwarded {
210
+ forwarded_payment: Some ( forwarded_payment. clone( ) ) ,
211
+ } ) ) ,
212
+ } ) . await {
213
+ Ok ( _) => { } ,
214
+ Err ( e) => {
215
+ println!( "Failed to publish 'PaymentForwarded' event: {}" , e) ;
216
+ continue ;
217
+ }
218
+ } ;
219
+
203
220
match paginated_store. write( FORWARDED_PAYMENTS_PERSISTENCE_PRIMARY_NAMESPACE , FORWARDED_PAYMENTS_PERSISTENCE_SECONDARY_NAMESPACE ,
204
221
& forwarded_payment_id. to_lower_hex_string( ) ,
205
222
forwarded_payment_creation_time,
0 commit comments