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 sql;
@@ -46,6 +48,7 @@ pub use crate::gossip::{GOSSIP_SYNC_TIME_KEY, NETWORK_GRAPH_KEY, PROB_SCORER_KEY
4648pub use crate :: keymanager:: generate_seed;
4749pub use crate :: ldkstorage:: { CHANNEL_MANAGER_KEY , MONITORS_PREFIX_KEY } ;
4850
51+ use crate :: payjoin:: PayjoinStorage ;
4952use crate :: storage:: { MutinyStorage , DEVICE_ID_KEY , EXPECTED_NETWORK_KEY , NEED_FULL_SYNC_KEY } ;
5053use crate :: { auth:: MutinyAuthClient , logging:: MutinyLogger } ;
5154use crate :: { error:: MutinyError , nostr:: ReservedProfile } ;
@@ -661,6 +664,7 @@ impl<S: MutinyStorage> MutinyWallet<S> {
661664 // when we restart, gen a new session id
662665 self . node_manager = Arc :: new ( nm_builder. build ( ) . await ?) ;
663666 NodeManager :: start_sync ( self . node_manager . clone ( ) ) ;
667+ NodeManager :: resume_payjoins ( self . node_manager . clone ( ) ) ;
664668
665669 Ok ( ( ) )
666670 }
@@ -929,7 +933,7 @@ impl<S: MutinyStorage> MutinyWallet<S> {
929933 . await
930934 . unwrap ( ) ;
931935
932- let mut enroller = payjoin :: receive:: v2:: Enroller :: from_relay_config (
936+ let mut enroller = pj :: receive:: v2:: Enroller :: from_relay_config (
933937 PAYJOIN_DIR ,
934938 & ohttp_config_base64,
935939 OHTTP_RELAYS [ 0 ] , // TODO pick ohttp relay at random
@@ -948,6 +952,10 @@ impl<S: MutinyStorage> MutinyWallet<S> {
948952 . process_res ( ohttp_response. as_ref ( ) , context)
949953 . map_err ( |e| anyhow ! ( "parse error {}" , e) )
950954 . unwrap ( ) ;
955+ self . node_manager
956+ . storage
957+ . persist_payjoin ( enrolled. clone ( ) )
958+ . unwrap ( ) ;
951959 let pj_uri = enrolled. fallback_target ( ) ;
952960 log_debug ! ( self . logger, "{pj_uri}" ) ;
953961 let wallet = self . node_manager . wallet . clone ( ) ;
0 commit comments