@@ -8,24 +8,33 @@ use katana_utils::TestNode;
88async fn test_next_block_timestamp_in_past ( ) {
99 let sequencer = TestNode :: new ( ) . await ;
1010 let backend = sequencer. backend ( ) ;
11- let provider = backend. storage . provider ( ) ;
1211
1312 // Create a jsonrpsee client for the DevApi
1413 let client = sequencer. rpc_http_client ( ) ;
1514
16- let block_num = provider. latest_number ( ) . unwrap ( ) ;
17- let mut block_env = provider. block_env_at ( block_num. into ( ) ) . unwrap ( ) . unwrap ( ) ;
18- backend. update_block_env ( & mut block_env) ;
15+ let block1 = {
16+ let provider = backend. storage . provider ( ) ;
1917
20- let block1 = backend. mine_empty_block ( & block_env) . unwrap ( ) . block_number ;
21- let block1_timestamp = provider. block ( block1. into ( ) ) . unwrap ( ) . unwrap ( ) . header . timestamp ;
22- client. set_next_block_timestamp ( block1_timestamp - 1000 ) . await . unwrap ( ) ;
18+ let block_num = provider. latest_number ( ) . unwrap ( ) ;
19+ let mut block_env = provider. block_env_at ( block_num. into ( ) ) . unwrap ( ) . unwrap ( ) ;
20+ backend. update_block_env ( & mut block_env) ;
21+ backend. mine_empty_block ( & block_env) . unwrap ( ) . block_number
22+ } ;
23+
24+ let block2 = {
25+ let provider = backend. storage . provider ( ) ;
2326
24- let block_num = provider. latest_number ( ) . unwrap ( ) ;
25- let mut block_env = provider. block_env_at ( block_num. into ( ) ) . unwrap ( ) . unwrap ( ) ;
26- backend. update_block_env ( & mut block_env) ;
27+ let block1_timestamp = provider. block ( block1. into ( ) ) . unwrap ( ) . unwrap ( ) . header . timestamp ;
28+ client. set_next_block_timestamp ( block1_timestamp - 1000 ) . await . unwrap ( ) ;
2729
28- let block2 = backend. mine_empty_block ( & block_env) . unwrap ( ) . block_number ;
30+ let block_num = provider. latest_number ( ) . unwrap ( ) ;
31+ let mut block_env = provider. block_env_at ( block_num. into ( ) ) . unwrap ( ) . unwrap ( ) ;
32+ backend. update_block_env ( & mut block_env) ;
33+ backend. mine_empty_block ( & block_env) . unwrap ( ) . block_number
34+ } ;
35+
36+ let provider = backend. storage . provider ( ) ;
37+ let block1_timestamp = provider. block ( block1. into ( ) ) . unwrap ( ) . unwrap ( ) . header . timestamp ;
2938 let block2_timestamp = provider. block ( block2. into ( ) ) . unwrap ( ) . unwrap ( ) . header . timestamp ;
3039
3140 assert_eq ! ( block2_timestamp, block1_timestamp - 1000 , "timestamp should be updated" ) ;
@@ -35,25 +44,32 @@ async fn test_next_block_timestamp_in_past() {
3544async fn test_set_next_block_timestamp_in_future ( ) {
3645 let sequencer = TestNode :: new ( ) . await ;
3746 let backend = sequencer. backend ( ) ;
38- let provider = backend. storage . provider ( ) ;
39-
4047 // Create a jsonrpsee client for the DevApi
4148 let client = sequencer. rpc_http_client ( ) ;
4249
43- let block_num = provider. latest_number ( ) . unwrap ( ) ;
44- let mut block_env = provider. block_env_at ( block_num. into ( ) ) . unwrap ( ) . unwrap ( ) ;
45- backend. update_block_env ( & mut block_env) ;
46- let block1 = backend. mine_empty_block ( & block_env) . unwrap ( ) . block_number ;
50+ let block1 = {
51+ let provider = backend. storage . provider ( ) ;
4752
48- let block1_timestamp = provider. block ( block1. into ( ) ) . unwrap ( ) . unwrap ( ) . header . timestamp ;
53+ let block_num = provider. latest_number ( ) . unwrap ( ) ;
54+ let mut block_env = provider. block_env_at ( block_num. into ( ) ) . unwrap ( ) . unwrap ( ) ;
55+ backend. update_block_env ( & mut block_env) ;
56+ backend. mine_empty_block ( & block_env) . unwrap ( ) . block_number
57+ } ;
4958
50- client. set_next_block_timestamp ( block1_timestamp + 1000 ) . await . unwrap ( ) ;
59+ let block2 = {
60+ let provider = backend. storage . provider ( ) ;
5161
52- let block_num = provider. latest_number ( ) . unwrap ( ) ;
53- let mut block_env = provider. block_env_at ( block_num. into ( ) ) . unwrap ( ) . unwrap ( ) ;
54- backend. update_block_env ( & mut block_env) ;
55- let block2 = backend. mine_empty_block ( & block_env) . unwrap ( ) . block_number ;
62+ let block1_timestamp = provider. block ( block1. into ( ) ) . unwrap ( ) . unwrap ( ) . header . timestamp ;
63+ client. set_next_block_timestamp ( block1_timestamp + 1000 ) . await . unwrap ( ) ;
5664
65+ let block_num = provider. latest_number ( ) . unwrap ( ) ;
66+ let mut block_env = provider. block_env_at ( block_num. into ( ) ) . unwrap ( ) . unwrap ( ) ;
67+ backend. update_block_env ( & mut block_env) ;
68+ backend. mine_empty_block ( & block_env) . unwrap ( ) . block_number
69+ } ;
70+
71+ let provider = backend. storage . provider ( ) ;
72+ let block1_timestamp = provider. block ( block1. into ( ) ) . unwrap ( ) . unwrap ( ) . header . timestamp ;
5773 let block2_timestamp = provider. block ( block2. into ( ) ) . unwrap ( ) . unwrap ( ) . header . timestamp ;
5874
5975 assert_eq ! ( block2_timestamp, block1_timestamp + 1000 , "timestamp should be updated" ) ;
@@ -63,25 +79,31 @@ async fn test_set_next_block_timestamp_in_future() {
6379async fn test_increase_next_block_timestamp ( ) {
6480 let sequencer = TestNode :: new ( ) . await ;
6581 let backend = sequencer. backend ( ) ;
66- let provider = backend. storage . provider ( ) ;
67-
6882 // Create a jsonrpsee client for the DevApi
6983 let client = sequencer. rpc_http_client ( ) ;
7084
71- let block_num = provider. latest_number ( ) . unwrap ( ) ;
72- let mut block_env = provider. block_env_at ( block_num. into ( ) ) . unwrap ( ) . unwrap ( ) ;
73- backend. update_block_env ( & mut block_env) ;
74- let block1 = backend. mine_empty_block ( & block_env) . unwrap ( ) . block_number ;
85+ let block1 = {
86+ let provider = backend. storage . provider ( ) ;
7587
76- let block1_timestamp = provider. block ( block1. into ( ) ) . unwrap ( ) . unwrap ( ) . header . timestamp ;
88+ let block_num = provider. latest_number ( ) . unwrap ( ) ;
89+ let mut block_env = provider. block_env_at ( block_num. into ( ) ) . unwrap ( ) . unwrap ( ) ;
90+ backend. update_block_env ( & mut block_env) ;
91+ backend. mine_empty_block ( & block_env) . unwrap ( ) . block_number
92+ } ;
93+
94+ let block2 = {
95+ let provider = backend. storage . provider ( ) ;
7796
78- client. increase_next_block_timestamp ( 1000 ) . await . unwrap ( ) ;
97+ client. increase_next_block_timestamp ( 1000 ) . await . unwrap ( ) ;
7998
80- let block_num = provider. latest_number ( ) . unwrap ( ) ;
81- let mut block_env = provider. block_env_at ( block_num. into ( ) ) . unwrap ( ) . unwrap ( ) ;
82- backend. update_block_env ( & mut block_env) ;
83- let block2 = backend. mine_empty_block ( & block_env) . unwrap ( ) . block_number ;
99+ let block_num = provider. latest_number ( ) . unwrap ( ) ;
100+ let mut block_env = provider. block_env_at ( block_num. into ( ) ) . unwrap ( ) . unwrap ( ) ;
101+ backend. update_block_env ( & mut block_env) ;
102+ backend. mine_empty_block ( & block_env) . unwrap ( ) . block_number
103+ } ;
84104
105+ let provider = backend. storage . provider ( ) ;
106+ let block1_timestamp = provider. block ( block1. into ( ) ) . unwrap ( ) . unwrap ( ) . header . timestamp ;
85107 let block2_timestamp = provider. block ( block2. into ( ) ) . unwrap ( ) . unwrap ( ) . header . timestamp ;
86108
87109 // Depending on the current time and the machine we run on, we may have 1 sec difference
0 commit comments