88 type_alias_bounds
99) ]
1010extern crate core;
11+ extern crate payjoin as pj;
1112
1213pub mod auth;
1314mod chain;
@@ -30,6 +31,7 @@ mod node;
3031pub mod nodemanager;
3132pub mod nostr;
3233mod onchain;
34+ mod payjoin;
3335mod peermanager;
3436pub mod scorer;
3537pub mod storage;
@@ -44,6 +46,7 @@ use crate::event::{HTLCStatus, MillisatAmount, PaymentInfo};
4446pub use crate :: gossip:: { GOSSIP_SYNC_TIME_KEY , NETWORK_GRAPH_KEY , PROB_SCORER_KEY } ;
4547pub use crate :: keymanager:: generate_seed;
4648pub use crate :: ldkstorage:: { CHANNEL_MANAGER_KEY , MONITORS_PREFIX_KEY } ;
49+ use crate :: payjoin:: PayjoinStorage ;
4750use crate :: storage:: {
4851 list_payment_info, MutinyStorage , DEVICE_ID_KEY , EXPECTED_NETWORK_KEY , NEED_FULL_SYNC_KEY ,
4952} ;
@@ -794,6 +797,7 @@ impl<S: MutinyStorage> MutinyWallet<S> {
794797 // when we restart, gen a new session id
795798 self . node_manager = Arc :: new ( nm_builder. build ( ) . await ?) ;
796799 NodeManager :: start_sync ( self . node_manager . clone ( ) ) ;
800+ NodeManager :: resume_payjoins ( self . node_manager . clone ( ) ) ;
797801
798802 Ok ( ( ) )
799803 }
@@ -1073,7 +1077,7 @@ impl<S: MutinyStorage> MutinyWallet<S> {
10731077 . await
10741078 . unwrap ( ) ;
10751079
1076- let mut enroller = payjoin :: receive:: v2:: Enroller :: from_relay_config (
1080+ let mut enroller = pj :: receive:: v2:: Enroller :: from_relay_config (
10771081 PAYJOIN_DIR ,
10781082 & ohttp_config_base64,
10791083 OHTTP_RELAYS [ 0 ] , // TODO pick ohttp relay at random
@@ -1092,6 +1096,10 @@ impl<S: MutinyStorage> MutinyWallet<S> {
10921096 . process_res ( ohttp_response. as_ref ( ) , context)
10931097 . map_err ( |e| anyhow ! ( "parse error {}" , e) )
10941098 . unwrap ( ) ;
1099+ self . node_manager
1100+ . storage
1101+ . persist_payjoin ( enrolled. clone ( ) )
1102+ . unwrap ( ) ;
10951103 let pj_uri = enrolled. fallback_target ( ) ;
10961104 log_debug ! ( self . logger, "{pj_uri}" ) ;
10971105 let wallet = self . node_manager . wallet . clone ( ) ;
0 commit comments