@@ -82,12 +82,7 @@ impl<'a> PayjoinManager<'a> {
8282 address. address ,
8383 directory,
8484 ohttp_keys. ohttp_keys ,
85- )
86- . map_err ( |e| {
87- Error :: Generic ( format ! (
88- "Failed to initialize a Payjoin ReceiverBuilder: {e}"
89- ) )
90- } ) ?
85+ ) ?
9186 . with_amount ( payjoin:: bitcoin:: Amount :: from_sat ( amount) )
9287 . with_max_fee_rate ( checked_max_fee_rate)
9388 . build ( )
@@ -143,11 +138,7 @@ impl<'a> PayjoinManager<'a> {
143138 . add_recipient ( uri. address . script_pubkey ( ) , sats)
144139 . fee_rate ( fee_rate) ;
145140
146- tx_builder. finish ( ) . map_err ( |e| {
147- Error :: Generic ( format ! (
148- "Error occurred when building original Payjoin transaction: {e}"
149- ) )
150- } ) ?
141+ tx_builder. finish ( ) ?
151142 } ;
152143 if !self
153144 . wallet
@@ -161,20 +152,11 @@ impl<'a> PayjoinManager<'a> {
161152 let txid = match uri. extras . pj_param ( ) {
162153 payjoin:: PjParam :: V1 ( _) => {
163154 let ( req, ctx) = payjoin:: send:: v1:: SenderBuilder :: new ( original_psbt. clone ( ) , uri)
164- . build_recommended ( fee_rate)
165- . map_err ( |e| {
166- Error :: Generic ( format ! ( "Failed to build a Payjoin v1 sender: {e}" ) )
167- } ) ?
155+ . build_recommended ( fee_rate) ?
168156 . create_v1_post_request ( ) ;
169157
170- let response = self
171- . send_payjoin_post_request ( req)
172- . await
173- . map_err ( |e| Error :: Generic ( format ! ( "Failed to send request: {e}" ) ) ) ?;
174-
175- let psbt = ctx
176- . process_response ( & response. bytes ( ) . await ?)
177- . map_err ( |e| Error :: Generic ( format ! ( "Failed to send a Payjoin v1: {e}" ) ) ) ?;
158+ let response = self . send_payjoin_post_request ( req) . await ?;
159+ let psbt = ctx. process_response ( & response. bytes ( ) . await ?) ?;
178160
179161 self . process_payjoin_proposal ( psbt, blockchain_client)
180162 . await ?
@@ -199,10 +181,7 @@ impl<'a> PayjoinManager<'a> {
199181 payjoin:: persist:: NoopSessionPersister :: < SenderSessionEvent > :: default ( ) ;
200182
201183 let sender = payjoin:: send:: v2:: SenderBuilder :: new ( original_psbt. clone ( ) , uri)
202- . build_recommended ( fee_rate)
203- . map_err ( |e| {
204- Error :: Generic ( format ! ( "Failed to build a Payjoin v2 sender: {e}" ) )
205- } ) ?
184+ . build_recommended ( fee_rate) ?
206185 . save ( & persister)
207186 . map_err ( |e| {
208187 Error :: Generic ( format ! (
@@ -310,14 +289,7 @@ impl<'a> PayjoinManager<'a> {
310289 ) -> Result < ( ) , Error > {
311290 let mut current_receiver_typestate = receiver;
312291 let next_receiver_typestate = loop {
313- let ( req, context) = current_receiver_typestate
314- . create_poll_request ( relay. as_str ( ) )
315- . map_err ( |e| {
316- Error :: Generic ( format ! (
317- "Failed to create a poll request to read from the Payjoin directory: {e}"
318- ) )
319- } ) ?;
320- println ! ( "Polling receive request..." ) ;
292+ let ( req, context) = current_receiver_typestate. create_poll_request ( relay. as_str ( ) ) ?;
321293 let response = self . send_payjoin_post_request ( req) . await ?;
322294 let state_transition = current_receiver_typestate
323295 . process_response ( response. bytes ( ) . await ?. to_vec ( ) . as_slice ( ) , context)
@@ -503,18 +475,10 @@ impl<'a> PayjoinManager<'a> {
503475 . expect ( "Failed to create InputPair when contributing outputs to the proposal" )
504476 } )
505477 . collect ( ) ;
506- let selected_input = receiver
507- . try_preserving_privacy ( candidate_inputs)
508- . map_err ( |e| {
509- Error :: Generic ( format ! (
510- "Error occurred when trying to pick an unspent UTXO for input contribution: {e}"
511- ) )
512- } ) ?;
478+ let selected_input = receiver. try_preserving_privacy ( candidate_inputs) ?;
513479
514- let next_receiver_typestate = receiver. contribute_inputs ( vec ! [ selected_input] )
515- . map_err ( |e| {
516- Error :: Generic ( format ! ( "Error occurred when contributing the selected input to the proposal: {e}" ) )
517- } ) ?. commit_inputs ( ) . save ( persister)
480+ let next_receiver_typestate = receiver. contribute_inputs ( vec ! [ selected_input] ) ?
481+ . commit_inputs ( ) . save ( persister)
518482 . map_err ( |e| {
519483 Error :: Generic ( format ! ( "Error occurred when saving after committing to the inputs after receiver contribution: {e}" ) )
520484 } ) ?;
@@ -777,11 +741,7 @@ impl<'a> PayjoinManager<'a> {
777741 persister : & impl SessionPersister < SessionEvent = SenderSessionEvent > ,
778742 blockchain_client : & BlockchainClient ,
779743 ) -> Result < Txid , Error > {
780- let ( req, ctx) = sender. create_v2_post_request ( relay. as_str ( ) ) . map_err ( |e| {
781- Error :: Generic ( format ! (
782- "Failed to create a post request for a Payjoin send: {e}"
783- ) )
784- } ) ?;
744+ let ( req, ctx) = sender. create_v2_post_request ( relay. as_str ( ) ) ?;
785745 let response = self . send_payjoin_post_request ( req) . await ?;
786746 let sender = sender
787747 . process_response ( & response. bytes ( ) . await ?, ctx)
@@ -802,11 +762,7 @@ impl<'a> PayjoinManager<'a> {
802762 ) -> Result < Txid , Error > {
803763 let mut sender = sender. clone ( ) ;
804764 loop {
805- let ( req, ctx) = sender. create_poll_request ( relay. as_str ( ) ) . map_err ( |e| {
806- Error :: Generic ( format ! (
807- "Failed to create a poll request during a Payjoin send: {e}"
808- ) )
809- } ) ?;
765+ let ( req, ctx) = sender. create_poll_request ( relay. as_str ( ) ) ?;
810766 let response = self . send_payjoin_post_request ( req) . await ?;
811767 let processed_response = sender
812768 . process_response ( & response. bytes ( ) . await ?, ctx)
0 commit comments