@@ -571,34 +571,27 @@ mod integration {
571
571
// Receive Check 1: Can Broadcast
572
572
let proposal = proposal. check_broadcast_suitability ( None , |tx| {
573
573
Ok ( receiver
574
- . test_mempool_accept ( & [ bitcoin:: consensus:: encode:: serialize_hex ( & tx) ] )
575
- . map_err ( ImplementationError :: from) ?
574
+ . test_mempool_accept ( & [ bitcoin:: consensus:: encode:: serialize_hex ( & tx) ] ) ?
576
575
. first ( )
577
576
. ok_or ( ImplementationError :: from ( "testmempoolaccept should return a result" ) ) ?
578
577
. allowed )
579
578
} ) ?;
580
579
581
580
// Receive Check 2: receiver can't sign for proposal inputs
582
581
let proposal = proposal. check_inputs_not_owned ( |input| {
583
- let address = bitcoin:: Address :: from_script ( input, bitcoin:: Network :: Regtest )
584
- . map_err ( ImplementationError :: from) ?;
585
- receiver
586
- . get_address_info ( & address)
587
- . map ( |info| info. is_mine . unwrap_or ( false ) )
588
- . map_err ( ImplementationError :: from)
582
+ let address = bitcoin:: Address :: from_script ( input, bitcoin:: Network :: Regtest ) ?;
583
+ Ok ( receiver. get_address_info ( & address) . map ( |info| info. is_mine . unwrap_or ( false ) ) ?)
589
584
} ) ?;
590
585
591
586
// Receive Check 3: have we seen this input before? More of a check for non-interactive i.e. payment processor receivers.
592
587
let payjoin = proposal
593
588
. check_no_inputs_seen_before ( |_| Ok ( false ) ) ?
594
589
. identify_receiver_outputs ( |output_script| {
595
590
let address =
596
- bitcoin:: Address :: from_script ( output_script, bitcoin:: Network :: Regtest )
597
- . map_err ( ImplementationError :: from) ?;
598
- receiver
591
+ bitcoin:: Address :: from_script ( output_script, bitcoin:: Network :: Regtest ) ?;
592
+ Ok ( receiver
599
593
. get_address_info ( & address)
600
- . map ( |info| info. is_mine . unwrap_or ( false ) )
601
- . map_err ( ImplementationError :: from)
594
+ . map ( |info| info. is_mine . unwrap_or ( false ) ) ?)
602
595
} ) ?;
603
596
604
597
let payjoin = payjoin. commit_outputs ( ) ;
@@ -626,7 +619,7 @@ mod integration {
626
619
// Sign and finalize the proposal PSBT
627
620
let payjoin = payjoin. finalize_proposal (
628
621
|psbt : & Psbt | {
629
- receiver
622
+ Ok ( receiver
630
623
. wallet_process_psbt (
631
624
& psbt. to_string ( ) ,
632
625
None ,
@@ -635,8 +628,7 @@ mod integration {
635
628
)
636
629
. map ( |res : WalletProcessPsbtResult | {
637
630
Psbt :: from_str ( & res. psbt ) . expect ( "psbt should be valid" )
638
- } )
639
- . map_err ( ImplementationError :: from)
631
+ } ) ?)
640
632
} ,
641
633
Some ( FeeRate :: BROADCAST_MIN ) ,
642
634
Some ( FeeRate :: from_sat_per_vb_unchecked ( 2 ) ) ,
@@ -915,34 +907,25 @@ mod integration {
915
907
// Receive Check 1: Can Broadcast
916
908
let proposal = proposal. check_broadcast_suitability ( None , |tx| {
917
909
Ok ( receiver
918
- . test_mempool_accept ( & [ bitcoin:: consensus:: encode:: serialize_hex ( & tx) ] )
919
- . map_err ( ImplementationError :: from) ?
910
+ . test_mempool_accept ( & [ bitcoin:: consensus:: encode:: serialize_hex ( & tx) ] ) ?
920
911
. first ( )
921
912
. ok_or ( ImplementationError :: from ( "testmempoolaccept should return a result" ) ) ?
922
913
. allowed )
923
914
} ) ?;
924
915
925
916
// Receive Check 2: receiver can't sign for proposal inputs
926
917
let proposal = proposal. check_inputs_not_owned ( |input| {
927
- let address = bitcoin:: Address :: from_script ( input, bitcoin:: Network :: Regtest )
928
- . map_err ( ImplementationError :: from) ?;
929
- receiver
930
- . get_address_info ( & address)
931
- . map ( |info| info. is_mine . unwrap_or ( false ) )
932
- . map_err ( ImplementationError :: from)
918
+ let address = bitcoin:: Address :: from_script ( input, bitcoin:: Network :: Regtest ) ?;
919
+ Ok ( receiver. get_address_info ( & address) . map ( |info| info. is_mine . unwrap_or ( false ) ) ?)
933
920
} ) ?;
934
921
935
922
// Receive Check 3: have we seen this input before? More of a check for non-interactive i.e. payment processor receivers.
936
923
let payjoin = proposal
937
924
. check_no_inputs_seen_before ( |_| Ok ( false ) ) ?
938
925
. identify_receiver_outputs ( |output_script| {
939
926
let address =
940
- bitcoin:: Address :: from_script ( output_script, bitcoin:: Network :: Regtest )
941
- . map_err ( ImplementationError :: from) ?;
942
- receiver
943
- . get_address_info ( & address)
944
- . map ( |info| info. is_mine . unwrap_or ( false ) )
945
- . map_err ( ImplementationError :: from)
927
+ bitcoin:: Address :: from_script ( output_script, bitcoin:: Network :: Regtest ) ?;
928
+ Ok ( receiver. get_address_info ( & address) . map ( |info| info. is_mine . unwrap_or ( false ) ) ?)
946
929
} ) ?;
947
930
948
931
let payjoin = match custom_outputs {
@@ -976,7 +959,7 @@ mod integration {
976
959
977
960
let payjoin_proposal = payjoin. finalize_proposal (
978
961
|psbt : & Psbt | {
979
- receiver
962
+ Ok ( receiver
980
963
. wallet_process_psbt (
981
964
& psbt. to_string ( ) ,
982
965
None ,
@@ -985,8 +968,7 @@ mod integration {
985
968
)
986
969
. map ( |res : WalletProcessPsbtResult | {
987
970
Psbt :: from_str ( & res. psbt ) . expect ( "psbt should be valid" )
988
- } )
989
- . map_err ( ImplementationError :: from)
971
+ } ) ?)
990
972
} ,
991
973
Some ( FeeRate :: BROADCAST_MIN ) ,
992
974
Some ( FeeRate :: from_sat_per_vb_unchecked ( 2 ) ) ,
0 commit comments