@@ -20,6 +20,7 @@ use bitcoin::hashes::Hash as TraitImport;
20
20
use bitcoin:: hashes:: sha256:: Hash as Sha256 ;
21
21
use bitcoin:: hash_types:: { BlockHash , WPubkeyHash } ;
22
22
23
+ use lightning:: chain;
23
24
use lightning:: chain:: transaction:: OutPoint ;
24
25
use lightning:: chain:: chaininterface:: { BroadcasterInterface , ChainListener , ConfirmationTarget , FeeEstimator } ;
25
26
use lightning:: chain:: keysinterface:: { KeysInterface , InMemoryChannelKeys } ;
@@ -95,21 +96,21 @@ impl TestChannelMonitor {
95
96
}
96
97
}
97
98
}
98
- impl channelmonitor :: ManyChannelMonitor for TestChannelMonitor {
99
+ impl chain :: Watch for TestChannelMonitor {
99
100
type Keys = EnforcingChannelKeys ;
100
101
101
- fn add_monitor ( & self , funding_txo : OutPoint , monitor : channelmonitor:: ChannelMonitor < EnforcingChannelKeys > ) -> Result < ( ) , channelmonitor:: ChannelMonitorUpdateErr > {
102
+ fn watch_channel ( & self , funding_txo : OutPoint , monitor : channelmonitor:: ChannelMonitor < EnforcingChannelKeys > ) -> Result < ( ) , channelmonitor:: ChannelMonitorUpdateErr > {
102
103
let mut ser = VecWriter ( Vec :: new ( ) ) ;
103
104
monitor. write_for_disk ( & mut ser) . unwrap ( ) ;
104
105
if let Some ( _) = self . latest_monitors . lock ( ) . unwrap ( ) . insert ( funding_txo, ( monitor. get_latest_update_id ( ) , ser. 0 ) ) {
105
- panic ! ( "Already had monitor pre-add_monitor " ) ;
106
+ panic ! ( "Already had monitor pre-watch_channel " ) ;
106
107
}
107
108
self . should_update_manager . store ( true , atomic:: Ordering :: Relaxed ) ;
108
- assert ! ( self . simple_monitor. add_monitor ( funding_txo, monitor) . is_ok( ) ) ;
109
+ assert ! ( self . simple_monitor. watch_channel ( funding_txo, monitor) . is_ok( ) ) ;
109
110
self . update_ret . lock ( ) . unwrap ( ) . clone ( )
110
111
}
111
112
112
- fn update_monitor ( & self , funding_txo : OutPoint , update : channelmonitor:: ChannelMonitorUpdate ) -> Result < ( ) , channelmonitor:: ChannelMonitorUpdateErr > {
113
+ fn update_channel ( & self , funding_txo : OutPoint , update : channelmonitor:: ChannelMonitorUpdate ) -> Result < ( ) , channelmonitor:: ChannelMonitorUpdateErr > {
113
114
let mut map_lock = self . latest_monitors . lock ( ) . unwrap ( ) ;
114
115
let mut map_entry = match map_lock. entry ( funding_txo) {
115
116
hash_map:: Entry :: Occupied ( entry) => entry,
@@ -125,8 +126,8 @@ impl channelmonitor::ManyChannelMonitor for TestChannelMonitor {
125
126
self . update_ret . lock ( ) . unwrap ( ) . clone ( )
126
127
}
127
128
128
- fn get_and_clear_pending_htlcs_updated ( & self ) -> Vec < HTLCUpdate > {
129
- return self . simple_monitor . get_and_clear_pending_htlcs_updated ( ) ;
129
+ fn release_pending_htlc_updates ( & self ) -> Vec < HTLCUpdate > {
130
+ return self . simple_monitor . release_pending_htlc_updates ( ) ;
130
131
}
131
132
}
132
133
@@ -204,7 +205,7 @@ pub fn do_test<Out: test_logger::Output>(data: &[u8], out: Out) {
204
205
macro_rules! reload_node {
205
206
( $ser: expr, $node_id: expr, $old_monitors: expr) => { {
206
207
let logger: Arc <dyn Logger > = Arc :: new( test_logger:: TestLogger :: new( $node_id. to_string( ) , out. clone( ) ) ) ;
207
- let monitor = Arc :: new( TestChannelMonitor :: new( broadcast. clone( ) , logger. clone( ) , fee_est. clone( ) ) ) ;
208
+ let chain_monitor = Arc :: new( TestChannelMonitor :: new( broadcast. clone( ) , logger. clone( ) , fee_est. clone( ) ) ) ;
208
209
209
210
let keys_manager = Arc :: new( KeyProvider { node_id: $node_id, session_id: atomic:: AtomicU8 :: new( 0 ) , channel_id: atomic:: AtomicU8 :: new( 0 ) } ) ;
210
211
let mut config = UserConfig :: default ( ) ;
@@ -216,7 +217,7 @@ pub fn do_test<Out: test_logger::Output>(data: &[u8], out: Out) {
216
217
let mut old_monitors = $old_monitors. latest_monitors. lock( ) . unwrap( ) ;
217
218
for ( outpoint, ( update_id, monitor_ser) ) in old_monitors. drain( ) {
218
219
monitors. insert( outpoint, <( BlockHash , ChannelMonitor <EnforcingChannelKeys >) >:: read( & mut Cursor :: new( & monitor_ser) ) . expect( "Failed to read monitor" ) . 1 ) ;
219
- monitor . latest_monitors. lock( ) . unwrap( ) . insert( outpoint, ( update_id, monitor_ser) ) ;
220
+ chain_monitor . latest_monitors. lock( ) . unwrap( ) . insert( outpoint, ( update_id, monitor_ser) ) ;
220
221
}
221
222
let mut monitor_refs = HashMap :: new( ) ;
222
223
for ( outpoint, monitor) in monitors. iter_mut( ) {
@@ -226,14 +227,14 @@ pub fn do_test<Out: test_logger::Output>(data: &[u8], out: Out) {
226
227
let read_args = ChannelManagerReadArgs {
227
228
keys_manager,
228
229
fee_estimator: fee_est. clone( ) ,
229
- monitor : monitor . clone( ) ,
230
+ chain_monitor : chain_monitor . clone( ) ,
230
231
tx_broadcaster: broadcast. clone( ) ,
231
232
logger,
232
233
default_config: config,
233
234
channel_monitors: & mut monitor_refs,
234
235
} ;
235
236
236
- ( <( BlockHash , ChannelManager <EnforcingChannelKeys , Arc <TestChannelMonitor >, Arc <TestBroadcaster >, Arc <KeyProvider >, Arc <FuzzEstimator >, Arc <dyn Logger >>) >:: read( & mut Cursor :: new( & $ser. 0 ) , read_args) . expect( "Failed to read manager" ) . 1 , monitor )
237
+ ( <( BlockHash , ChannelManager <EnforcingChannelKeys , Arc <TestChannelMonitor >, Arc <TestBroadcaster >, Arc <KeyProvider >, Arc <FuzzEstimator >, Arc <dyn Logger >>) >:: read( & mut Cursor :: new( & $ser. 0 ) , read_args) . expect( "Failed to read manager" ) . 1 , chain_monitor )
237
238
} }
238
239
}
239
240
0 commit comments