Skip to content

Commit

Permalink
wire: move extract_channel_id to here.
Browse files Browse the repository at this point in the history
It can be useful for other daemons.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
  • Loading branch information
rustyrussell authored and cdecker committed Jan 12, 2018
1 parent e34ec8d commit 2bc2502
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 27 deletions.
27 changes: 0 additions & 27 deletions lightningd/peer_control.c
Original file line number Diff line number Diff line change
Expand Up @@ -445,33 +445,6 @@ bool unsupported_features(const u8 *gfeatures, const u8 *lfeatures)
sizeof(supported_local_features));
}

/* Extract channel_id from various packets, return true if possible. */
static bool extract_channel_id(const u8 *in_pkt, struct channel_id *channel_id)
{
u64 ignored_u64;
u32 ignored_u32;
u16 ignored_u16;
u8 ignored_u8;
struct pubkey ignored_pubkey;
struct bitcoin_blkid ignored_chainhash;

if (fromwire_channel_reestablish(in_pkt, NULL, channel_id,
&ignored_u64, &ignored_u64))
return true;
if (fromwire_open_channel(in_pkt, NULL, &ignored_chainhash,
channel_id, &ignored_u64,
&ignored_u64, &ignored_u64,
&ignored_u64, &ignored_u64,
&ignored_u64, &ignored_u32,
&ignored_u16, &ignored_u16,
&ignored_pubkey, &ignored_pubkey,
&ignored_pubkey, &ignored_pubkey,
&ignored_pubkey, &ignored_pubkey,
&ignored_u8))
return true;
return false;
}

/**
* peer_channel_new -- Instantiate a new channel for the given peer and save it
*
Expand Down
27 changes: 27 additions & 0 deletions wire/peer_wire.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,3 +73,30 @@ bool is_unknown_msg_discardable(const u8 *cursor)
enum wire_type t = fromwire_peektype(cursor);
return unknown_type(t) && (t & 1);
}

/* Extract channel_id from various packets, return true if possible. */
bool extract_channel_id(const u8 *in_pkt, struct channel_id *channel_id)
{
u64 ignored_u64;
u32 ignored_u32;
u16 ignored_u16;
u8 ignored_u8;
struct pubkey ignored_pubkey;
struct bitcoin_blkid ignored_chainhash;

if (fromwire_channel_reestablish(in_pkt, NULL, channel_id,
&ignored_u64, &ignored_u64))
return true;
if (fromwire_open_channel(in_pkt, NULL, &ignored_chainhash,
channel_id, &ignored_u64,
&ignored_u64, &ignored_u64,
&ignored_u64, &ignored_u64,
&ignored_u64, &ignored_u32,
&ignored_u16, &ignored_u16,
&ignored_pubkey, &ignored_pubkey,
&ignored_pubkey, &ignored_pubkey,
&ignored_pubkey, &ignored_pubkey,
&ignored_u8))
return true;
return false;
}
3 changes: 3 additions & 0 deletions wire/peer_wire.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ bool is_unknown_msg_discardable(const u8 *cursor);
/* Return true if it's a gossip message. */
bool is_gossip_msg(const u8 *cursor);

/* Extract channel_id from various packets, return true if possible. */
bool extract_channel_id(const u8 *in_pkt, struct channel_id *channel_id);

/* BOLT #2:
*
* Only the least-significant bit of `channel_flags` is currently
Expand Down

0 comments on commit 2bc2502

Please sign in to comment.