projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Stop relying on `*Features::known` in functional test utils
[rust-lightning]
/
lightning-rapid-gossip-sync
/
src
/
processing.rs
diff --git
a/lightning-rapid-gossip-sync/src/processing.rs
b/lightning-rapid-gossip-sync/src/processing.rs
index 6ffc6f58ea88bf6adbf1fc9e7fbd2184a0ed78e4..818e19fe4b42fa6f12a31597b8ca4798eee2b5cb 100644
(file)
--- a/
lightning-rapid-gossip-sync/src/processing.rs
+++ b/
lightning-rapid-gossip-sync/src/processing.rs
@@
-8,9
+8,10
@@
use bitcoin::BlockHash;
use bitcoin::secp256k1::PublicKey;
use lightning::ln::msgs::{
use bitcoin::secp256k1::PublicKey;
use lightning::ln::msgs::{
- DecodeError, ErrorAction, LightningError,
OptionalField,
UnsignedChannelUpdate,
+ DecodeError, ErrorAction, LightningError, UnsignedChannelUpdate,
};
};
-use lightning::routing::network_graph::NetworkGraph;
+use lightning::routing::gossip::NetworkGraph;
+use lightning::util::logger::Logger;
use lightning::util::ser::{BigSize, Readable};
use crate::error::GraphSyncError;
use lightning::util::ser::{BigSize, Readable};
use crate::error::GraphSyncError;
@@
-26,7
+27,7
@@
const GOSSIP_PREFIX: [u8; 4] = [76, 68, 75, 1];
/// avoid malicious updates being able to trigger excessive memory allocation.
const MAX_INITIAL_NODE_ID_VECTOR_CAPACITY: u32 = 50_000;
/// avoid malicious updates being able to trigger excessive memory allocation.
const MAX_INITIAL_NODE_ID_VECTOR_CAPACITY: u32 = 50_000;
-impl<NG: Deref<Target=NetworkGraph
>> RapidGossipSync<NG>
{
+impl<NG: Deref<Target=NetworkGraph
<L>>, L: Deref> RapidGossipSync<NG, L> where L::Target: Logger
{
/// Update network graph from binary data.
/// Returns the last sync timestamp to be used the next time rapid sync data is queried.
///
/// Update network graph from binary data.
/// Returns the last sync timestamp to be used the next time rapid sync data is queried.
///
@@
-118,12
+119,7
@@
impl<NG: Deref<Target=NetworkGraph>> RapidGossipSync<NG> {
let default_htlc_minimum_msat: u64 = Readable::read(&mut read_cursor)?;
let default_fee_base_msat: u32 = Readable::read(&mut read_cursor)?;
let default_fee_proportional_millionths: u32 = Readable::read(&mut read_cursor)?;
let default_htlc_minimum_msat: u64 = Readable::read(&mut read_cursor)?;
let default_fee_base_msat: u32 = Readable::read(&mut read_cursor)?;
let default_fee_proportional_millionths: u32 = Readable::read(&mut read_cursor)?;
- let tentative_default_htlc_maximum_msat: u64 = Readable::read(&mut read_cursor)?;
- let default_htlc_maximum_msat = if tentative_default_htlc_maximum_msat == u64::max_value() {
- OptionalField::Absent
- } else {
- OptionalField::Present(tentative_default_htlc_maximum_msat)
- };
+ let default_htlc_maximum_msat: u64 = Readable::read(&mut read_cursor)?;
for _ in 0..update_count {
let scid_delta: BigSize = Readable::read(read_cursor)?;
for _ in 0..update_count {
let scid_delta: BigSize = Readable::read(read_cursor)?;
@@
-146,7
+142,7
@@
impl<NG: Deref<Target=NetworkGraph>> RapidGossipSync<NG> {
flags: standard_channel_flags,
cltv_expiry_delta: default_cltv_expiry_delta,
htlc_minimum_msat: default_htlc_minimum_msat,
flags: standard_channel_flags,
cltv_expiry_delta: default_cltv_expiry_delta,
htlc_minimum_msat: default_htlc_minimum_msat,
- htlc_maximum_msat: default_htlc_maximum_msat
.clone()
,
+ htlc_maximum_msat: default_htlc_maximum_msat,
fee_base_msat: default_fee_base_msat,
fee_proportional_millionths: default_fee_proportional_millionths,
excess_data: vec![],
fee_base_msat: default_fee_base_msat,
fee_proportional_millionths: default_fee_proportional_millionths,
excess_data: vec![],
@@
-169,13
+165,6
@@
impl<NG: Deref<Target=NetworkGraph>> RapidGossipSync<NG> {
action: ErrorAction::IgnoreError,
})?;
action: ErrorAction::IgnoreError,
})?;
- let htlc_maximum_msat =
- if let Some(htlc_maximum_msat) = directional_info.htlc_maximum_msat {
- OptionalField::Present(htlc_maximum_msat)
- } else {
- OptionalField::Absent
- };
-
UnsignedChannelUpdate {
chain_hash,
short_channel_id,
UnsignedChannelUpdate {
chain_hash,
short_channel_id,
@@
-183,7
+172,7
@@
impl<NG: Deref<Target=NetworkGraph>> RapidGossipSync<NG> {
flags: standard_channel_flags,
cltv_expiry_delta: directional_info.cltv_expiry_delta,
htlc_minimum_msat: directional_info.htlc_minimum_msat,
flags: standard_channel_flags,
cltv_expiry_delta: directional_info.cltv_expiry_delta,
htlc_minimum_msat: directional_info.htlc_minimum_msat,
- htlc_maximum_msat,
+ htlc_maximum_msat
: directional_info.htlc_maximum_msat
,
fee_base_msat: directional_info.fees.base_msat,
fee_proportional_millionths: directional_info.fees.proportional_millionths,
excess_data: vec![],
fee_base_msat: directional_info.fees.base_msat,
fee_proportional_millionths: directional_info.fees.proportional_millionths,
excess_data: vec![],
@@
-211,13
+200,8
@@
impl<NG: Deref<Target=NetworkGraph>> RapidGossipSync<NG> {
}
if channel_flags & 0b_0000_0100 > 0 {
}
if channel_flags & 0b_0000_0100 > 0 {
- let tentative_htlc_maximum_msat: u64 = Readable::read(read_cursor)?;
- synthetic_update.htlc_maximum_msat = if tentative_htlc_maximum_msat == u64::max_value()
- {
- OptionalField::Absent
- } else {
- OptionalField::Present(tentative_htlc_maximum_msat)
- };
+ let htlc_maximum_msat: u64 = Readable::read(read_cursor)?;
+ synthetic_update.htlc_maximum_msat = htlc_maximum_msat;
}
network_graph.update_channel_unsigned(&synthetic_update)?;
}
network_graph.update_channel_unsigned(&synthetic_update)?;
@@
-235,7
+219,8
@@
mod tests {
use bitcoin::Network;
use lightning::ln::msgs::DecodeError;
use bitcoin::Network;
use lightning::ln::msgs::DecodeError;
- use lightning::routing::network_graph::NetworkGraph;
+ use lightning::routing::gossip::NetworkGraph;
+ use lightning::util::test_utils::TestLogger;
use crate::error::GraphSyncError;
use crate::RapidGossipSync;
use crate::error::GraphSyncError;
use crate::RapidGossipSync;
@@
-243,7
+228,8
@@
mod tests {
#[test]
fn network_graph_fails_to_update_from_clipped_input() {
let block_hash = genesis_block(Network::Bitcoin).block_hash();
#[test]
fn network_graph_fails_to_update_from_clipped_input() {
let block_hash = genesis_block(Network::Bitcoin).block_hash();
- let network_graph = NetworkGraph::new(block_hash);
+ let logger = TestLogger::new();
+ let network_graph = NetworkGraph::new(block_hash, &logger);
let example_input = vec![
76, 68, 75, 1, 111, 226, 140, 10, 182, 241, 179, 114, 193, 166, 162, 70, 174, 99, 247,
let example_input = vec![
76, 68, 75, 1, 111, 226, 140, 10, 182, 241, 179, 114, 193, 166, 162, 70, 174, 99, 247,
@@
-282,7
+268,8
@@
mod tests {
];
let block_hash = genesis_block(Network::Bitcoin).block_hash();
];
let block_hash = genesis_block(Network::Bitcoin).block_hash();
- let network_graph = NetworkGraph::new(block_hash);
+ let logger = TestLogger::new();
+ let network_graph = NetworkGraph::new(block_hash, &logger);
assert_eq!(network_graph.read_only().channels().len(), 0);
assert_eq!(network_graph.read_only().channels().len(), 0);
@@
-315,7
+302,8
@@
mod tests {
];
let block_hash = genesis_block(Network::Bitcoin).block_hash();
];
let block_hash = genesis_block(Network::Bitcoin).block_hash();
- let network_graph = NetworkGraph::new(block_hash);
+ let logger = TestLogger::new();
+ let network_graph = NetworkGraph::new(block_hash, &logger);
assert_eq!(network_graph.read_only().channels().len(), 0);
assert_eq!(network_graph.read_only().channels().len(), 0);
@@
-351,7
+339,8
@@
mod tests {
];
let block_hash = genesis_block(Network::Bitcoin).block_hash();
];
let block_hash = genesis_block(Network::Bitcoin).block_hash();
- let network_graph = NetworkGraph::new(block_hash);
+ let logger = TestLogger::new();
+ let network_graph = NetworkGraph::new(block_hash, &logger);
assert_eq!(network_graph.read_only().channels().len(), 0);
assert_eq!(network_graph.read_only().channels().len(), 0);
@@
-417,7
+406,8
@@
mod tests {
];
let block_hash = genesis_block(Network::Bitcoin).block_hash();
];
let block_hash = genesis_block(Network::Bitcoin).block_hash();
- let network_graph = NetworkGraph::new(block_hash);
+ let logger = TestLogger::new();
+ let network_graph = NetworkGraph::new(block_hash, &logger);
assert_eq!(network_graph.read_only().channels().len(), 0);
assert_eq!(network_graph.read_only().channels().len(), 0);
@@
-476,7
+466,8
@@
mod tests {
];
let block_hash = genesis_block(Network::Bitcoin).block_hash();
];
let block_hash = genesis_block(Network::Bitcoin).block_hash();
- let network_graph = NetworkGraph::new(block_hash);
+ let logger = TestLogger::new();
+ let network_graph = NetworkGraph::new(block_hash, &logger);
assert_eq!(network_graph.read_only().channels().len(), 0);
assert_eq!(network_graph.read_only().channels().len(), 0);