11// This file is auto-generated by gen_target.sh based on msg_target_template.txt
22// To modify it, modify msg_target_template.txt and run gen_target.sh instead.
33
4+ extern crate bitcoin;
45extern crate lightning;
56
7+ use bitcoin:: util:: hash:: Sha256dHash ;
8+
69use lightning:: ln:: channelmonitor;
710use lightning:: util:: reset_rng_state;
8- use lightning:: util:: ser:: { Readable , Writer } ;
11+ use lightning:: util:: ser:: { ReadableArgs , Writer } ;
12+
13+ mod utils;
14+ use utils:: test_logger;
915
1016use std:: io:: Cursor ;
17+ use std:: sync:: Arc ;
1118
1219struct VecWriter ( Vec < u8 > ) ;
1320impl Writer for VecWriter {
@@ -23,10 +30,13 @@ impl Writer for VecWriter {
2330#[ inline]
2431pub fn do_test ( data : & [ u8 ] ) {
2532 reset_rng_state ( ) ;
26- if let Ok ( monitor) = channelmonitor:: ChannelMonitor :: read ( & mut Cursor :: new ( data) ) {
33+ let logger = Arc :: new ( test_logger:: TestLogger { } ) ;
34+ if let Ok ( ( latest_block_hash, monitor) ) = <( Sha256dHash , channelmonitor:: ChannelMonitor ) >:: read ( & mut Cursor :: new ( data) , logger. clone ( ) ) {
2735 let mut w = VecWriter ( Vec :: new ( ) ) ;
2836 monitor. write_for_disk ( & mut w) . unwrap ( ) ;
29- assert ! ( channelmonitor:: ChannelMonitor :: read( & mut Cursor :: new( & w. 0 ) ) . unwrap( ) == monitor) ;
37+ let deserialized_copy = <( Sha256dHash , channelmonitor:: ChannelMonitor ) >:: read ( & mut Cursor :: new ( & w. 0 ) , logger. clone ( ) ) . unwrap ( ) ;
38+ assert ! ( latest_block_hash == deserialized_copy. 0 ) ;
39+ assert ! ( monitor == deserialized_copy. 1 ) ;
3040 w. 0 . clear ( ) ;
3141 monitor. write_for_watchtower ( & mut w) . unwrap ( ) ;
3242 }
0 commit comments