Skip to content

Commit da79fb0

Browse files
committed
f - Rename ChainListener to chain::Listen
1 parent e012c4c commit da79fb0

File tree

7 files changed

+42
-42
lines changed

7 files changed

+42
-42
lines changed

lightning-block-sync/src/init.rs

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use bitcoin::blockdata::block::{Block, BlockHeader};
55
use bitcoin::hash_types::BlockHash;
66
use bitcoin::network::constants::Network;
77

8-
use lightning::chain::ChainListener;
8+
use lightning::chain;
99

1010
/// Performs a one-time sync of chain listeners using a single *trusted* block source, bringing each
1111
/// listener's view of the chain from its paired block hash to `block_source`'s best chain tip.
@@ -22,7 +22,6 @@ use lightning::chain::ChainListener;
2222
/// use bitcoin::network::constants::Network;
2323
///
2424
/// use lightning::chain;
25-
/// use lightning::chain::ChainListener;
2625
/// use lightning::chain::Watch;
2726
/// use lightning::chain::chainmonitor::ChainMonitor;
2827
/// use lightning::chain::channelmonitor;
@@ -83,8 +82,8 @@ use lightning::chain::ChainListener;
8382
/// let mut cache = UnboundedCache::new();
8483
/// let mut monitor_listener = (RefCell::new(monitor), &*tx_broadcaster, &*fee_estimator, &*logger);
8584
/// let listeners = vec![
86-
/// (monitor_block_hash, &mut monitor_listener as &mut dyn ChainListener),
87-
/// (manager_block_hash, &mut manager as &mut dyn ChainListener),
85+
/// (monitor_block_hash, &mut monitor_listener as &mut dyn chain::Listen),
86+
/// (manager_block_hash, &mut manager as &mut dyn chain::Listen),
8887
/// ];
8988
/// let chain_tip =
9089
/// init::sync_listeners(block_source, Network::Bitcoin, &mut cache, listeners).await.unwrap();
@@ -105,7 +104,7 @@ pub async fn sync_listeners<B: BlockSource, C: Cache>(
105104
block_source: &mut B,
106105
network: Network,
107106
header_cache: &mut C,
108-
mut chain_listeners: Vec<(BlockHash, &mut dyn ChainListener)>,
107+
mut chain_listeners: Vec<(BlockHash, &mut dyn chain::Listen)>,
109108
) -> BlockSourceResult<ValidatedBlockHeader> {
110109
let (best_block_hash, best_block_height) = block_source.get_best_block().await?;
111110
let new_header = block_source
@@ -181,9 +180,9 @@ impl<'a, C: Cache> Cache for ReadOnlyCache<'a, C> {
181180
}
182181

183182
/// Wrapper for supporting dynamically sized chain listeners.
184-
struct DynamicChainListener<'a>(&'a mut dyn ChainListener);
183+
struct DynamicChainListener<'a>(&'a mut dyn chain::Listen);
185184

186-
impl<'a> ChainListener for DynamicChainListener<'a> {
185+
impl<'a> chain::Listen for DynamicChainListener<'a> {
187186
fn block_connected(&self, _block: &Block, _height: u32) {
188187
unreachable!()
189188
}
@@ -194,9 +193,9 @@ impl<'a> ChainListener for DynamicChainListener<'a> {
194193
}
195194

196195
/// A set of dynamically sized chain listeners, each paired with a starting block height.
197-
struct ChainListenerSet<'a>(Vec<(u32, &'a mut dyn ChainListener)>);
196+
struct ChainListenerSet<'a>(Vec<(u32, &'a mut dyn chain::Listen)>);
198197

199-
impl<'a> ChainListener for ChainListenerSet<'a> {
198+
impl<'a> chain::Listen for ChainListenerSet<'a> {
200199
fn block_connected(&self, block: &Block, height: u32) {
201200
for (starting_height, chain_listener) in self.0.iter() {
202201
if height > *starting_height {
@@ -232,9 +231,9 @@ mod tests {
232231
.expect_block_connected(*chain.at_height(4));
233232

234233
let listeners = vec![
235-
(chain.at_height(1).block_hash, &mut listener_1 as &mut dyn ChainListener),
236-
(chain.at_height(2).block_hash, &mut listener_2 as &mut dyn ChainListener),
237-
(chain.at_height(3).block_hash, &mut listener_3 as &mut dyn ChainListener),
234+
(chain.at_height(1).block_hash, &mut listener_1 as &mut dyn chain::Listen),
235+
(chain.at_height(2).block_hash, &mut listener_2 as &mut dyn chain::Listen),
236+
(chain.at_height(3).block_hash, &mut listener_3 as &mut dyn chain::Listen),
238237
];
239238
let mut cache = chain.header_cache(0..=4);
240239
match sync_listeners(&mut chain, Network::Bitcoin, &mut cache, listeners).await {
@@ -267,9 +266,9 @@ mod tests {
267266
.expect_block_connected(*main_chain.at_height(4));
268267

269268
let listeners = vec![
270-
(fork_chain_1.tip().block_hash, &mut listener_1 as &mut dyn ChainListener),
271-
(fork_chain_2.tip().block_hash, &mut listener_2 as &mut dyn ChainListener),
272-
(fork_chain_3.tip().block_hash, &mut listener_3 as &mut dyn ChainListener),
269+
(fork_chain_1.tip().block_hash, &mut listener_1 as &mut dyn chain::Listen),
270+
(fork_chain_2.tip().block_hash, &mut listener_2 as &mut dyn chain::Listen),
271+
(fork_chain_3.tip().block_hash, &mut listener_3 as &mut dyn chain::Listen),
273272
];
274273
let mut cache = fork_chain_1.header_cache(2..=4);
275274
cache.extend(fork_chain_2.header_cache(3..=4));
@@ -310,9 +309,9 @@ mod tests {
310309
.expect_block_connected(*main_chain.at_height(4));
311310

312311
let listeners = vec![
313-
(fork_chain_1.tip().block_hash, &mut listener_1 as &mut dyn ChainListener),
314-
(fork_chain_2.tip().block_hash, &mut listener_2 as &mut dyn ChainListener),
315-
(fork_chain_3.tip().block_hash, &mut listener_3 as &mut dyn ChainListener),
312+
(fork_chain_1.tip().block_hash, &mut listener_1 as &mut dyn chain::Listen),
313+
(fork_chain_2.tip().block_hash, &mut listener_2 as &mut dyn chain::Listen),
314+
(fork_chain_3.tip().block_hash, &mut listener_3 as &mut dyn chain::Listen),
316315
];
317316
let mut cache = fork_chain_1.header_cache(2..=4);
318317
cache.extend(fork_chain_2.header_cache(3..=4));
@@ -334,7 +333,7 @@ mod tests {
334333
.expect_block_disconnected(*old_tip)
335334
.expect_block_connected(*new_tip);
336335

337-
let listeners = vec![(old_tip.block_hash, &mut listener as &mut dyn ChainListener)];
336+
let listeners = vec![(old_tip.block_hash, &mut listener as &mut dyn chain::Listen)];
338337
let mut cache = fork_chain.header_cache(2..=2);
339338
match sync_listeners(&mut main_chain, Network::Bitcoin, &mut cache, listeners).await {
340339
Ok(_) => {

lightning-block-sync/src/lib.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ use bitcoin::blockdata::block::{Block, BlockHeader};
4343
use bitcoin::hash_types::BlockHash;
4444
use bitcoin::util::uint::Uint256;
4545

46-
use lightning::chain::ChainListener;
46+
use lightning::chain;
47+
use lightning::chain::Listen;
4748

4849
use std::future::Future;
4950
use std::ops::Deref;
@@ -159,7 +160,7 @@ pub struct BlockHeaderData {
159160
/// Hence, there is a trade-off between a lower memory footprint and potentially increased network
160161
/// I/O as headers are re-fetched during fork detection.
161162
pub struct SpvClient<'a, P: Poll, C: Cache, L: Deref>
162-
where L::Target: ChainListener {
163+
where L::Target: chain::Listen {
163164
chain_tip: ValidatedBlockHeader,
164165
chain_poller: P,
165166
chain_notifier: ChainNotifier<'a, C, L>,
@@ -207,8 +208,7 @@ impl Cache for UnboundedCache {
207208
}
208209
}
209210

210-
impl<'a, P: Poll, C: Cache, L: Deref> SpvClient<'a, P, C, L>
211-
where L::Target: ChainListener {
211+
impl<'a, P: Poll, C: Cache, L: Deref> SpvClient<'a, P, C, L> where L::Target: chain::Listen {
212212
/// Creates a new SPV client using `chain_tip` as the best known chain tip.
213213
///
214214
/// Subsequent calls to [`poll_best_tip`] will poll for the best chain tip using the given chain
@@ -271,8 +271,8 @@ where L::Target: ChainListener {
271271

272272
/// Notifies [listeners] of blocks that have been connected or disconnected from the chain.
273273
///
274-
/// [listeners]: trait.ChainListener.html
275-
pub struct ChainNotifier<'a, C: Cache, L: Deref> where L::Target: ChainListener {
274+
/// [listeners]: ../../lightning/chain/trait.Listen.html
275+
pub struct ChainNotifier<'a, C: Cache, L: Deref> where L::Target: chain::Listen {
276276
/// Cache for looking up headers before fetching from a block source.
277277
header_cache: &'a mut C,
278278

@@ -298,7 +298,7 @@ struct ChainDifference {
298298
connected_blocks: Vec<ValidatedBlockHeader>,
299299
}
300300

301-
impl<'a, C: Cache, L: Deref> ChainNotifier<'a, C, L> where L::Target: ChainListener {
301+
impl<'a, C: Cache, L: Deref> ChainNotifier<'a, C, L> where L::Target: chain::Listen {
302302
/// Finds the first common ancestor between `new_header` and `old_header`, disconnecting blocks
303303
/// from `old_header` to get to that point and then connecting blocks until `new_header`.
304304
///

lightning-block-sync/src/test_utils.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::{AsyncBlockSourceResult, BlockHeaderData, BlockSource, BlockSourceError, ChainListener, UnboundedCache};
1+
use crate::{AsyncBlockSourceResult, BlockHeaderData, BlockSource, BlockSourceError, UnboundedCache};
22
use crate::poll::{Validate, ValidatedBlockHeader};
33

44
use bitcoin::blockdata::block::{Block, BlockHeader};
@@ -7,6 +7,8 @@ use bitcoin::hash_types::BlockHash;
77
use bitcoin::network::constants::Network;
88
use bitcoin::util::uint::Uint256;
99

10+
use lightning::chain;
11+
1012
use std::cell::RefCell;
1113
use std::collections::VecDeque;
1214

@@ -163,7 +165,7 @@ impl BlockSource for Blockchain {
163165

164166
pub struct NullChainListener;
165167

166-
impl ChainListener for NullChainListener {
168+
impl chain::Listen for NullChainListener {
167169
fn block_connected(&self, _block: &Block, _height: u32) {}
168170
fn block_disconnected(&self, _header: &BlockHeader, _height: u32) {}
169171
}
@@ -192,7 +194,7 @@ impl MockChainListener {
192194
}
193195
}
194196

195-
impl ChainListener for MockChainListener {
197+
impl chain::Listen for MockChainListener {
196198
fn block_connected(&self, block: &Block, height: u32) {
197199
match self.expected_blocks_connected.borrow_mut().pop_front() {
198200
None => {

lightning/src/chain/chainmonitor.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
use bitcoin::blockdata::block::{Block, BlockHeader};
3333

3434
use chain;
35-
use chain::ChainListener;
3635
use chain::Filter;
3736
use chain::chaininterface::{BroadcasterInterface, FeeEstimator};
3837
use chain::channelmonitor;
@@ -142,7 +141,7 @@ where C::Target: chain::Filter,
142141
}
143142

144143
impl<ChannelSigner: Sign, C: Deref + Send + Sync, T: Deref + Send + Sync, F: Deref + Send + Sync, L: Deref + Send + Sync, P: Deref + Send + Sync>
145-
ChainListener for ChainMonitor<ChannelSigner, C, T, F, L, P>
144+
chain::Listen for ChainMonitor<ChannelSigner, C, T, F, L, P>
146145
where
147146
ChannelSigner: Sign,
148147
C::Target: chain::Filter,

lightning/src/chain/channelmonitor.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ use ln::chan_utils;
4141
use ln::chan_utils::{CounterpartyCommitmentSecrets, HTLCOutputInCommitment, HTLCType, ChannelTransactionParameters, HolderCommitmentTransaction};
4242
use ln::channelmanager::{HTLCSource, PaymentPreimage, PaymentHash};
4343
use ln::onchaintx::{OnchainTxHandler, InputDescriptors};
44-
use chain::ChainListener;
44+
use chain;
4545
use chain::chaininterface::{BroadcasterInterface, FeeEstimator};
4646
use chain::transaction::{OutPoint, TransactionData};
4747
use chain::keysinterface::{SpendableOutputDescriptor, StaticPaymentOutputDescriptor, DelayedPaymentOutputDescriptor, Sign, KeysInterface};
@@ -2299,7 +2299,7 @@ pub trait Persist<ChannelSigner: Sign>: Send + Sync {
22992299
fn update_persisted_channel(&self, id: OutPoint, update: &ChannelMonitorUpdate, data: &ChannelMonitor<ChannelSigner>) -> Result<(), ChannelMonitorUpdateErr>;
23002300
}
23012301

2302-
impl<Signer: Sign, T: Deref, F: Deref, L: Deref> ChainListener for (RefCell<ChannelMonitor<Signer>>, T, F, L)
2302+
impl<Signer: Sign, T: Deref, F: Deref, L: Deref> chain::Listen for (RefCell<ChannelMonitor<Signer>>, T, F, L)
23032303
where
23042304
T::Target: BroadcasterInterface,
23052305
F::Target: FeeEstimator,

lightning/src/chain/mod.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,11 @@ pub trait Access: Send + Sync {
4747
fn get_utxo(&self, genesis_hash: &BlockHash, short_channel_id: u64) -> Result<TxOut, AccessError>;
4848
}
4949

50-
/// Adaptor used for notifying when blocks have been connected or disconnected from the chain.
50+
/// The `Listen` trait is used to be notified of when blocks have been connected or disconnected
51+
/// from the chain.
5152
///
52-
/// Used when needing to replay chain data upon startup or as new chain events occur.
53-
pub trait ChainListener {
53+
/// Useful when needing to replay chain data upon startup or as new chain events occur.
54+
pub trait Listen {
5455
/// Notifies the listener that a block was added at the given height.
5556
fn block_connected(&self, block: &Block, height: u32);
5657

@@ -136,7 +137,7 @@ pub trait Filter: Send + Sync {
136137
fn register_output(&self, outpoint: &OutPoint, script_pubkey: &Script);
137138
}
138139

139-
impl<T: ChainListener> ChainListener for std::ops::Deref<Target = T> {
140+
impl<T: Listen> Listen for std::ops::Deref<Target = T> {
140141
fn block_connected(&self, block: &Block, height: u32) {
141142
(**self).block_connected(block, height);
142143
}
@@ -146,10 +147,10 @@ impl<T: ChainListener> ChainListener for std::ops::Deref<Target = T> {
146147
}
147148
}
148149

149-
impl<T: std::ops::Deref, U: std::ops::Deref> ChainListener for (T, U)
150+
impl<T: std::ops::Deref, U: std::ops::Deref> Listen for (T, U)
150151
where
151-
T::Target: ChainListener,
152-
U::Target: ChainListener,
152+
T::Target: Listen,
153+
U::Target: Listen,
153154
{
154155
fn block_connected(&self, block: &Block, height: u32) {
155156
self.0.block_connected(block, height);

lightning/src/ln/channelmanager.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ use bitcoin::secp256k1::ecdh::SharedSecret;
3535
use bitcoin::secp256k1;
3636

3737
use chain;
38-
use chain::ChainListener;
3938
use chain::Watch;
4039
use chain::chaininterface::{BroadcasterInterface, FeeEstimator};
4140
use chain::channelmonitor::{ChannelMonitor, ChannelMonitorUpdate, ChannelMonitorUpdateStep, ChannelMonitorUpdateErr, HTLC_FAIL_BACK_BUFFER, CLTV_CLAIM_BUFFER, LATENCY_GRACE_PERIOD_BLOCKS, ANTI_REORG_DELAY, MonitorEvent, CLOSED_CHANNEL_UPDATE_ID};
@@ -3140,7 +3139,7 @@ impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> EventsProvi
31403139
}
31413140
}
31423141

3143-
impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChainListener for ChannelManager<Signer, M, T, K, F, L>
3142+
impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> chain::Listen for ChannelManager<Signer, M, T, K, F, L>
31443143
where
31453144
M::Target: chain::Watch<Signer>,
31463145
T::Target: BroadcasterInterface,

0 commit comments

Comments
 (0)