1
1
// This file is auto-generated by gen_target.sh based on msg_target_template.txt
2
2
// To modify it, modify msg_target_template.txt and run gen_target.sh instead.
3
3
4
+ extern crate bitcoin;
4
5
extern crate lightning;
5
6
7
+ use bitcoin:: util:: hash:: Sha256dHash ;
8
+
6
9
use lightning:: ln:: channelmonitor;
7
10
use 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;
9
15
10
16
use std:: io:: Cursor ;
17
+ use std:: sync:: Arc ;
11
18
12
19
struct VecWriter ( Vec < u8 > ) ;
13
20
impl Writer for VecWriter {
@@ -23,10 +30,13 @@ impl Writer for VecWriter {
23
30
#[ inline]
24
31
pub fn do_test ( data : & [ u8 ] ) {
25
32
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 ( ) ) {
27
35
let mut w = VecWriter ( Vec :: new ( ) ) ;
28
36
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 ) ;
30
40
w. 0 . clear ( ) ;
31
41
monitor. write_for_watchtower ( & mut w) . unwrap ( ) ;
32
42
}
0 commit comments