return Ok(Route {
paths: vec![vec![RouteHop {
pubkey: chan.remote_network_id,
- node_features: NodeFeatures::with_known_relevant_init_flags(&chan.counterparty_features),
+ node_features: chan.counterparty_features.to_context(),
short_channel_id,
- channel_features: ChannelFeatures::with_known_relevant_init_flags(&chan.counterparty_features),
+ channel_features: chan.counterparty_features.to_context(),
fee_msat: final_value_msat,
cltv_expiry_delta: final_cltv,
}]],
( $node: expr, $node_id: expr, $fee_to_target_msat: expr ) => {
if first_hops.is_some() {
if let Some(&(ref first_hop, ref features)) = first_hop_targets.get(&$node_id) {
- add_entry!(first_hop, $node_id, dummy_directional_info, ChannelFeatures::with_known_relevant_init_flags(&features), $fee_to_target_msat);
+ add_entry!(first_hop, $node_id, dummy_directional_info, features.to_context(), $fee_to_target_msat);
}
}
// bit lazy here. In the future, we should pull them out via our
// ChannelManager, but there's no reason to waste the space until we
// need them.
- add_entry!(first_hop, hop.src_node_id, dummy_directional_info, ChannelFeatures::with_known_relevant_init_flags(&features), 0);
+ add_entry!(first_hop, hop.src_node_id, dummy_directional_info, features.to_context(), 0);
}
}
// BOLT 11 doesn't allow inclusion of features for the last hop hints, which
let mut res = vec!(dist.remove(&network.our_node_id).unwrap().3);
loop {
if let Some(&(_, ref features)) = first_hop_targets.get(&res.last().unwrap().pubkey) {
- res.last_mut().unwrap().node_features = NodeFeatures::with_known_relevant_init_flags(&features);
+ res.last_mut().unwrap().node_features = features.to_context();
} else if let Some(node) = network.nodes.get(&res.last().unwrap().pubkey) {
res.last_mut().unwrap().node_features = node.features.clone();
} else {
let first_announcement_time = 500;
let mut unsigned_announcement = UnsignedNodeAnnouncement {
- features: NodeFeatures::supported(),
+ features: NodeFeatures::known(),
timestamp: first_announcement_time,
node_id: node_id_1,
rgb: [0; 3],
{
// Announce a channel to add a corresponding node.
let unsigned_announcement = UnsignedChannelAnnouncement {
- features: ChannelFeatures::supported(),
+ features: ChannelFeatures::known(),
chain_hash: genesis_block(Network::Testnet).header.bitcoin_hash(),
short_channel_id: 0,
node_id_1,
let mut unsigned_announcement = UnsignedChannelAnnouncement {
- features: ChannelFeatures::supported(),
+ features: ChannelFeatures::known(),
chain_hash: genesis_block(Network::Testnet).header.bitcoin_hash(),
short_channel_id: 0,
node_id_1,
{
let mut unsigned_announcement = UnsignedNodeAnnouncement {
- features: NodeFeatures::supported(),
+ features: NodeFeatures::known(),
timestamp: 1000,
node_id: node_id_1,
rgb: [0; 3],
{
// Later announcement which should not be relayed (excess data) prevent us from sharing a node
let unsigned_announcement = UnsignedNodeAnnouncement {
- features: NodeFeatures::supported(),
+ features: NodeFeatures::known(),
timestamp: 1010,
node_id: node_id_2,
rgb: [0; 3],