openingd: convert wire to new scheme.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell
2020-08-25 11:42:18 +09:30
parent dffbf8de85
commit 6d09c0eba9
5 changed files with 204 additions and 210 deletions

140
openingd/openingd_wire.csv Normal file
View File

@@ -0,0 +1,140 @@
#include <bitcoin/chainparams.h>
#include <common/cryptomsg.h>
#include <common/channel_config.h>
#include <common/channel_id.h>
#include <common/derive_basepoints.h>
#include <common/features.h>
#include <common/per_peer_state.h>
msgtype,openingd_init,6000
# Which network are we configured for?
msgdata,openingd_init,chainparams,chainparams,
msgdata,openingd_init,our_features,feature_set,
# Base configuration we'll offer (channel reserve will vary with amount)
msgdata,openingd_init,our_config,channel_config,
# Minimum/maximum configuration values we'll accept
msgdata,openingd_init,max_to_self_delay,u32,
msgdata,openingd_init,min_effective_htlc_capacity_msat,amount_msat,
msgdata,openingd_init,pps,per_peer_state,
msgdata,openingd_init,our_basepoints,basepoints,
msgdata,openingd_init,our_funding_pubkey,pubkey,
# Constraints in case the other end tries to open a channel.
msgdata,openingd_init,minimum_depth,u32,
msgdata,openingd_init,min_feerate,u32,
msgdata,openingd_init,max_feerate,u32,
msgdata,openingd_init,lfeatures_len,u16,
msgdata,openingd_init,lfeatures,u8,lfeatures_len
msgdata,openingd_init,option_static_remotekey,bool,
msgdata,openingd_init,option_anchor_outputs,bool,
# Optional msg to send.
msgdata,openingd_init,len,u16,
msgdata,openingd_init,msg,u8,len
msgdata,openingd_init,dev_temporary_channel_id,?byte,32
msgdata,openingd_init,dev_fast_gossip,bool,
# Openingd->master: they offered channel, should we continue?
msgtype,openingd_got_offer,6005
msgdata,openingd_got_offer,funding_satoshis,amount_sat,
msgdata,openingd_got_offer,push_msat,amount_msat,
msgdata,openingd_got_offer,dust_limit_satoshis,amount_sat,
msgdata,openingd_got_offer,max_htlc_value_in_flight_msat,amount_msat,
msgdata,openingd_got_offer,channel_reserve_satoshis,amount_sat,
msgdata,openingd_got_offer,htlc_minimum_msat,amount_msat,
msgdata,openingd_got_offer,feerate_per_kw,u32,
msgdata,openingd_got_offer,to_self_delay,u16,
msgdata,openingd_got_offer,max_accepted_htlcs,u16,
msgdata,openingd_got_offer,channel_flags,u8,
msgdata,openingd_got_offer,shutdown_len,u16,
msgdata,openingd_got_offer,shutdown_scriptpubkey,u8,shutdown_len
# master->openingd: optional rejection message
msgtype,openingd_got_offer_reply,6105
msgdata,openingd_got_offer_reply,rejection,?wirestring,
msgdata,openingd_got_offer_reply,shutdown_len,u16,
msgdata,openingd_got_offer_reply,our_shutdown_scriptpubkey,?u8,shutdown_len
#include <common/penalty_base.h>
# Openingd->master: we've successfully offered channel.
# This gives their sig, means we can broadcast tx: we're done.
msgtype,openingd_funder_reply,6101
msgdata,openingd_funder_reply,their_config,channel_config,
msgdata,openingd_funder_reply,first_commit,bitcoin_tx,
msgdata,openingd_funder_reply,pbase,?penalty_base,
msgdata,openingd_funder_reply,first_commit_sig,bitcoin_signature,
msgdata,openingd_funder_reply,pps,per_peer_state,
msgdata,openingd_funder_reply,revocation_basepoint,pubkey,
msgdata,openingd_funder_reply,payment_basepoint,pubkey,
msgdata,openingd_funder_reply,htlc_basepoint,pubkey,
msgdata,openingd_funder_reply,delayed_payment_basepoint,pubkey,
msgdata,openingd_funder_reply,their_per_commit_point,pubkey,
msgdata,openingd_funder_reply,minimum_depth,u32,
msgdata,openingd_funder_reply,remote_fundingkey,pubkey,
msgdata,openingd_funder_reply,funding_txid,bitcoin_txid,
msgdata,openingd_funder_reply,funding_txout,u16,
msgdata,openingd_funder_reply,feerate_per_kw,u32,
msgdata,openingd_funder_reply,our_channel_reserve_satoshis,amount_sat,
msgdata,openingd_funder_reply,shutdown_len,u16,
msgdata,openingd_funder_reply,shutdown_scriptpubkey,u8,shutdown_len
# master->openingd: start channel establishment for a funding tx
msgtype,openingd_funder_start,6002
msgdata,openingd_funder_start,funding_satoshis,amount_sat,
msgdata,openingd_funder_start,push_msat,amount_msat,
msgdata,openingd_funder_start,len_upfront,u16,
msgdata,openingd_funder_start,upfront_shutdown_script,u8,len_upfront
msgdata,openingd_funder_start,feerate_per_kw,u32,
msgdata,openingd_funder_start,channel_flags,u8,
# openingd->master: send back output script for 2-of-2 funding output
msgtype,openingd_funder_start_reply,6102
msgdata,openingd_funder_start_reply,script_len,u8,
msgdata,openingd_funder_start_reply,scriptpubkey,u8,script_len
msgdata,openingd_funder_start_reply,upfront_shutdown_negotiated,bool,
# master->openingd: complete channel establishment for a funding
# tx that will be paid for by an external wallet
# response to this is a normal `openingd_funder_reply` ??
msgtype,openingd_funder_complete,6012
msgdata,openingd_funder_complete,funding_txid,bitcoin_txid,
msgdata,openingd_funder_complete,funding_txout,u16,
#master->openingd: cancel channel establishment for a funding
msgtype,openingd_funder_cancel,6013
# Openingd->master: we failed to negotiation channel
msgtype,openingd_funder_failed,6004
msgdata,openingd_funder_failed,reason,wirestring,
# Openingd->master: they offered channel.
# This gives their txid and info, means we can send funding_signed: we're done.
msgtype,openingd_fundee,6003
msgdata,openingd_fundee,their_config,channel_config,
msgdata,openingd_fundee,first_commit,bitcoin_tx,
msgdata,openingd_fundee,pbase,?penalty_base,
msgdata,openingd_fundee,first_commit_sig,bitcoin_signature,
msgdata,openingd_fundee,pps,per_peer_state,
msgdata,openingd_fundee,revocation_basepoint,pubkey,
msgdata,openingd_fundee,payment_basepoint,pubkey,
msgdata,openingd_fundee,htlc_basepoint,pubkey,
msgdata,openingd_fundee,delayed_payment_basepoint,pubkey,
msgdata,openingd_fundee,their_per_commit_point,pubkey,
msgdata,openingd_fundee,remote_fundingkey,pubkey,
msgdata,openingd_fundee,funding_txid,bitcoin_txid,
msgdata,openingd_fundee,funding_txout,u16,
msgdata,openingd_fundee,funding_satoshis,amount_sat,
msgdata,openingd_fundee,push_msat,amount_msat,
msgdata,openingd_fundee,channel_flags,u8,
msgdata,openingd_fundee,feerate_per_kw,u32,
# The funding signed message: send this and we're committed.
msgdata,openingd_fundee,msglen,u16,
msgdata,openingd_fundee,funding_signed_msg,u8,msglen
msgdata,openingd_fundee,our_channel_reserve_satoshis,amount_sat,
msgdata,openingd_fundee,local_shutdown_len,u16,
msgdata,openingd_fundee,local_shutdown_scriptpubkey,u8,local_shutdown_len
msgdata,openingd_fundee,remote_shutdown_len,u16,
msgdata,openingd_fundee,remote_shutdown_scriptpubkey,u8,remote_shutdown_len
# master -> openingd: do you have a memleak?
msgtype,openingd_dev_memleak,6033
msgtype,openingd_dev_memleak_reply,6133
msgdata,openingd_dev_memleak_reply,leak,bool,
1 #include <bitcoin/chainparams.h>
2 #include <common/cryptomsg.h>
3 #include <common/channel_config.h>
4 #include <common/channel_id.h>
5 #include <common/derive_basepoints.h>
6 #include <common/features.h>
7 #include <common/per_peer_state.h>
8 msgtype,openingd_init,6000
9 # Which network are we configured for?
10 msgdata,openingd_init,chainparams,chainparams,
11 msgdata,openingd_init,our_features,feature_set,
12 # Base configuration we'll offer (channel reserve will vary with amount)
13 msgdata,openingd_init,our_config,channel_config,
14 # Minimum/maximum configuration values we'll accept
15 msgdata,openingd_init,max_to_self_delay,u32,
16 msgdata,openingd_init,min_effective_htlc_capacity_msat,amount_msat,
17 msgdata,openingd_init,pps,per_peer_state,
18 msgdata,openingd_init,our_basepoints,basepoints,
19 msgdata,openingd_init,our_funding_pubkey,pubkey,
20 # Constraints in case the other end tries to open a channel.
21 msgdata,openingd_init,minimum_depth,u32,
22 msgdata,openingd_init,min_feerate,u32,
23 msgdata,openingd_init,max_feerate,u32,
24 msgdata,openingd_init,lfeatures_len,u16,
25 msgdata,openingd_init,lfeatures,u8,lfeatures_len
26 msgdata,openingd_init,option_static_remotekey,bool,
27 msgdata,openingd_init,option_anchor_outputs,bool,
28 # Optional msg to send.
29 msgdata,openingd_init,len,u16,
30 msgdata,openingd_init,msg,u8,len
31 msgdata,openingd_init,dev_temporary_channel_id,?byte,32
32 msgdata,openingd_init,dev_fast_gossip,bool,
33 # Openingd->master: they offered channel, should we continue?
34 msgtype,openingd_got_offer,6005
35 msgdata,openingd_got_offer,funding_satoshis,amount_sat,
36 msgdata,openingd_got_offer,push_msat,amount_msat,
37 msgdata,openingd_got_offer,dust_limit_satoshis,amount_sat,
38 msgdata,openingd_got_offer,max_htlc_value_in_flight_msat,amount_msat,
39 msgdata,openingd_got_offer,channel_reserve_satoshis,amount_sat,
40 msgdata,openingd_got_offer,htlc_minimum_msat,amount_msat,
41 msgdata,openingd_got_offer,feerate_per_kw,u32,
42 msgdata,openingd_got_offer,to_self_delay,u16,
43 msgdata,openingd_got_offer,max_accepted_htlcs,u16,
44 msgdata,openingd_got_offer,channel_flags,u8,
45 msgdata,openingd_got_offer,shutdown_len,u16,
46 msgdata,openingd_got_offer,shutdown_scriptpubkey,u8,shutdown_len
47 # master->openingd: optional rejection message
48 msgtype,openingd_got_offer_reply,6105
49 msgdata,openingd_got_offer_reply,rejection,?wirestring,
50 msgdata,openingd_got_offer_reply,shutdown_len,u16,
51 msgdata,openingd_got_offer_reply,our_shutdown_scriptpubkey,?u8,shutdown_len
52 #include <common/penalty_base.h>
53 # Openingd->master: we've successfully offered channel.
54 # This gives their sig, means we can broadcast tx: we're done.
55 msgtype,openingd_funder_reply,6101
56 msgdata,openingd_funder_reply,their_config,channel_config,
57 msgdata,openingd_funder_reply,first_commit,bitcoin_tx,
58 msgdata,openingd_funder_reply,pbase,?penalty_base,
59 msgdata,openingd_funder_reply,first_commit_sig,bitcoin_signature,
60 msgdata,openingd_funder_reply,pps,per_peer_state,
61 msgdata,openingd_funder_reply,revocation_basepoint,pubkey,
62 msgdata,openingd_funder_reply,payment_basepoint,pubkey,
63 msgdata,openingd_funder_reply,htlc_basepoint,pubkey,
64 msgdata,openingd_funder_reply,delayed_payment_basepoint,pubkey,
65 msgdata,openingd_funder_reply,their_per_commit_point,pubkey,
66 msgdata,openingd_funder_reply,minimum_depth,u32,
67 msgdata,openingd_funder_reply,remote_fundingkey,pubkey,
68 msgdata,openingd_funder_reply,funding_txid,bitcoin_txid,
69 msgdata,openingd_funder_reply,funding_txout,u16,
70 msgdata,openingd_funder_reply,feerate_per_kw,u32,
71 msgdata,openingd_funder_reply,our_channel_reserve_satoshis,amount_sat,
72 msgdata,openingd_funder_reply,shutdown_len,u16,
73 msgdata,openingd_funder_reply,shutdown_scriptpubkey,u8,shutdown_len
74 # master->openingd: start channel establishment for a funding tx
75 msgtype,openingd_funder_start,6002
76 msgdata,openingd_funder_start,funding_satoshis,amount_sat,
77 msgdata,openingd_funder_start,push_msat,amount_msat,
78 msgdata,openingd_funder_start,len_upfront,u16,
79 msgdata,openingd_funder_start,upfront_shutdown_script,u8,len_upfront
80 msgdata,openingd_funder_start,feerate_per_kw,u32,
81 msgdata,openingd_funder_start,channel_flags,u8,
82 # openingd->master: send back output script for 2-of-2 funding output
83 msgtype,openingd_funder_start_reply,6102
84 msgdata,openingd_funder_start_reply,script_len,u8,
85 msgdata,openingd_funder_start_reply,scriptpubkey,u8,script_len
86 msgdata,openingd_funder_start_reply,upfront_shutdown_negotiated,bool,
87 # master->openingd: complete channel establishment for a funding
88 # tx that will be paid for by an external wallet
89 # response to this is a normal `openingd_funder_reply` ??
90 msgtype,openingd_funder_complete,6012
91 msgdata,openingd_funder_complete,funding_txid,bitcoin_txid,
92 msgdata,openingd_funder_complete,funding_txout,u16,
93 #master->openingd: cancel channel establishment for a funding
94 msgtype,openingd_funder_cancel,6013
95 # Openingd->master: we failed to negotiation channel
96 msgtype,openingd_funder_failed,6004
97 msgdata,openingd_funder_failed,reason,wirestring,
98 # Openingd->master: they offered channel.
99 # This gives their txid and info, means we can send funding_signed: we're done.
100 msgtype,openingd_fundee,6003
101 msgdata,openingd_fundee,their_config,channel_config,
102 msgdata,openingd_fundee,first_commit,bitcoin_tx,
103 msgdata,openingd_fundee,pbase,?penalty_base,
104 msgdata,openingd_fundee,first_commit_sig,bitcoin_signature,
105 msgdata,openingd_fundee,pps,per_peer_state,
106 msgdata,openingd_fundee,revocation_basepoint,pubkey,
107 msgdata,openingd_fundee,payment_basepoint,pubkey,
108 msgdata,openingd_fundee,htlc_basepoint,pubkey,
109 msgdata,openingd_fundee,delayed_payment_basepoint,pubkey,
110 msgdata,openingd_fundee,their_per_commit_point,pubkey,
111 msgdata,openingd_fundee,remote_fundingkey,pubkey,
112 msgdata,openingd_fundee,funding_txid,bitcoin_txid,
113 msgdata,openingd_fundee,funding_txout,u16,
114 msgdata,openingd_fundee,funding_satoshis,amount_sat,
115 msgdata,openingd_fundee,push_msat,amount_msat,
116 msgdata,openingd_fundee,channel_flags,u8,
117 msgdata,openingd_fundee,feerate_per_kw,u32,
118 # The funding signed message: send this and we're committed.
119 msgdata,openingd_fundee,msglen,u16,
120 msgdata,openingd_fundee,funding_signed_msg,u8,msglen
121 msgdata,openingd_fundee,our_channel_reserve_satoshis,amount_sat,
122 msgdata,openingd_fundee,local_shutdown_len,u16,
123 msgdata,openingd_fundee,local_shutdown_scriptpubkey,u8,local_shutdown_len
124 msgdata,openingd_fundee,remote_shutdown_len,u16,
125 msgdata,openingd_fundee,remote_shutdown_scriptpubkey,u8,remote_shutdown_len
126 # master -> openingd: do you have a memleak?
127 msgtype,openingd_dev_memleak,6033
128 msgtype,openingd_dev_memleak_reply,6133
129 msgdata,openingd_dev_memleak_reply,leak,bool,