mirror of
https://github.com/aljazceru/lightning.git
synced 2026-02-04 05:34:22 +01:00
channeld: Passing additional info to channeld
The CLTV delta was hardcoded until now, which was causing me some head scratching. I guess I asked for it ^^
This commit is contained in:
@@ -99,6 +99,11 @@ struct peer {
|
||||
|
||||
/* Which direction of the channel do we control? */
|
||||
u16 channel_direction;
|
||||
|
||||
/* CLTV delta to announce to peers */
|
||||
u16 cltv_delta;
|
||||
u32 fee_base;
|
||||
u32 fee_per_satoshi;
|
||||
};
|
||||
|
||||
static u8 *create_channel_announcement(const tal_t *ctx, struct peer *peer);
|
||||
@@ -178,8 +183,9 @@ static void send_channel_update(struct peer *peer, bool disabled)
|
||||
|
||||
flags = peer->channel_direction | (disabled << 1);
|
||||
cupdate = towire_channel_update(
|
||||
tmpctx, sig, &peer->short_channel_ids[LOCAL], timestamp, flags, 36,
|
||||
1, 10, peer->channel->view[LOCAL].feerate_per_kw);
|
||||
tmpctx, sig, &peer->short_channel_ids[LOCAL], timestamp, flags,
|
||||
peer->cltv_delta, peer->fee_base, peer->fee_per_satoshi,
|
||||
peer->channel->view[LOCAL].feerate_per_kw);
|
||||
|
||||
msg = towire_hsm_cupdate_sig_req(tmpctx, cupdate);
|
||||
|
||||
@@ -966,7 +972,6 @@ static void init_channel(struct peer *peer, const u8 *msg)
|
||||
{
|
||||
struct privkey seed;
|
||||
struct basepoints points[NUM_SIDES];
|
||||
u32 feerate;
|
||||
u64 funding_satoshi, push_msat;
|
||||
u16 funding_txout;
|
||||
struct pubkey funding_pubkey[NUM_SIDES];
|
||||
@@ -984,11 +989,14 @@ static void init_channel(struct peer *peer, const u8 *msg)
|
||||
&points[REMOTE].delayed_payment,
|
||||
&peer->old_per_commit[REMOTE],
|
||||
&am_funder,
|
||||
&feerate, &funding_satoshi, &push_msat,
|
||||
&peer->fee_base,
|
||||
&peer->fee_per_satoshi,
|
||||
&funding_satoshi, &push_msat,
|
||||
&seed,
|
||||
&peer->node_ids[LOCAL],
|
||||
&peer->node_ids[REMOTE],
|
||||
&peer->commit_msec))
|
||||
&peer->commit_msec,
|
||||
&peer->cltv_delta))
|
||||
status_failed(WIRE_CHANNEL_BAD_COMMAND, "%s",
|
||||
tal_hex(msg, msg));
|
||||
|
||||
@@ -1005,7 +1013,7 @@ static void init_channel(struct peer *peer, const u8 *msg)
|
||||
&peer->old_per_commit[LOCAL]));
|
||||
|
||||
peer->channel = new_channel(peer, &funding_txid, funding_txout,
|
||||
funding_satoshi, push_msat, feerate,
|
||||
funding_satoshi, push_msat, peer->fee_base,
|
||||
&peer->conf[LOCAL], &peer->conf[REMOTE],
|
||||
&points[LOCAL], &points[REMOTE],
|
||||
&funding_pubkey[LOCAL],
|
||||
|
||||
@@ -33,13 +33,15 @@ channel_init,376,payment_basepoint,33
|
||||
channel_init,409,delayed_payment_basepoint,33
|
||||
channel_init,442,their_per_commit_point,33
|
||||
channel_init,475,am_funder,bool
|
||||
channel_init,476,feerate,4
|
||||
channel_init,480,funding_satoshi,8
|
||||
channel_init,488,push_msat,8
|
||||
channel_init,496,seed,struct privkey
|
||||
channel_init,529,local_node_id,struct pubkey
|
||||
channel_init,562,remote_node_id,struct pubkey
|
||||
channel_init,595,commit_msec,4
|
||||
channel_init,476,fee_base,4
|
||||
channel_init,480,fee_proportional,4
|
||||
channel_init,484,funding_satoshi,8
|
||||
channel_init,492,push_msat,8
|
||||
channel_init,500,seed,struct privkey
|
||||
channel_init,533,local_node_id,struct pubkey
|
||||
channel_init,566,remote_node_id,struct pubkey
|
||||
channel_init,599,commit_msec,4
|
||||
channel_init,603,cltv_delta,u16
|
||||
|
||||
# Tx is deep enough, go!
|
||||
channel_funding_locked,2
|
||||
|
||||
|
@@ -1252,7 +1252,7 @@ static void peer_start_channeld(struct peer *peer, enum side funder,
|
||||
const struct pubkey *their_per_commit_point)
|
||||
{
|
||||
struct channeld_start *cds = tal(peer, struct channeld_start);
|
||||
|
||||
struct config *cfg = &peer->ld->dstate.config;
|
||||
/* Unowned: back to being owned by main daemon. */
|
||||
peer->owner = NULL;
|
||||
tal_steal(peer->ld, peer);
|
||||
@@ -1279,15 +1279,16 @@ static void peer_start_channeld(struct peer *peer, enum side funder,
|
||||
&theirbase->delayed_payment,
|
||||
their_per_commit_point,
|
||||
funder == LOCAL,
|
||||
/* FIXME: real feerate! */
|
||||
15000,
|
||||
cfg->fee_base,
|
||||
cfg->fee_per_satoshi,
|
||||
peer->funding_satoshi,
|
||||
peer->push_msat,
|
||||
peer->seed,
|
||||
&peer->ld->dstate.id,
|
||||
peer->id,
|
||||
time_to_msec(peer->ld->dstate.config
|
||||
.commit_time));
|
||||
time_to_msec(cfg->commit_time),
|
||||
cfg->deadline_blocks
|
||||
);
|
||||
|
||||
/* Get fd from hsm. */
|
||||
subd_req(peer, peer->ld->hsm,
|
||||
|
||||
Reference in New Issue
Block a user