core-lightning/lightningd/opening/opening_control_wire.csv
Rusty Russell 6cf8a19881 lightningd/opening: receive details for remote config acceptance, not min/max.
The requirements for accepting the remote config are more complex than
a simple min/max value, as various parameters are related.  It turns
out that with a few assumptions, we can boil this down to:

1.  The valid feerate range.
2.  The minimum effective HTLC throughput we want
3.  The a maximum delay we'll accept for us to redeem.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-02-24 16:22:56 +10:30

2.3 KiB

1#include <lightningd/cryptomsg.h>
2#include <lightningd/channel_config.h>
3opening_init,0
4# Base configuration we'll offer (channel reserve will vary with amount)
5opening_init,0,our_config,36,struct channel_config
6# Minimum/maximum configuration values we'll accept
7opening_init,36,max_to_self_delay,4
8opening_init,40,min_effective_htlc_capacity_msat,8
9opening_init,48,crypto_state,144,struct crypto_state
10# Seed to generate all the keys from
11opening_init,196,seed,32,struct privkey
12# This means we offer the open.
13opening_open,1
14opening_open,0,funding_satoshis,8
15opening_open,8,push_msat,8
16opening_open,16,feerate_per_kw,4
17opening_open,20,max_minimum_depth,4
18# Response asks for txid of funding transaction.
19opening_open_resp,101
20opening_open_resp,0,local_fundingkey,33
21opening_open_resp,0,remote_fundingkey,33
22# Now we give the funding txid and outnum.
23opening_open_funding,2
24opening_open_funding,0,txid,32,struct sha256_double
25opening_open_funding,32,txout,1,u8
26# This gives their sig, means we can broadcast tx: we're done.
27opening_open_funding_resp,102
28opening_open_funding_resp,0,their_config,36,struct channel_config
29opening_open_funding_resp,36,first_commit_sig,64,secp256k1_ecdsa_signature
30opening_open_funding_resp,100,crypto_state,144,struct crypto_state
31opening_open_funding_resp,244,revocation_basepoint,33
32opening_open_funding_resp,277,payment_basepoint,33
33opening_open_funding_resp,310,delayed_payment_basepoint,33
34opening_open_funding_resp,343,their_per_commit_point,33
35# This means they offer the open (contains their offer packet)
36opening_accept,3
37opening_accept,0,min_feerate,4
38opening_accept,4,max_feerate,4
39opening_accept,8,len,2
40opening_accept,10,msg,len,u8
41# This gives the txid of their funding tx: we're done.
42opening_accept_resp,103
43opening_accept_resp,0,funding_txid,32,struct sha256_double
44opening_accept_resp,32,funding_txout,1,u8
45opening_accept_resp,33,their_config,36,struct channel_config
46opening_accept_resp,69,first_commit_sig,64,secp256k1_ecdsa_signature
47opening_accept_resp,133,crypto_state,144,struct crypto_state
48opening_accept_resp,277,remote_fundingkey,33
49opening_accept_resp,310,revocation_basepoint,33
50opening_accept_resp,343,payment_basepoint,33
51opening_accept_resp,376,delayed_payment_basepoint,33
52opening_accept_resp,409,their_per_commit_point,33
53# You're OK to exit.
54opening_exit_req,99