forked from ElementsProject/lightning
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchannel_config.h
81 lines (74 loc) · 2.3 KB
/
channel_config.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#ifndef LIGHTNING_COMMON_CHANNEL_CONFIG_H
#define LIGHTNING_COMMON_CHANNEL_CONFIG_H
#include "config.h"
#include <ccan/short_types/short_types.h>
#include <ccan/tal/tal.h>
#include <common/amount.h>
/* BOLT #2:
*
* 1. type: 32 (`open_channel`)
* 2. data:
* * [`chain_hash`:`chain_hash`]
* * [`32*byte`:`temporary_channel_id`]
* * [`u64`:`funding_satoshis`]
* * [`u64`:`push_msat`]
* * [`u64`:`dust_limit_satoshis`]
* * [`u64`:`max_htlc_value_in_flight_msat`]
* * [`u64`:`channel_reserve_satoshis`]
* * [`u64`:`htlc_minimum_msat`]
* * [`u32`:`feerate_per_kw`]
* * [`u16`:`to_self_delay`]
* * [`u16`:`max_accepted_htlcs`]
*...
* 1. type: 33 (`accept_channel`)
* 2. data:
* * [`32*byte`:`temporary_channel_id`]
* * [`u64`:`dust_limit_satoshis`]
* * [`u64`:`max_htlc_value_in_flight_msat`]
* * [`u64`:`channel_reserve_satoshis`]
* * [`u64`:`htlc_minimum_msat`]
* * [`u32`:`minimum_depth`]
* * [`u16`:`to_self_delay`]
* * [`u16`:`max_accepted_htlcs`]
*/
struct channel_config {
/* Database ID */
u64 id;
/* BOLT #2:
*
* `dust_limit_satoshis` is the threshold below which outputs should
* not be generated for this node's commitment or HTLC transaction */
struct amount_sat dust_limit;
/* BOLT #2:
*
* `max_htlc_value_in_flight_msat` is a cap on total value of
* outstanding HTLCs, which allows a node to limit its exposure to
* HTLCs */
struct amount_msat max_htlc_value_in_flight;
/* BOLT #2:
*
* `channel_reserve_satoshis` is the minimum amount that the other
* node is to keep as a direct payment. */
struct amount_sat channel_reserve;
/* BOLT #2:
*
* `htlc_minimum_msat` indicates the smallest value HTLC this node
* will accept.
*/
struct amount_msat htlc_minimum;
/* BOLT #2:
*
* `to_self_delay` is the number of blocks that the other node's
* to-self outputs must be delayed, using `OP_CHECKSEQUENCEVERIFY`
* delays */
u16 to_self_delay;
/* BOLT #2:
*
* similarly, `max_accepted_htlcs` limits the number of outstanding
* HTLCs the other node can offer. */
u16 max_accepted_htlcs;
};
void towire_channel_config(u8 **pptr, const struct channel_config *config);
void fromwire_channel_config(const u8 **ptr, size_t *max,
struct channel_config *config);
#endif /* LIGHTNING_COMMON_CHANNEL_CONFIG_H */