#ifndef LIGHTNING_COMMON_CHANNEL_CONFIG_H #define LIGHTNING_COMMON_CHANNEL_CONFIG_H #include "config.h" #include /* 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; /* BOLT-TBD #X * * maximum dust exposure allowed for this channel */ struct amount_msat max_dust_htlc_exposure_msat; }; 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 */