projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
BDR: Linearizing secp256k1 deps
[rust-lightning]
/
lightning
/
src
/
ln
/
peer_handler.rs
diff --git
a/lightning/src/ln/peer_handler.rs
b/lightning/src/ln/peer_handler.rs
index fc6d1cbcda13883864382bb0cb07d35e6c3e1d32..b99f2f522709dd56cbe01a5d441bb77f7892b255 100644
(file)
--- a/
lightning/src/ln/peer_handler.rs
+++ b/
lightning/src/ln/peer_handler.rs
@@
-6,7
+6,7
@@
//! call into the provided message handlers (probably a ChannelManager and Router) with messages
//! they should handle, and encoding/sending response messages.
//! call into the provided message handlers (probably a ChannelManager and Router) with messages
//! they should handle, and encoding/sending response messages.
-use secp256k1::key::{SecretKey,PublicKey};
+use
bitcoin::
secp256k1::key::{SecretKey,PublicKey};
use ln::features::InitFeatures;
use ln::msgs;
use ln::features::InitFeatures;
use ln::msgs;
@@
-26,9
+26,9
@@
use std::sync::atomic::{AtomicUsize, Ordering};
use std::{cmp,error,hash,fmt};
use std::ops::Deref;
use std::{cmp,error,hash,fmt};
use std::ops::Deref;
-use bitcoin
_
hashes::sha256::Hash as Sha256;
-use bitcoin
_
hashes::sha256::HashEngine as Sha256Engine;
-use bitcoin
_
hashes::{HashEngine, Hash};
+use bitcoin
::
hashes::sha256::Hash as Sha256;
+use bitcoin
::
hashes::sha256::HashEngine as Sha256Engine;
+use bitcoin
::
hashes::{HashEngine, Hash};
/// Provides references to trait impls which handle different types of messages.
pub struct MessageHandler<CM: Deref> where CM::Target: msgs::ChannelMessageHandler {
/// Provides references to trait impls which handle different types of messages.
pub struct MessageHandler<CM: Deref> where CM::Target: msgs::ChannelMessageHandler {
@@
-355,10
+355,14
@@
impl<Descriptor: SocketDescriptor, CM: Deref> PeerManager<Descriptor, CM> where
InitSyncTracker::ChannelsSyncing(c) if c < 0xffff_ffff_ffff_ffff => {
let steps = ((MSG_BUFF_SIZE - peer.pending_outbound_buffer.len() + 2) / 3) as u8;
let all_messages = self.message_handler.route_handler.get_next_channel_announcements(c, steps);
InitSyncTracker::ChannelsSyncing(c) if c < 0xffff_ffff_ffff_ffff => {
let steps = ((MSG_BUFF_SIZE - peer.pending_outbound_buffer.len() + 2) / 3) as u8;
let all_messages = self.message_handler.route_handler.get_next_channel_announcements(c, steps);
- for &(ref announce, ref update_a
, ref update_b
) in all_messages.iter() {
+ for &(ref announce, ref update_a
_option, ref update_b_option
) in all_messages.iter() {
encode_and_send_msg!(announce);
encode_and_send_msg!(announce);
- encode_and_send_msg!(update_a);
- encode_and_send_msg!(update_b);
+ if let &Some(ref update_a) = update_a_option {
+ encode_and_send_msg!(update_a);
+ }
+ if let &Some(ref update_b) = update_b_option {
+ encode_and_send_msg!(update_b);
+ }
peer.sync_status = InitSyncTracker::ChannelsSyncing(announce.contents.short_channel_id + 1);
}
if all_messages.is_empty() || all_messages.len() != steps as usize {
peer.sync_status = InitSyncTracker::ChannelsSyncing(announce.contents.short_channel_id + 1);
}
if all_messages.is_empty() || all_messages.len() != steps as usize {
@@
-1149,7
+1153,7
@@
impl<Descriptor: SocketDescriptor, CM: Deref> PeerManager<Descriptor, CM> where
#[cfg(test)]
mod tests {
#[cfg(test)]
mod tests {
- use secp256k1::Signature;
+ use
bitcoin::
secp256k1::Signature;
use bitcoin::BitcoinHash;
use bitcoin::network::constants::Network;
use bitcoin::blockdata::constants::genesis_block;
use bitcoin::BitcoinHash;
use bitcoin::network::constants::Network;
use bitcoin::blockdata::constants::genesis_block;
@@
-1160,8
+1164,8
@@
mod tests {
use util::test_utils;
use util::logger::Logger;
use util::test_utils;
use util::logger::Logger;
- use secp256k1::Secp256k1;
- use secp256k1::key::{SecretKey, PublicKey};
+ use
bitcoin::
secp256k1::Secp256k1;
+ use
bitcoin::
secp256k1::key::{SecretKey, PublicKey};
use rand::{thread_rng, Rng};
use rand::{thread_rng, Rng};
@@
-1313,7
+1317,7
@@
mod tests {
Err(msgs::LightningError { err: "", action: msgs::ErrorAction::IgnoreError })
}
fn handle_htlc_fail_channel_update(&self, _update: &msgs::HTLCFailChannelUpdate) {}
Err(msgs::LightningError { err: "", action: msgs::ErrorAction::IgnoreError })
}
fn handle_htlc_fail_channel_update(&self, _update: &msgs::HTLCFailChannelUpdate) {}
- fn get_next_channel_announcements(&self, starting_point: u64, batch_amount: u8) -> Vec<(msgs::ChannelAnnouncement,
msgs::ChannelUpdate,msgs::ChannelUpdate
)> {
+ fn get_next_channel_announcements(&self, starting_point: u64, batch_amount: u8) -> Vec<(msgs::ChannelAnnouncement,
Option<msgs::ChannelUpdate>, Option<msgs::ChannelUpdate>
)> {
let mut chan_anns = Vec::new();
const TOTAL_UPDS: u64 = 100;
let end: u64 = min(starting_point + batch_amount as u64, TOTAL_UPDS - self.chan_anns_sent.load(Ordering::Acquire) as u64);
let mut chan_anns = Vec::new();
const TOTAL_UPDS: u64 = 100;
let end: u64 = min(starting_point + batch_amount as u64, TOTAL_UPDS - self.chan_anns_sent.load(Ordering::Acquire) as u64);
@@
-1322,7
+1326,7
@@
mod tests {
let chan_upd_2 = get_dummy_channel_update(i);
let chan_ann = get_dummy_channel_announcement(i);
let chan_upd_2 = get_dummy_channel_update(i);
let chan_ann = get_dummy_channel_announcement(i);
- chan_anns.push((chan_ann,
chan_upd_1, chan_upd_2
));
+ chan_anns.push((chan_ann,
Some(chan_upd_1), Some(chan_upd_2)
));
}
self.chan_anns_sent.fetch_add(chan_anns.len(), Ordering::AcqRel);
}
self.chan_anns_sent.fetch_add(chan_anns.len(), Ordering::AcqRel);
@@
-1339,7
+1343,7
@@
mod tests {
}
fn get_dummy_channel_announcement(short_chan_id: u64) -> msgs::ChannelAnnouncement {
}
fn get_dummy_channel_announcement(short_chan_id: u64) -> msgs::ChannelAnnouncement {
- use secp256k1::ffi::Signature as FFISignature;
+ use
bitcoin::
secp256k1::ffi::Signature as FFISignature;
let secp_ctx = Secp256k1::new();
let network = Network::Testnet;
let node_1_privkey = SecretKey::from_slice(&[42; 32]).unwrap();
let secp_ctx = Secp256k1::new();
let network = Network::Testnet;
let node_1_privkey = SecretKey::from_slice(&[42; 32]).unwrap();
@@
-1367,7
+1371,7
@@
mod tests {
}
fn get_dummy_channel_update(short_chan_id: u64) -> msgs::ChannelUpdate {
}
fn get_dummy_channel_update(short_chan_id: u64) -> msgs::ChannelUpdate {
- use secp256k1::ffi::Signature as FFISignature;
+ use
bitcoin::
secp256k1::ffi::Signature as FFISignature;
let network = Network::Testnet;
msgs::ChannelUpdate {
signature: Signature::from(FFISignature::new()),
let network = Network::Testnet;
msgs::ChannelUpdate {
signature: Signature::from(FFISignature::new()),