@@ -130,7 +130,9 @@ use event::{EventHandler, EventQueue};
130130use gossip:: GossipSource ;
131131use liquidity:: LiquiditySource ;
132132use payment:: payment_store:: PaymentStore ;
133- use payment:: { Bolt11Payment , OnchainPayment , PaymentDetails , SpontaneousPayment } ;
133+ use payment:: {
134+ Bolt11Payment , Bolt12PaymentHandler , OnchainPayment , PaymentDetails , SpontaneousPayment ,
135+ } ;
134136use peer_store:: { PeerInfo , PeerStore } ;
135137use types:: {
136138 Broadcaster , ChainMonitor , ChannelManager , DynStore , FeeEstimator , KeysManager , NetworkGraph ,
@@ -846,6 +848,22 @@ impl Node {
846848 ) )
847849 }
848850
851+ /// Returns a payment handler allowing to create and pay [BOLT 12] offers and refunds.
852+ ///
853+ /// [BOLT 12]: https://github.com/lightning/bolts/blob/master/12-offer-encoding.md
854+ pub fn bolt12_payment ( & self ) -> Arc < Bolt12PaymentHandler > {
855+ Arc :: new ( Bolt12PaymentHandler :: new (
856+ Arc :: clone ( & self . runtime ) ,
857+ Arc :: clone ( & self . channel_manager ) ,
858+ Arc :: clone ( & self . connection_manager ) ,
859+ Arc :: clone ( & self . keys_manager ) ,
860+ Arc :: clone ( & self . payment_store ) ,
861+ Arc :: clone ( & self . peer_store ) ,
862+ Arc :: clone ( & self . config ) ,
863+ Arc :: clone ( & self . logger ) ,
864+ ) )
865+ }
866+
849867 /// Returns a payment handler allowing to send spontaneous ("keysend") payments.
850868 #[ cfg( not( feature = "uniffi" ) ) ]
851869 pub fn spontaneous_payment ( & self ) -> SpontaneousPayment {
0 commit comments