mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 15:14:23 +01:00
gossip: Store channel capacity in the routing table
Signed-off-by: Christian Decker <decker.christian@gmail.com>
This commit is contained in:
committed by
Rusty Russell
parent
5690783148
commit
2abf72e7df
@@ -1818,7 +1818,7 @@ static struct io_plan *handle_txout_reply(struct io_conn *conn,
|
|||||||
if (!fromwire_gossip_get_txout_reply(msg, msg, &scid, &satoshis, &outscript))
|
if (!fromwire_gossip_get_txout_reply(msg, msg, &scid, &satoshis, &outscript))
|
||||||
master_badmsg(WIRE_GOSSIP_GET_TXOUT_REPLY, msg);
|
master_badmsg(WIRE_GOSSIP_GET_TXOUT_REPLY, msg);
|
||||||
|
|
||||||
if (handle_pending_cannouncement(daemon->rstate, &scid, outscript))
|
if (handle_pending_cannouncement(daemon->rstate, &scid, satoshis, outscript))
|
||||||
send_node_announcement(daemon);
|
send_node_announcement(daemon);
|
||||||
|
|
||||||
return daemon_conn_read_next(conn, &daemon->master);
|
return daemon_conn_read_next(conn, &daemon->master);
|
||||||
|
|||||||
@@ -225,6 +225,7 @@ struct chan *new_chan(struct routing_state *rstate,
|
|||||||
chan->channel_announcement = NULL;
|
chan->channel_announcement = NULL;
|
||||||
chan->channel_announce_msgidx = 0;
|
chan->channel_announce_msgidx = 0;
|
||||||
chan->public = false;
|
chan->public = false;
|
||||||
|
chan->satoshis = 0;
|
||||||
|
|
||||||
n = tal_count(n2->chans);
|
n = tal_count(n2->chans);
|
||||||
tal_resize(&n2->chans, n+1);
|
tal_resize(&n2->chans, n+1);
|
||||||
@@ -646,6 +647,7 @@ const struct short_channel_id *handle_channel_announcement(
|
|||||||
|
|
||||||
bool handle_pending_cannouncement(struct routing_state *rstate,
|
bool handle_pending_cannouncement(struct routing_state *rstate,
|
||||||
const struct short_channel_id *scid,
|
const struct short_channel_id *scid,
|
||||||
|
const u64 satoshis,
|
||||||
const u8 *outscript)
|
const u8 *outscript)
|
||||||
{
|
{
|
||||||
bool local;
|
bool local;
|
||||||
@@ -706,6 +708,7 @@ bool handle_pending_cannouncement(struct routing_state *rstate,
|
|||||||
|
|
||||||
/* Channel is now public. */
|
/* Channel is now public. */
|
||||||
chan->public = true;
|
chan->public = true;
|
||||||
|
chan->satoshis = satoshis;
|
||||||
|
|
||||||
/* Save channel_announcement. */
|
/* Save channel_announcement. */
|
||||||
tal_free(chan->channel_announcement);
|
tal_free(chan->channel_announcement);
|
||||||
|
|||||||
@@ -61,6 +61,8 @@ struct chan {
|
|||||||
|
|
||||||
/* Is this a public channel, or was it only added locally? */
|
/* Is this a public channel, or was it only added locally? */
|
||||||
bool public;
|
bool public;
|
||||||
|
|
||||||
|
u64 satoshis;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct node {
|
struct node {
|
||||||
@@ -210,6 +212,7 @@ handle_channel_announcement(struct routing_state *rstate,
|
|||||||
*/
|
*/
|
||||||
bool handle_pending_cannouncement(struct routing_state *rstate,
|
bool handle_pending_cannouncement(struct routing_state *rstate,
|
||||||
const struct short_channel_id *scid,
|
const struct short_channel_id *scid,
|
||||||
|
const u64 satoshis,
|
||||||
const u8 *txscript);
|
const u8 *txscript);
|
||||||
void handle_channel_update(struct routing_state *rstate, const u8 *update);
|
void handle_channel_update(struct routing_state *rstate, const u8 *update);
|
||||||
void handle_node_announcement(struct routing_state *rstate, const u8 *node);
|
void handle_node_announcement(struct routing_state *rstate, const u8 *node);
|
||||||
|
|||||||
Reference in New Issue
Block a user