From f78e6b956c8cc89201831c9865416237b5ea9952 Mon Sep 17 00:00:00 2001 From: benthecarman Date: Wed, 12 Apr 2023 16:09:28 -0500 Subject: [PATCH] Use NodeAlias type in NodeAnnouncement --- lightning/src/ln/msgs.rs | 10 +++++----- lightning/src/ln/peer_handler.rs | 6 ++++-- lightning/src/routing/gossip.rs | 6 +++--- lightning/src/routing/test_utils.rs | 4 ++-- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/lightning/src/ln/msgs.rs b/lightning/src/ln/msgs.rs index 2557454b4..501451c40 100644 --- a/lightning/src/ln/msgs.rs +++ b/lightning/src/ln/msgs.rs @@ -46,7 +46,7 @@ use crate::util::ser::{LengthReadable, Readable, ReadableArgs, Writeable, Writer use crate::ln::{PaymentPreimage, PaymentHash, PaymentSecret}; -use crate::routing::gossip::NodeId; +use crate::routing::gossip::{NodeAlias, NodeId}; /// 21 million * 10^8 * 1000 pub(crate) const MAX_VALUE_MSAT: u64 = 21_000_000_0000_0000_000; @@ -694,7 +694,7 @@ pub struct UnsignedNodeAnnouncement { /// An alias, for UI purposes. /// /// This should be sanitized before use. There is no guarantee of uniqueness. - pub alias: [u8; 32], + pub alias: NodeAlias, /// List of addresses on which this node is reachable pub addresses: Vec, pub(crate) excess_address_data: Vec, @@ -1931,7 +1931,7 @@ impl Readable for UnsignedNodeAnnouncement { let node_id: NodeId = Readable::read(r)?; let mut rgb = [0; 3]; r.read_exact(&mut rgb)?; - let alias: [u8; 32] = Readable::read(r)?; + let alias: NodeAlias = Readable::read(r)?; let addr_len: u16 = Readable::read(r)?; let mut addresses: Vec = Vec::new(); @@ -2138,7 +2138,7 @@ mod tests { use crate::ln::features::{ChannelFeatures, ChannelTypeFeatures, InitFeatures, NodeFeatures}; use crate::ln::msgs; use crate::ln::msgs::{FinalOnionHopData, OptionalField, OnionErrorPacket, OnionHopDataFormat}; - use crate::routing::gossip::NodeId; + use crate::routing::gossip::{NodeAlias, NodeId}; use crate::util::ser::{Writeable, Readable, Hostname}; use bitcoin::hashes::hex::FromHex; @@ -2333,7 +2333,7 @@ mod tests { timestamp: 20190119, node_id: NodeId::from_pubkey(&pubkey_1), rgb: [32; 3], - alias: [16;32], + alias: NodeAlias([16;32]), addresses, excess_address_data: if excess_address_data { vec![33, 108, 40, 11, 83, 149, 162, 84, 110, 126, 75, 38, 99, 224, 79, 129, 22, 34, 241, 90, 79, 146, 232, 58, 162, 233, 43, 162, 165, 115, 193, 57, 20, 44, 84, 174, 99, 7, 42, 30, 193, 238, 125, 192, 192, 75, 222, 92, 132, 120, 6, 23, 42, 160, 92, 146, 194, 42, 232, 227, 8, 209, 210, 105] } else { Vec::new() }, excess_data: if excess_data { vec![59, 18, 204, 25, 92, 224, 162, 209, 189, 166, 168, 139, 239, 161, 159, 160, 127, 81, 202, 167, 92, 232, 56, 55, 242, 137, 101, 96, 11, 138, 172, 171, 8, 85, 255, 176, 231, 65, 236, 95, 124, 65, 66, 30, 152, 41, 169, 212, 134, 17, 200, 200, 49, 247, 27, 229, 234, 115, 230, 101, 148, 151, 127, 253] } else { Vec::new() }, diff --git a/lightning/src/ln/peer_handler.rs b/lightning/src/ln/peer_handler.rs index bb4b076b1..8ec9d7295 100644 --- a/lightning/src/ln/peer_handler.rs +++ b/lightning/src/ln/peer_handler.rs @@ -28,7 +28,7 @@ use crate::ln::peer_channel_encryptor::{PeerChannelEncryptor,NextNoiseStep}; use crate::ln::wire; use crate::ln::wire::Encode; use crate::onion_message::{CustomOnionMessageContents, CustomOnionMessageHandler, SimpleArcOnionMessenger, SimpleRefOnionMessenger}; -use crate::routing::gossip::{NetworkGraph, P2PGossipSync, NodeId}; +use crate::routing::gossip::{NetworkGraph, P2PGossipSync, NodeId, NodeAlias}; use crate::util::atomic_counter::AtomicCounter; use crate::util::logger::Logger; @@ -2153,7 +2153,9 @@ impl NetworkGraph where L::Target: Logger { features: msg.features.clone(), last_update: msg.timestamp, rgb: msg.rgb, - alias: NodeAlias(msg.alias), + alias: msg.alias, announcement_message: if should_relay { full_msg.cloned() } else { None }, }); @@ -2029,7 +2029,7 @@ pub(crate) mod tests { timestamp: 100, node_id, rgb: [0; 3], - alias: [0; 32], + alias: NodeAlias([0; 32]), addresses: Vec::new(), excess_address_data: Vec::new(), excess_data: Vec::new(), diff --git a/lightning/src/routing/test_utils.rs b/lightning/src/routing/test_utils.rs index 68264207f..d0e44eb21 100644 --- a/lightning/src/routing/test_utils.rs +++ b/lightning/src/routing/test_utils.rs @@ -7,7 +7,7 @@ // You may not use this file except in accordance with one or both of these // licenses. -use crate::routing::gossip::{NetworkGraph, P2PGossipSync}; +use crate::routing::gossip::{NetworkGraph, NodeAlias, P2PGossipSync}; use crate::ln::features::{ChannelFeatures, NodeFeatures}; use crate::ln::msgs::{UnsignedChannelAnnouncement, ChannelAnnouncement, RoutingMessageHandler, NodeAnnouncement, UnsignedNodeAnnouncement, ChannelUpdate, UnsignedChannelUpdate, MAX_VALUE_MSAT}; @@ -72,7 +72,7 @@ pub(super) fn add_or_update_node( timestamp, node_id, rgb: [0; 3], - alias: [0; 32], + alias: NodeAlias([0; 32]), addresses: Vec::new(), excess_address_data: Vec::new(), excess_data: Vec::new(), -- 2.39.5