@@ -651,6 +651,48 @@ proxy_stat proxy_handle_sign_invoice(
651651 }
652652}
653653
654+ proxy_stat proxy_handle_sign_message (
655+ u8 *msg,
656+ secp256k1_ecdsa_recoverable_signature *o_sig)
657+ {
658+ status_debug (
659+ " %s:%d %s self_id=%s msg=%s" ,
660+ __FILE__, __LINE__, __FUNCTION__,
661+ dump_node_id (&self_id).c_str (),
662+ dump_hex (msg, tal_count (msg)).c_str ()
663+ );
664+
665+ last_message = " " ;
666+ SignMessageRequest req;
667+ req.set_message (msg, tal_count (msg));
668+
669+ ClientContext context;
670+ SignMessageReply rsp;
671+ Status status = stub->SignMessage (&context, req, &rsp);
672+ if (status.ok ()) {
673+ // FIXME - UNCOMMENT WHEN SERVER IMPLEMENTS:
674+ #if 0
675+ output_ecdsa_recoverable_signature(rsp.signature(), o_sig);
676+ #else
677+ memset (o_sig, ' \0 ' , sizeof (*o_sig));
678+ #endif
679+ status_debug (" %s:%d %s self_id=%s sig=%s" ,
680+ __FILE__, __LINE__, __FUNCTION__,
681+ dump_node_id (&self_id).c_str (),
682+ dump_secp256k1_ecdsa_recoverable_signature (
683+ o_sig).c_str ());
684+ last_message = " success" ;
685+ return PROXY_OK;
686+ } else {
687+ status_unusual (" %s:%d %s: self_id=%s %s" ,
688+ __FILE__, __LINE__, __FUNCTION__,
689+ dump_node_id (&self_id).c_str (),
690+ status.error_message ().c_str ());
691+ last_message = status.error_message ();
692+ return map_status (status);
693+ }
694+ }
695+
654696proxy_stat proxy_handle_channel_update_sig (
655697 struct bitcoin_blkid *chain_hash,
656698 struct short_channel_id *scid,
0 commit comments