1+ use std:: time:: { SystemTime , UNIX_EPOCH } ;
2+
13use alpen_express_primitives:: buf:: Buf64 ;
24use alpen_express_state:: {
35 block:: { L2Block , L2BlockAccessory , L2BlockBody , L2BlockBundle } ,
46 header:: { L2BlockHeader , L2Header , SignedL2BlockHeader } ,
5- id:: L2BlockId ,
67} ;
78
89use crate :: ArbitraryGenerator ;
@@ -13,19 +14,21 @@ pub fn gen_block(parent: Option<&SignedL2BlockHeader>) -> L2BlockBundle {
1314 let body: L2BlockBody = arb. generate ( ) ;
1415 let accessory: L2BlockAccessory = arb. generate ( ) ;
1516
16- let block_idx = match parent {
17- Some ( p) => p. blockidx ( ) + 1 ,
18- None => 0 ,
19- } ;
17+ let start = SystemTime :: now ( ) ;
18+ let since_the_epoch = start
19+ . duration_since ( UNIX_EPOCH )
20+ . expect ( "Time went backwards" ) ;
21+ let current_timestamp = since_the_epoch. as_millis ( ) as u64 ;
2022
21- let prev_block = match parent {
22- Some ( p) => p. get_blockid ( ) ,
23- None => L2BlockId :: default ( ) ,
24- } ;
23+ let block_idx = parent. map ( |h| h. blockidx ( ) + 1 ) . unwrap_or ( 0 ) ;
24+ let prev_block = parent. map ( |h| h. get_blockid ( ) ) . unwrap_or_default ( ) ;
25+ let timestamp = parent
26+ . map ( |h| h. timestamp ( ) + 100 )
27+ . unwrap_or ( current_timestamp) ;
2528
2629 let header = L2BlockHeader :: new (
2730 block_idx,
28- header . timestamp ( ) ,
31+ timestamp,
2932 prev_block,
3033 & body,
3134 * header. state_root ( ) ,
0 commit comments