@@ -7,22 +7,12 @@ use katana::cli::Cli;
77use katana_db:: abstraction:: { Database , DbCursor , DbDupSortCursor , DbTx , DbTxMut } ;
88use katana_db:: mdbx:: DbEnv ;
99use katana_db:: models:: trie:: { TrieDatabaseKey , TrieDatabaseValue , TrieHistoryEntry } ;
10- use katana_db:: tables:: { ClassesTrieHistory , ContractsTrieHistory , Headers , StoragesTrieHistory } ;
11- use katana_primitives:: block:: Header ;
10+ use katana_db:: tables:: { self } ;
11+ use katana_primitives:: block:: { Header , PartialHeader } ;
1212use katana_utils:: random_bytes;
1313use rstest:: * ;
1414use tempfile:: TempDir ;
1515
16- /// Get the latest block number from the Headers table
17- pub fn get_latest_block_number < Tx : DbTx > ( tx : & Tx ) -> Result < u64 > {
18- let mut cursor = tx. cursor :: < Headers > ( ) ?;
19- if let Some ( ( block_num, _) ) = cursor. last ( ) ? {
20- Ok ( block_num)
21- } else {
22- Ok ( 0 )
23- }
24- }
25-
2616struct TempDb {
2717 temp_dir : TempDir ,
2818 db_path : PathBuf ,
@@ -96,36 +86,30 @@ fn generate_trie_entries(
9686fn populate_db ( db : & TempDb ) -> Result < ( ) > {
9787 db. open_rw ( ) . update ( |tx| {
9888 for block_num in 0 ..=15u64 {
99- let header =
100- Header :: arbitrary ( & mut Unstructured :: new ( & random_bytes ( Header :: size_hint ( 0 ) . 0 ) ) )
101- . context ( "Failed to generate arbitrary header" ) ?;
102-
103- tx. put :: < Headers > ( block_num, header) ?;
89+ tx. put :: < tables:: Headers > ( block_num, Header :: default ( ) ) ?;
10490 }
10591
106- // Generate arbitrary trie data for each trie type
107- let classes_data = generate_trie_entries ( 15 , 5 ) ?;
108- let contracts_data = generate_trie_entries ( 15 , 3 ) ?;
109- let storages_data = generate_trie_entries ( 15 , 7 ) ?;
110-
11192 // Insert classes trie history
93+ let classes_data = generate_trie_entries ( 15 , 5 ) ?;
11294 for ( block_num, entries) in classes_data {
11395 for entry in entries {
114- tx. put :: < ClassesTrieHistory > ( block_num, entry) ?;
96+ tx. put :: < tables :: ClassesTrieHistory > ( block_num, entry) ?;
11597 }
11698 }
11799
118100 // Insert contracts trie history
101+ let contracts_data = generate_trie_entries ( 15 , 3 ) ?;
119102 for ( block_num, entries) in contracts_data {
120103 for entry in entries {
121- tx. put :: < ContractsTrieHistory > ( block_num, entry) ?;
104+ tx. put :: < tables :: ContractsTrieHistory > ( block_num, entry) ?;
122105 }
123106 }
124107
125108 // Insert storages trie history
109+ let storages_data = generate_trie_entries ( 15 , 7 ) ?;
126110 for ( block_num, entries) in storages_data {
127111 for entry in entries {
128- tx. put :: < StoragesTrieHistory > ( block_num, entry) ?;
112+ tx. put :: < tables :: StoragesTrieHistory > ( block_num, entry) ?;
129113 }
130114 }
131115
@@ -139,21 +123,21 @@ fn count_historical_entries(db: &DbEnv) -> Result<usize> {
139123 let mut total = 0 ;
140124
141125 // Count ClassesTrieHistory entries
142- let mut cursor = tx. cursor_dup :: < ClassesTrieHistory > ( ) ?;
126+ let mut cursor = tx. cursor_dup :: < tables :: ClassesTrieHistory > ( ) ?;
143127 let mut walker = cursor. walk ( None ) ?;
144128 while walker. next ( ) . transpose ( ) ?. is_some ( ) {
145129 total += 1 ;
146130 }
147131
148132 // Count ContractsTrieHistory entries
149- let mut cursor = tx. cursor_dup :: < ContractsTrieHistory > ( ) ?;
133+ let mut cursor = tx. cursor_dup :: < tables :: ContractsTrieHistory > ( ) ?;
150134 let mut walker = cursor. walk ( None ) ?;
151135 while walker. next ( ) . transpose ( ) ?. is_some ( ) {
152136 total += 1 ;
153137 }
154138
155139 // Count StoragesTrieHistory entries
156- let mut cursor = tx. cursor_dup :: < StoragesTrieHistory > ( ) ?;
140+ let mut cursor = tx. cursor_dup :: < tables :: StoragesTrieHistory > ( ) ?;
157141 let mut walker = cursor. walk ( None ) ?;
158142 while walker. next ( ) . transpose ( ) ?. is_some ( ) {
159143 total += 1 ;
@@ -165,7 +149,7 @@ fn count_historical_entries(db: &DbEnv) -> Result<usize> {
165149/// Count headers in the database (should remain unchanged after pruning)
166150fn count_headers ( db : & DbEnv ) -> Result < usize > {
167151 let tx = db. tx ( ) ?;
168- let mut cursor = tx. cursor :: < Headers > ( ) ?;
152+ let mut cursor = tx. cursor :: < tables :: Headers > ( ) ?;
169153 let mut count = 0 ;
170154
171155 let mut walker = cursor. walk ( None ) ?;
0 commit comments