Skip to content

Commit

Permalink
Test blinded Trampoline payload serialization.
Browse files Browse the repository at this point in the history
  • Loading branch information
arik-so committed Jun 27, 2024
1 parent 16d1ba1 commit 53b7f63
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion lightning/src/ln/msgs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3217,7 +3217,7 @@ mod tests {
use hex::DisplayHex;
use crate::ln::types::{ChannelId, PaymentPreimage, PaymentHash, PaymentSecret};
use crate::ln::features::{ChannelFeatures, ChannelTypeFeatures, InitFeatures, NodeFeatures};
use crate::ln::msgs::{self, FinalOnionHopData, OnionErrorPacket, CommonOpenChannelFields, CommonAcceptChannelFields, TrampolineOnionPacket};
use crate::ln::msgs::{self, FinalOnionHopData, OnionErrorPacket, CommonOpenChannelFields, CommonAcceptChannelFields, TrampolineOnionPacket, OutboundTrampolinePayload};
use crate::ln::msgs::SocketAddress;
use crate::routing::gossip::{NodeAlias, NodeId};
use crate::util::ser::{BigSize, FixedLengthReader, Hostname, LengthReadable, Readable, ReadableArgs, TransactionU16LenLimited, Writeable};
Expand All @@ -3243,6 +3243,7 @@ mod tests {

#[cfg(feature = "std")]
use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr, SocketAddrV4, SocketAddrV6, ToSocketAddrs};
use crate::blinded_path::{BlindedPath, Direction, IntroductionNode};
#[cfg(feature = "std")]
use crate::ln::msgs::SocketAddressParseError;

Expand Down Expand Up @@ -4585,6 +4586,25 @@ mod tests {
assert_eq!(encoded_trampoline_packet, expected_eclair_trampoline_packet);
}

#[test]
fn encoding_outbound_trampoline_payload() {
let public_key = PublicKey::from_slice(&<Vec<u8>>::from_hex("02eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f283686619").unwrap()).unwrap();
let trampoline_payload = OutboundTrampolinePayload::BlindedForward {
amt_to_forward: 100000000,
outgoing_cltv_value: 800000,
payment_paths: vec![
BlindedPath {
introduction_node: IntroductionNode::DirectedShortChannelId(Direction::NodeOne, 12),
blinding_point: public_key,
blinded_hops: vec![],
}
],
invoice_features: None,
};
let serialized_payload = trampoline_payload.encode().to_lower_hex_string();
assert_eq!(serialized_payload, "3c020405f5e10004030c3500fe000102362b00000000000000000c02eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f28368661900");
}

#[test]
fn query_channel_range_end_blocknum() {
let tests: Vec<(u32, u32, u32)> = vec![
Expand Down

0 comments on commit 53b7f63

Please sign in to comment.