diff --git a/lightningd/channel/channel_wire.csv b/lightningd/channel/channel_wire.csv index 25d71a8de..86abd987e 100644 --- a/lightningd/channel/channel_wire.csv +++ b/lightningd/channel/channel_wire.csv @@ -19,103 +19,103 @@ channel_normal_operation,1001 # Begin! You're still waiting for the tx to be buried though (passes # gossipd-client fd) channel_init,1 -channel_init,0,funding_txid,struct sha256_double -channel_init,32,funding_txout,2 -channel_init,34,our_config,struct channel_config -channel_init,70,their_config,struct channel_config -channel_init,106,first_commit_sig,secp256k1_ecdsa_signature -channel_init,166,crypto_state,struct crypto_state -channel_init,310,remote_fundingkey,33 -channel_init,343,revocation_basepoint,33 -channel_init,376,payment_basepoint,33 -channel_init,409,delayed_payment_basepoint,33 -channel_init,442,their_per_commit_point,33 -channel_init,475,am_funder,bool -channel_init,476,fee_base,4 -channel_init,480,fee_proportional,4 -channel_init,484,funding_satoshi,8 -channel_init,492,push_msat,8 -channel_init,500,seed,struct privkey -channel_init,533,local_node_id,struct pubkey -channel_init,566,remote_node_id,struct pubkey -channel_init,599,commit_msec,4 -channel_init,603,cltv_delta,u16 -channel_init,605,init_peer_pkt_len,u16 -channel_init,607,init_peer_pkt,init_peer_pkt_len*u8 +channel_init,,funding_txid,struct sha256_double +channel_init,,funding_txout,2 +channel_init,,our_config,struct channel_config +channel_init,,their_config,struct channel_config +channel_init,,first_commit_sig,secp256k1_ecdsa_signature +channel_init,,crypto_state,struct crypto_state +channel_init,,remote_fundingkey,33 +channel_init,,revocation_basepoint,33 +channel_init,,payment_basepoint,33 +channel_init,,delayed_payment_basepoint,33 +channel_init,,their_per_commit_point,33 +channel_init,,am_funder,bool +channel_init,,fee_base,4 +channel_init,,fee_proportional,4 +channel_init,,funding_satoshi,8 +channel_init,,push_msat,8 +channel_init,,seed,struct privkey +channel_init,,local_node_id,struct pubkey +channel_init,,remote_node_id,struct pubkey +channel_init,,commit_msec,4 +channel_init,,cltv_delta,u16 +channel_init,,init_peer_pkt_len,u16 +channel_init,,init_peer_pkt,init_peer_pkt_len*u8 # Tx is deep enough, go! channel_funding_locked,2 -channel_funding_locked,0,short_channel_id,struct short_channel_id +channel_funding_locked,,short_channel_id,struct short_channel_id # Tell the channel that we may announce the channel's existence channel_funding_announce_depth,3 # Tell channel to offer this htlc channel_offer_htlc,4 -channel_offer_htlc,0,amount_msat,4 -channel_offer_htlc,0,cltv_expiry,4 -channel_offer_htlc,0,payment_hash,32 -channel_offer_htlc,0,onion_routing_packet,1366*u8 +channel_offer_htlc,,amount_msat,4 +channel_offer_htlc,,cltv_expiry,4 +channel_offer_htlc,,payment_hash,32 +channel_offer_htlc,,onion_routing_packet,1366*u8 # Reply; synchronous since IDs have to increment. channel_offer_htlc_reply,104 -channel_offer_htlc_reply,0,id,8 +channel_offer_htlc_reply,,id,8 # Zero failure code means success. -channel_offer_htlc_reply,0,failure_code,2 -channel_offer_htlc_reply,0,failurestrlen,2 -channel_offer_htlc_reply,0,failurestr,failurestrlen*u8 +channel_offer_htlc_reply,,failure_code,2 +channel_offer_htlc_reply,,failurestrlen,2 +channel_offer_htlc_reply,,failurestr,failurestrlen*u8 # Main daemon found out the preimage for an htlc #include channel_fulfill_htlc,5 -channel_fulfill_htlc,0,id,8 -channel_fulfill_htlc,0,payment_preimage,struct preimage +channel_fulfill_htlc,,id,8 +channel_fulfill_htlc,,payment_preimage,struct preimage # Main daemon says HTLC failed channel_fail_htlc,6 -channel_fail_htlc,0,id,8 -channel_fail_htlc,0,len,2 -channel_fail_htlc,0,error_pkt,len*u8 +channel_fail_htlc,,id,8 +channel_fail_htlc,,len,2 +channel_fail_htlc,,error_pkt,len*u8 # Peer and I are irrevocably committed to this HTLC. channel_accepted_htlc,7 -channel_accepted_htlc,0,id,8 -channel_accepted_htlc,0,amount_msat,4 -channel_accepted_htlc,0,cltv_expiry,4 -channel_accepted_htlc,0,payment_hash,32 -channel_accepted_htlc,0,next_onion,1366*u8 -channel_accepted_htlc,0,forward,bool -channel_accepted_htlc,0,amt_to_forward,u64 -channel_accepted_htlc,0,outgoing_cltv_value,u32 -channel_accepted_htlc,0,next_channel,struct short_channel_id -channel_accepted_htlc,0,shared_secret,struct secret +channel_accepted_htlc,,id,8 +channel_accepted_htlc,,amount_msat,4 +channel_accepted_htlc,,cltv_expiry,4 +channel_accepted_htlc,,payment_hash,32 +channel_accepted_htlc,,next_onion,1366*u8 +channel_accepted_htlc,,forward,bool +channel_accepted_htlc,,amt_to_forward,u64 +channel_accepted_htlc,,outgoing_cltv_value,u32 +channel_accepted_htlc,,next_channel,struct short_channel_id +channel_accepted_htlc,,shared_secret,struct secret # FIXME: Add code to commit current channel state! # The HTLC preimage was given. channel_fulfilled_htlc,8 -channel_fulfilled_htlc,0,id,8 -channel_fulfilled_htlc,0,payment_preimage,struct preimage +channel_fulfilled_htlc,,id,8 +channel_fulfilled_htlc,,payment_preimage,struct preimage # This HTLC failed channel_failed_htlc,9 -channel_failed_htlc,0,id,8 -channel_failed_htlc,0,len,2 -channel_failed_htlc,0,reason,len*u8 +channel_failed_htlc,,id,8 +channel_failed_htlc,,len,2 +channel_failed_htlc,,reason,len*u8 # This HTLC was returned malformed channel_malformed_htlc,10 -channel_malformed_htlc,0,id,8 -channel_malformed_htlc,0,sha256_of_onion,32 -channel_malformed_htlc,0,failure_code,2 +channel_malformed_htlc,,id,8 +channel_malformed_htlc,,sha256_of_onion,32 +channel_malformed_htlc,,failure_code,2 # Ping/pong test. channel_ping,11 -channel_ping,0,num_pong_bytes,u16 -channel_ping,0,len,u16 +channel_ping,,num_pong_bytes,u16 +channel_ping,,len,u16 channel_ping_reply,111 -channel_ping_reply,0,totlen,u16 +channel_ping_reply,,totlen,u16 # Channeld tells the master that the channel has been announced channel_announced,12 diff --git a/lightningd/gossip/gossip_wire.csv b/lightningd/gossip/gossip_wire.csv index 60f6cbd0a..7949f1aed 100644 --- a/lightningd/gossip/gossip_wire.csv +++ b/lightningd/gossip/gossip_wire.csv @@ -8,100 +8,100 @@ gossipstatus_fdpass_failed,0x8005 # Peers can give a bad message, we close their fd, but no harm done. gossipstatus_peer_bad_msg,1000 -gossipstatus_peer_bad_msg,0,unique_id,8 -gossipstatus_peer_bad_msg,8,len,2 -gossipstatus_peer_bad_msg,10,err,len*u8 +gossipstatus_peer_bad_msg,,unique_id,8 +gossipstatus_peer_bad_msg,,len,2 +gossipstatus_peer_bad_msg,,err,len*u8 # Misc problems like opening control fd. gossipstatus_peer_failed,1001 -gossipstatus_peer_failed,0,unique_id,8 -gossipstatus_peer_failed,8,len,2 -gossipstatus_peer_failed,10,err,len*u8 +gossipstatus_peer_failed,,unique_id,8 +gossipstatus_peer_failed,,len,2 +gossipstatus_peer_failed,,err,len*u8 #include # Initialize the gossip daemon gossipctl_init,0 -gossipctl_init,0,broadcast_interval,4 +gossipctl_init,,broadcast_interval,4 # These take an fd, but have no response # (if it is to move onto a channel, we get a status msg). gossipctl_new_peer,1 -gossipctl_new_peer,0,unique_id,8 -gossipctl_new_peer,8,crypto_state,struct crypto_state +gossipctl_new_peer,,unique_id,8 +gossipctl_new_peer,,crypto_state,struct crypto_state # Tell it to release a peer which has initialized. gossipctl_release_peer,2 -gossipctl_release_peer,0,unique_id,8 +gossipctl_release_peer,,unique_id,8 # This releases the peer and returns the cryptostate (followed two fds: peer and gossip) gossipctl_release_peer_reply,102 -gossipctl_release_peer_reply,0,unique_id,8 -gossipctl_release_peer_reply,8,crypto_state,struct crypto_state +gossipctl_release_peer_reply,,unique_id,8 +gossipctl_release_peer_reply,,crypto_state,struct crypto_state # This is where we save a peer's features. #gossipstatus_peer_features,1 -#gossipstatus_peer_features,0,unique_id,8 -#gossipstatus_peer_features,8,gflen,2 -#gossipstatus_peer_features,10,globalfeatures,gflen -#gossipstatus_peer_features,10+gflen,lflen,2 -#gossipstatus_peer_features,12+gflen,localfeatures,lflen +#gossipstatus_peer_features,,unique_id,8 +#gossipstatus_peer_features,,gflen,2 +#gossipstatus_peer_features,,globalfeatures,gflen +#gossipstatus_peer_features,,lflen,2 +#gossipstatus_peer_features,,localfeatures,lflen # Peer can send non-gossip packet (usually an open_channel) (followed two fds: peer and gossip) gossipstatus_peer_nongossip,4 -gossipstatus_peer_nongossip,0,unique_id,8 -gossipstatus_peer_nongossip,10,crypto_state,struct crypto_state -gossipstatus_peer_nongossip,154,len,2 -gossipstatus_peer_nongossip,156,msg,len*u8 +gossipstatus_peer_nongossip,,unique_id,8 +gossipstatus_peer_nongossip,,crypto_state,struct crypto_state +gossipstatus_peer_nongossip,,len,2 +gossipstatus_peer_nongossip,,msg,len*u8 # Pass JSON-RPC getnodes call through gossip_getnodes_request,5 #include gossip_getnodes_reply,105 -gossip_getnodes_reply,0,num_nodes,u16 -gossip_getnodes_reply,2,nodes,num_nodes*struct gossip_getnodes_entry +gossip_getnodes_reply,,num_nodes,u16 +gossip_getnodes_reply,,nodes,num_nodes*struct gossip_getnodes_entry # Pass JSON-RPC getroute call through gossip_getroute_request,6 -gossip_getroute_request,0,source,struct pubkey -gossip_getroute_request,33,destination,struct pubkey -gossip_getroute_request,66,msatoshi,u32 -gossip_getroute_request,70,riskfactor,u16 +gossip_getroute_request,,source,struct pubkey +gossip_getroute_request,,destination,struct pubkey +gossip_getroute_request,,msatoshi,u32 +gossip_getroute_request,,riskfactor,u16 gossip_getroute_reply,106 -gossip_getroute_reply,0,num_hops,u16 -gossip_getroute_reply,2,hops,num_hops*struct route_hop +gossip_getroute_reply,,num_hops,u16 +gossip_getroute_reply,,hops,num_hops*struct route_hop gossip_getchannels_request,7 gossip_getchannels_reply,107 -gossip_getchannels_reply,0,num_channels,u16 -gossip_getchannels_reply,2,nodes,num_channels*struct gossip_getchannels_entry +gossip_getchannels_reply,,num_channels,u16 +gossip_getchannels_reply,,nodes,num_channels*struct gossip_getchannels_entry # Ping/pong test. gossip_ping,8 -gossip_ping,0,unique_id,u64 -gossip_ping,0,num_pong_bytes,u16 -gossip_ping,0,len,u16 +gossip_ping,,unique_id,u64 +gossip_ping,,num_pong_bytes,u16 +gossip_ping,,len,u16 gossip_ping_reply,108 -gossip_ping_reply,0,totlen,u16 +gossip_ping_reply,,totlen,u16 # Given a short_channel_id, return the endpoints gossip_resolve_channel_request,9 -gossip_resolve_channel_request,0,channel_id,struct short_channel_id +gossip_resolve_channel_request,,channel_id,struct short_channel_id gossip_resolve_channel_reply,109 -gossip_resolve_channel_reply,0,num_keys,u16 -gossip_resolve_channel_reply,0,keys,num_keys*struct pubkey +gossip_resolve_channel_reply,,num_keys,u16 +gossip_resolve_channel_reply,,keys,num_keys*struct pubkey # The main daemon forward some gossip message to gossipd, allows injecting # arbitrary gossip messages. gossip_forwarded_msg,10 -gossip_forwarded_msg,0,msglen,2 -gossip_forwarded_msg,2,msg,msglen +gossip_forwarded_msg,,msglen,2 +gossip_forwarded_msg,,msg,msglen # If peer is still connected, fail it (master does this for reconnect) gossipctl_fail_peer,11 -gossipctl_fail_peer,0,unique_id,8 +gossipctl_fail_peer,,unique_id,8 diff --git a/lightningd/handshake/handshake_wire.csv b/lightningd/handshake/handshake_wire.csv index c8b3100b0..00aa3fc15 100644 --- a/lightningd/handshake/handshake_wire.csv +++ b/lightningd/handshake/handshake_wire.csv @@ -35,22 +35,22 @@ respr_act_three,1013 success,0 handshake_responder,1 -handshake_responder,1,my_id,33 +handshake_responder,,my_id,33 handshake_responder_reply,101 -handshake_responder_reply,0,initiator_id,33 -handshake_responder_reply,33,cs,struct crypto_state -handshake_responder_reply,0,gflen,2 -handshake_responder_reply,0,globalfeatures,gflen -handshake_responder_reply,0,lflen,2 -handshake_responder_reply,0,localfeatures,lflen +handshake_responder_reply,,initiator_id,33 +handshake_responder_reply,,cs,struct crypto_state +handshake_responder_reply,,gflen,2 +handshake_responder_reply,,globalfeatures,gflen +handshake_responder_reply,,lflen,2 +handshake_responder_reply,,localfeatures,lflen handshake_initiator,2 -handshake_initiator,0,my_id,33 -handshake_initiator,33,responder_id,33 +handshake_initiator,,my_id,33 +handshake_initiator,,responder_id,33 handshake_initiator_reply,102 -handshake_initiator_reply,0,cs,struct crypto_state -handshake_initiator_reply,0,gflen,2 -handshake_initiator_reply,0,globalfeatures,gflen -handshake_initiator_reply,0,lflen,2 -handshake_initiator_reply,0,localfeatures,lflen +handshake_initiator_reply,,cs,struct crypto_state +handshake_initiator_reply,,gflen,2 +handshake_initiator_reply,,globalfeatures,gflen +handshake_initiator_reply,,lflen,2 +handshake_initiator_reply,,localfeatures,lflen diff --git a/lightningd/hsm/hsm_client_wire_csv b/lightningd/hsm/hsm_client_wire_csv index 66291be3d..372b9d8c1 100644 --- a/lightningd/hsm/hsm_client_wire_csv +++ b/lightningd/hsm/hsm_client_wire_csv @@ -1,21 +1,21 @@ # Give me ECDH(node-id-secret,point) hsm_ecdh_req,1 -hsm_ecdh_req,0,point,struct pubkey +hsm_ecdh_req,,point,struct pubkey hsm_ecdh_resp,100 -hsm_ecdh_resp,0,ss,struct secret +hsm_ecdh_resp,,ss,struct secret hsm_cannouncement_sig_req,2 -hsm_cannouncement_sig_req,0,bitcoin_id,struct pubkey -hsm_cannouncement_sig_req,33,calen,u16 -hsm_cannouncement_sig_req,35,ca,calen +hsm_cannouncement_sig_req,,bitcoin_id,struct pubkey +hsm_cannouncement_sig_req,,calen,u16 +hsm_cannouncement_sig_req,,ca,calen hsm_cannouncement_sig_reply,102 -hsm_cannouncement_sig_reply,0,node_signature,64 +hsm_cannouncement_sig_reply,,node_signature,64 hsm_cupdate_sig_req,3 -hsm_cupdate_sig_req,0,culen,u16 -hsm_cupdate_sig_req,2,cu,culen +hsm_cupdate_sig_req,,culen,u16 +hsm_cupdate_sig_req,,cu,culen hsm_cupdate_sig_reply,103 -hsm_cupdate_sig_reply,0,culen,u16 -hsm_cupdate_sig_reply,2,cu,culen +hsm_cupdate_sig_reply,,culen,u16 +hsm_cupdate_sig_reply,,cu,culen diff --git a/lightningd/hsm/hsm_wire.csv b/lightningd/hsm/hsm_wire.csv index 5f646e584..39ec964eb 100644 --- a/lightningd/hsm/hsm_wire.csv +++ b/lightningd/hsm/hsm_wire.csv @@ -7,23 +7,23 @@ hsmstatus_key_failed,0x8004 # Clients should not give a bad request but not the HSM's decision to crash. hsmstatus_client_bad_request,1000 -hsmstatus_client_bad_request,0,unique_id,8 -hsmstatus_client_bad_request,8,len,2 -hsmstatus_client_bad_request,10,msg,len*u8 +hsmstatus_client_bad_request,,unique_id,8 +hsmstatus_client_bad_request,,len,2 +hsmstatus_client_bad_request,,msg,len*u8 # Start the HSM. hsmctl_init,1 -hsmctl_init,0,new,bool +hsmctl_init,,new,bool hsmctl_init_reply,101 -hsmctl_init_reply,0,node_id,33 -hsmctl_init_reply,33,peer_seed,struct secret -hsmctl_init_reply,65,bip32_len,2 -hsmctl_init_reply,67,bip32_seed,bip32_len*u8 +hsmctl_init_reply,,node_id,33 +hsmctl_init_reply,,peer_seed,struct secret +hsmctl_init_reply,,bip32_len,2 +hsmctl_init_reply,,bip32_seed,bip32_len*u8 # ECDH returns an fd. hsmctl_hsmfd_ecdh,3 -hsmctl_hsmfd_ecdh,0,unique_id,8 +hsmctl_hsmfd_ecdh,,unique_id,8 # No contents, just an fd. hsmctl_hsmfd_ecdh_fd_reply,103 @@ -32,29 +32,29 @@ hsmctl_hsmfd_ecdh_fd_reply,103 #include # FIXME: This should also take their commit sig & details, to verify. hsmctl_sign_funding,4 -hsmctl_sign_funding,0,satoshi_out,8 -hsmctl_sign_funding,8,change_out,8 -hsmctl_sign_funding,16,change_keyindex,4 -hsmctl_sign_funding,20,our_pubkey,33 -hsmctl_sign_funding,52,their_pubkey,33 -hsmctl_sign_funding,85,num_inputs,2 -hsmctl_sign_funding,87,inputs,num_inputs*struct utxo +hsmctl_sign_funding,,satoshi_out,8 +hsmctl_sign_funding,,change_out,8 +hsmctl_sign_funding,,change_keyindex,4 +hsmctl_sign_funding,,our_pubkey,33 +hsmctl_sign_funding,,their_pubkey,33 +hsmctl_sign_funding,,num_inputs,2 +hsmctl_sign_funding,,inputs,num_inputs*struct utxo hsmctl_sign_funding_reply,104 -hsmctl_sign_funding_reply,0,num_sigs,2 -hsmctl_sign_funding_reply,0,sig,num_sigs*secp256k1_ecdsa_signature +hsmctl_sign_funding_reply,,num_sigs,2 +hsmctl_sign_funding_reply,,sig,num_sigs*secp256k1_ecdsa_signature # Request a client socket for a `channeld`, allows signing announcements hsmctl_hsmfd_channeld,5 -hsmctl_hsmfd_channeld,0,unique_id,8 +hsmctl_hsmfd_channeld,,unique_id,8 # Empty reply, just an fd hsmctl_hsmfd_channeld_reply,105 # Master asks the HSM to sign a node_announcement hsmctl_node_announcement_sig_req,6 -hsmctl_node_announcement_sig_req,0,annlen,2 -hsmctl_node_announcement_sig_req,2,announcement,annlen*u8 +hsmctl_node_announcement_sig_req,,annlen,2 +hsmctl_node_announcement_sig_req,,announcement,annlen*u8 hsmctl_node_announcement_sig_reply,106 -hsmctl_node_announcement_sig_reply,0,signature,secp256k1_ecdsa_signature +hsmctl_node_announcement_sig_reply,,signature,secp256k1_ecdsa_signature diff --git a/lightningd/opening/opening_wire.csv b/lightningd/opening/opening_wire.csv index 3b346ebc3..b3ed6fe3c 100644 --- a/lightningd/opening/opening_wire.csv +++ b/lightningd/opening/opening_wire.csv @@ -15,63 +15,63 @@ opening_peer_bad_initial_message,0x8014 #include opening_init,0 # Base configuration we'll offer (channel reserve will vary with amount) -opening_init,0,our_config,struct channel_config +opening_init,,our_config,struct channel_config # Minimum/maximum configuration values we'll accept -opening_init,36,max_to_self_delay,4 -opening_init,40,min_effective_htlc_capacity_msat,8 -opening_init,48,crypto_state,struct crypto_state +opening_init,,max_to_self_delay,4 +opening_init,,min_effective_htlc_capacity_msat,8 +opening_init,,crypto_state,struct crypto_state # Seed to generate all the keys from -opening_init,196,seed,struct privkey +opening_init,,seed,struct privkey # This means we offer the open. opening_funder,1 -opening_funder,0,funding_satoshis,8 -opening_funder,8,push_msat,8 -opening_funder,16,feerate_per_kw,4 -opening_funder,20,max_minimum_depth,4 -opening_funder,24,change_satoshis,u64 -opening_funder,32,change_keyindex,u32 +opening_funder,,funding_satoshis,8 +opening_funder,,push_msat,8 +opening_funder,,feerate_per_kw,4 +opening_funder,,max_minimum_depth,4 +opening_funder,,change_satoshis,u64 +opening_funder,,change_keyindex,u32 #include -opening_funder,0,num_inputs,u16 -opening_funder,0,inputs,num_inputs*struct utxo -opening_funder,0,bip32_len,u16 -opening_funder,0,bip32_seed,bip32_len*u8 +opening_funder,,num_inputs,u16 +opening_funder,,inputs,num_inputs*struct utxo +opening_funder,,bip32_len,u16 +opening_funder,,bip32_seed,bip32_len*u8 # This gives their sig, means we can broadcast tx: we're done. opening_funder_reply,101 -opening_funder_reply,0,their_config,struct channel_config -opening_funder_reply,36,first_commit_sig,secp256k1_ecdsa_signature -opening_funder_reply,100,crypto_state,struct crypto_state -opening_funder_reply,244,revocation_basepoint,33 -opening_funder_reply,277,payment_basepoint,33 -opening_funder_reply,310,delayed_payment_basepoint,33 -opening_funder_reply,343,their_per_commit_point,33 -opening_funder_reply,376,minimum_depth,4 -opening_funder_reply,0,remote_fundingkey,33 -opening_funder_reply,0,funding_txid,struct sha256_double +opening_funder_reply,,their_config,struct channel_config +opening_funder_reply,,first_commit_sig,secp256k1_ecdsa_signature +opening_funder_reply,,crypto_state,struct crypto_state +opening_funder_reply,,revocation_basepoint,33 +opening_funder_reply,,payment_basepoint,33 +opening_funder_reply,,delayed_payment_basepoint,33 +opening_funder_reply,,their_per_commit_point,33 +opening_funder_reply,,minimum_depth,4 +opening_funder_reply,,remote_fundingkey,33 +opening_funder_reply,,funding_txid,struct sha256_double # This means they offer the open (contains their offer packet) opening_fundee,3 -opening_fundee,0,minimum_depth,4 -opening_fundee,0,min_feerate,4 -opening_fundee,4,max_feerate,4 -opening_fundee,8,len,2 -opening_fundee,10,msg,len*u8 +opening_fundee,,minimum_depth,4 +opening_fundee,,min_feerate,4 +opening_fundee,,max_feerate,4 +opening_fundee,,len,2 +opening_fundee,,msg,len*u8 # This gives their txid and info, means we can send funding_signed: we're done. opening_fundee_reply,103 -opening_fundee_reply,0,their_config,struct channel_config -opening_fundee_reply,36,first_commit_sig,secp256k1_ecdsa_signature -opening_fundee_reply,100,crypto_state,struct crypto_state -opening_fundee_reply,244,revocation_basepoint,33 -opening_fundee_reply,277,payment_basepoint,33 -opening_fundee_reply,310,delayed_payment_basepoint,33 -opening_fundee_reply,343,their_per_commit_point,33 -opening_fundee_reply,0,remote_fundingkey,33 -opening_fundee_reply,0,funding_txid,struct sha256_double -opening_fundee_reply,0,funding_txout,u16 -opening_fundee_reply,0,funding_satoshis,8 -opening_fundee_reply,0,push_msat,8 +opening_fundee_reply,,their_config,struct channel_config +opening_fundee_reply,,first_commit_sig,secp256k1_ecdsa_signature +opening_fundee_reply,,crypto_state,struct crypto_state +opening_fundee_reply,,revocation_basepoint,33 +opening_fundee_reply,,payment_basepoint,33 +opening_fundee_reply,,delayed_payment_basepoint,33 +opening_fundee_reply,,their_per_commit_point,33 +opening_fundee_reply,,remote_fundingkey,33 +opening_fundee_reply,,funding_txid,struct sha256_double +opening_fundee_reply,,funding_txout,u16 +opening_fundee_reply,,funding_satoshis,8 +opening_fundee_reply,,push_msat,8 # The (encrypted) funding signed message: send this and we're committed. -opening_fundee_reply,0,msglen,u16 -opening_fundee_reply,0,funding_signed_msg,msglen*u8 +opening_fundee_reply,,msglen,u16 +opening_fundee_reply,,funding_signed_msg,msglen*u8