@@ -53,7 +53,11 @@ use ldk_server_grpc::endpoints::{
5353 UNIFIED_SEND_PATH , UPDATE_CHANNEL_CONFIG_PATH , VERIFY_SIGNATURE_PATH ,
5454} ;
5555use ldk_server_grpc:: events:: EventEnvelope ;
56- use ldk_server_grpc:: grpc:: { decode_grpc_body, encode_grpc_frame, percent_decode} ;
56+ use ldk_server_grpc:: grpc:: {
57+ decode_grpc_body, encode_grpc_frame, percent_decode, GRPC_STATUS_FAILED_PRECONDITION ,
58+ GRPC_STATUS_INTERNAL , GRPC_STATUS_INVALID_ARGUMENT , GRPC_STATUS_OK ,
59+ GRPC_STATUS_UNAUTHENTICATED , GRPC_STATUS_UNAVAILABLE ,
60+ } ;
5761use prost:: Message ;
5862use reqwest:: { header:: HeaderMap , Certificate , Client } ;
5963use rustls:: { ClientConfig , RootCertStore } ;
@@ -506,18 +510,18 @@ impl LdkServerClient {
506510/// Map a gRPC status code to an LdkServerError.
507511fn grpc_code_to_error ( code : u32 , message : String ) -> LdkServerError {
508512 match code {
509- 3 => LdkServerError :: new ( InvalidRequestError , message) , // INVALID_ARGUMENT
510- 9 => LdkServerError :: new ( LightningError , message) , // FAILED_PRECONDITION
511- 13 => LdkServerError :: new ( InternalServerError , message) , // INTERNAL
512- 14 => LdkServerError :: new (
513+ GRPC_STATUS_INVALID_ARGUMENT => LdkServerError :: new ( InvalidRequestError , message) ,
514+ GRPC_STATUS_FAILED_PRECONDITION => LdkServerError :: new ( LightningError , message) ,
515+ GRPC_STATUS_INTERNAL => LdkServerError :: new ( InternalServerError , message) ,
516+ GRPC_STATUS_UNAVAILABLE => LdkServerError :: new (
513517 InternalError ,
514518 if message. is_empty ( ) {
515519 "gRPC stream became unavailable" . to_string ( )
516520 } else {
517521 format ! ( "gRPC stream became unavailable: {message}" )
518522 } ,
519523 ) ,
520- 16 => LdkServerError :: new ( AuthError , message) , // UNAUTHENTICATED
524+ GRPC_STATUS_UNAUTHENTICATED => LdkServerError :: new ( AuthError , message) ,
521525 _ => LdkServerError :: new (
522526 InternalError ,
523527 if message. is_empty ( ) {
@@ -531,7 +535,7 @@ fn grpc_code_to_error(code: u32, message: String) -> LdkServerError {
531535
532536fn grpc_error_from_headers ( headers : & HeaderMap ) -> Option < LdkServerError > {
533537 let code = headers. get ( "grpc-status" ) ?. to_str ( ) . ok ( ) ?. parse :: < u32 > ( ) . ok ( ) ?;
534- if code == 0 {
538+ if code == GRPC_STATUS_OK {
535539 return None ;
536540 }
537541
@@ -680,7 +684,7 @@ mod tests {
680684
681685 #[ test]
682686 fn test_grpc_code_to_error_marks_unavailable_streams ( ) {
683- let err = grpc_code_to_error ( 14 , "server shutting down" . to_string ( ) ) ;
687+ let err = grpc_code_to_error ( GRPC_STATUS_UNAVAILABLE , "server shutting down" . to_string ( ) ) ;
684688 assert_eq ! ( err. error_code, InternalError ) ;
685689 assert_eq ! ( err. message, "gRPC stream became unavailable: server shutting down" ) ;
686690 }
@@ -710,10 +714,10 @@ mod tests {
710714 #[ test]
711715 fn test_grpc_code_to_error_all_known_codes ( ) {
712716 let cases = [
713- ( 3u32 , InvalidRequestError , "msg" ) ,
714- ( 16 , AuthError , "msg" ) ,
715- ( 9 , LightningError , "msg" ) ,
716- ( 13 , InternalServerError , "msg" ) ,
717+ ( GRPC_STATUS_INVALID_ARGUMENT , InvalidRequestError , "msg" ) ,
718+ ( GRPC_STATUS_UNAUTHENTICATED , AuthError , "msg" ) ,
719+ ( GRPC_STATUS_FAILED_PRECONDITION , LightningError , "msg" ) ,
720+ ( GRPC_STATUS_INTERNAL , InternalServerError , "msg" ) ,
717721 ] ;
718722 for ( code, expected_error_code, msg) in cases {
719723 let err = grpc_code_to_error ( code, msg. to_string ( ) ) ;
0 commit comments