mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 09:54:16 +01:00
71a8e59acd
We determine whether they are allowed or not based on the hook return value of `mindepth`. To do so we need to pass that value down to `openingd` and verify that the `channel_type` and our permissions match up.
6.8 KiB
6.8 KiB
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/channel_type.h> |
6 | #include <common/derive_basepoints.h> |
7 | #include <common/features.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 | msgdata,openingd_init,their_init_features_len,u16, |
13 | msgdata,openingd_init,their_init_features,u8,their_init_features_len |
14 | # Base configuration we'll offer (channel reserve will vary with amount) |
15 | msgdata,openingd_init,our_config,channel_config, |
16 | # Minimum/maximum configuration values we'll accept |
17 | msgdata,openingd_init,max_to_self_delay,u32, |
18 | msgdata,openingd_init,min_effective_htlc_capacity_msat,amount_msat, |
19 | msgdata,openingd_init,our_basepoints,basepoints, |
20 | msgdata,openingd_init,our_funding_pubkey,pubkey, |
21 | # Constraints in case the other end tries to open a channel. |
22 | msgdata,openingd_init,minimum_depth,u32, |
23 | msgdata,openingd_init,min_feerate,u32, |
24 | msgdata,openingd_init,max_feerate,u32, |
25 | msgdata,openingd_init,dev_temporary_channel_id,?byte,32 |
26 | # Do we allow `fundchannel` or the `openchannel` hook to set sub-dust |
27 | # reserves? This is explicitly required by the spec for safety |
28 | # reasons, but some implementations and users keep asking for it. |
29 | msgdata,openingd_init,allowdustreserve,bool, |
30 | # Openingd->master: they offered channel, should we continue? |
31 | msgtype,openingd_got_offer,6005 |
32 | msgdata,openingd_got_offer,funding_satoshis,amount_sat, |
33 | msgdata,openingd_got_offer,push_msat,amount_msat, |
34 | msgdata,openingd_got_offer,dust_limit_satoshis,amount_sat, |
35 | msgdata,openingd_got_offer,max_htlc_value_in_flight_msat,amount_msat, |
36 | msgdata,openingd_got_offer,channel_reserve_satoshis,amount_sat, |
37 | msgdata,openingd_got_offer,htlc_minimum_msat,amount_msat, |
38 | msgdata,openingd_got_offer,feerate_per_kw,u32, |
39 | msgdata,openingd_got_offer,to_self_delay,u16, |
40 | msgdata,openingd_got_offer,max_accepted_htlcs,u16, |
41 | msgdata,openingd_got_offer,channel_flags,u8, |
42 | msgdata,openingd_got_offer,shutdown_len,u16, |
43 | msgdata,openingd_got_offer,shutdown_scriptpubkey,u8,shutdown_len |
44 | # master->openingd: optional rejection message |
45 | msgtype,openingd_got_offer_reply,6105 |
46 | msgdata,openingd_got_offer_reply,rejection,?wirestring, |
47 | msgdata,openingd_got_offer_reply,shutdown_len,u16, |
48 | msgdata,openingd_got_offer_reply,our_shutdown_scriptpubkey,?u8,shutdown_len |
49 | msgdata,openingd_got_offer_reply,our_shutdown_wallet_index,?u32, |
50 | msgdata,openingd_got_offer_reply,reserve,?amount_sat, |
51 | msgdata,openingd_got_offer_reply,mindepth,u32, |
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,revocation_basepoint,pubkey, |
61 | msgdata,openingd_funder_reply,payment_basepoint,pubkey, |
62 | msgdata,openingd_funder_reply,htlc_basepoint,pubkey, |
63 | msgdata,openingd_funder_reply,delayed_payment_basepoint,pubkey, |
64 | msgdata,openingd_funder_reply,their_per_commit_point,pubkey, |
65 | msgdata,openingd_funder_reply,minimum_depth,u32, |
66 | msgdata,openingd_funder_reply,remote_fundingkey,pubkey, |
67 | msgdata,openingd_funder_reply,funding,bitcoin_outpoint, |
68 | msgdata,openingd_funder_reply,feerate_per_kw,u32, |
69 | msgdata,openingd_funder_reply,our_channel_reserve_satoshis,amount_sat, |
70 | msgdata,openingd_funder_reply,shutdown_len,u16, |
71 | msgdata,openingd_funder_reply,shutdown_scriptpubkey,u8,shutdown_len |
72 | msgdata,openingd_funder_reply,channel_type,channel_type, |
73 | # master->openingd: start channel establishment for a funding tx |
74 | msgtype,openingd_funder_start,6002 |
75 | msgdata,openingd_funder_start,funding_satoshis,amount_sat, |
76 | msgdata,openingd_funder_start,push_msat,amount_msat, |
77 | msgdata,openingd_funder_start,len_upfront,u16, |
78 | msgdata,openingd_funder_start,upfront_shutdown_script,u8,len_upfront |
79 | msgdata,openingd_funder_start,upfront_shutdown_wallet_index,?u32, |
80 | msgdata,openingd_funder_start,feerate_per_kw,u32, |
81 | msgdata,openingd_funder_start,anchor_feerate_per_kw,u32, |
82 | msgdata,openingd_funder_start,temporary_channel_id,channel_id, |
83 | msgdata,openingd_funder_start,channel_flags,u8, |
84 | msgdata,openingd_funder_start,reserve,?amount_sat, |
85 | # openingd->master: send back output script for 2-of-2 funding output |
86 | msgtype,openingd_funder_start_reply,6102 |
87 | msgdata,openingd_funder_start_reply,script_len,u8, |
88 | msgdata,openingd_funder_start_reply,scriptpubkey,u8,script_len |
89 | msgdata,openingd_funder_start_reply,upfront_shutdown_negotiated,bool, |
90 | msgdata,openingd_funder_start_reply,channel_type,channel_type, |
91 | # master->openingd: complete channel establishment for a funding |
92 | # tx that will be paid for by an external wallet |
93 | # response to this is a normal `openingd_funder_reply` ?? |
94 | msgtype,openingd_funder_complete,6012 |
95 | msgdata,openingd_funder_complete,funding_txid,bitcoin_txid, |
96 | msgdata,openingd_funder_complete,funding_txout,u16, |
97 | msgdata,openingd_funder_complete,channel_type,channel_type, |
98 | #master->openingd: cancel channel establishment for a funding |
99 | msgtype,openingd_funder_cancel,6013 |
100 | # Openingd->master: we failed to negotiation channel |
101 | msgtype,openingd_failed,6004 |
102 | msgdata,openingd_failed,reason,wirestring, |
103 | # Openingd->master: they offered channel. |
104 | # This gives their txid and info, means we can send funding_signed: we're done. |
105 | msgtype,openingd_fundee,6003 |
106 | msgdata,openingd_fundee,their_config,channel_config, |
107 | msgdata,openingd_fundee,first_commit,bitcoin_tx, |
108 | msgdata,openingd_fundee,pbase,?penalty_base, |
109 | msgdata,openingd_fundee,first_commit_sig,bitcoin_signature, |
110 | msgdata,openingd_fundee,revocation_basepoint,pubkey, |
111 | msgdata,openingd_fundee,payment_basepoint,pubkey, |
112 | msgdata,openingd_fundee,htlc_basepoint,pubkey, |
113 | msgdata,openingd_fundee,delayed_payment_basepoint,pubkey, |
114 | msgdata,openingd_fundee,their_per_commit_point,pubkey, |
115 | msgdata,openingd_fundee,remote_fundingkey,pubkey, |
116 | msgdata,openingd_fundee,funding,bitcoin_outpoint, |
117 | msgdata,openingd_fundee,funding_satoshis,amount_sat, |
118 | msgdata,openingd_fundee,push_msat,amount_msat, |
119 | msgdata,openingd_fundee,channel_flags,u8, |
120 | msgdata,openingd_fundee,feerate_per_kw,u32, |
121 | # The funding signed message: send this and we're committed. |
122 | msgdata,openingd_fundee,msglen,u16, |
123 | msgdata,openingd_fundee,funding_signed_msg,u8,msglen |
124 | msgdata,openingd_fundee,our_channel_reserve_satoshis,amount_sat, |
125 | msgdata,openingd_fundee,local_shutdown_len,u16, |
126 | msgdata,openingd_fundee,local_shutdown_scriptpubkey,u8,local_shutdown_len |
127 | msgdata,openingd_fundee,remote_shutdown_len,u16, |
128 | msgdata,openingd_fundee,remote_shutdown_scriptpubkey,u8,remote_shutdown_len |
129 | msgdata,openingd_fundee,channel_type,channel_type, |
130 | # master -> openingd: do you have a memleak? |
131 | msgtype,openingd_dev_memleak,6033 |
132 | msgtype,openingd_dev_memleak_reply,6133 |
133 | msgdata,openingd_dev_memleak_reply,leak,bool, |