@@ -281,10 +281,26 @@ static void peer_update_complete(struct peer *peer)
281281
282282void peer_open_complete (struct peer * peer , const char * problem )
283283{
284- if (problem )
284+ if (problem ) {
285285 log_unusual (peer -> log , "peer open failed: %s" , problem );
286- else
286+ if (peer -> open_jsoncmd ) {
287+ command_fail (peer -> open_jsoncmd , "%s" , problem );
288+ peer -> open_jsoncmd = NULL ;
289+ }
290+ } else {
287291 log_debug (peer -> log , "peer open complete" );
292+ if (peer -> open_jsoncmd ) {
293+ struct json_result * response ;
294+ response = new_json_result (peer -> open_jsoncmd );
295+
296+ json_object_start (response , NULL );
297+ json_add_pubkey (response , peer -> dstate -> secpctx ,
298+ "id" , peer -> id );
299+ json_object_end (response );
300+ command_success (peer -> open_jsoncmd , response );
301+ peer -> open_jsoncmd = NULL ;
302+ }
303+ }
288304}
289305
290306static void set_peer_state (struct peer * peer , enum state newstate ,
@@ -2354,6 +2370,7 @@ struct peer *new_peer(struct lightningd_state *dstate,
23542370 peer -> secrets = NULL ;
23552371 list_head_init (& peer -> watches );
23562372 peer -> outpkt = tal_arr (peer , Pkt * , 0 );
2373+ peer -> open_jsoncmd = NULL ;
23572374 peer -> commit_jsoncmd = NULL ;
23582375 list_head_init (& peer -> outgoing_txs );
23592376 list_head_init (& peer -> their_commits );
@@ -2654,8 +2671,7 @@ static struct io_plan *crypto_on_out(struct io_conn *conn,
26542671 peer -> io_data = tal_steal (peer , iod );
26552672 peer -> id = tal_dup (peer , struct pubkey , id );
26562673 peer -> anchor .input = tal_steal (peer , connect -> input );
2657-
2658- command_success (connect -> cmd , null_response (connect ));
2674+ peer -> open_jsoncmd = connect -> cmd ;
26592675 return peer_crypto_on (conn , peer );
26602676}
26612677
@@ -2914,7 +2930,7 @@ const struct json_command connect_command = {
29142930 "connect" ,
29152931 json_connect ,
29162932 "Connect to a {host} at {port} using hex-encoded {tx} to fund" ,
2917- "Returns an empty result on success"
2933+ "Returns the {id} on success (once channel established) "
29182934};
29192935
29202936/* Have any of our HTLCs passed their deadline? */
0 commit comments