@@ -4,10 +4,7 @@ use heed::{DatabaseFlags, DefaultComparator, EnvFlags, EnvOpenOptions, IntegerCo
44//---------------------------------------------------------------------------------------------------- Import
55use tapes:: { MmapFileOpenOption , Tapes } ;
66
7- use crate :: database:: {
8- ALT_BLOCKS_INFO , ALT_BLOCK_BLOBS , ALT_BLOCK_HEIGHTS , ALT_CHAIN_INFOS , ALT_TRANSACTION_BLOBS ,
9- ALT_TRANSACTION_INFOS , BLOCK_HEIGHTS , KEY_IMAGES , PRE_RCT_OUTPUTS , TX_IDS , TX_OUTPUTS ,
10- } ;
7+
118use crate :: {
129 config:: { linear_tapes_config, Config } ,
1310 Blockchain ,
@@ -96,107 +93,69 @@ pub fn open(config: Config) -> Result<Blockchain, heed::Error> {
9693 // <https://docs.rs/heed/0.20.0/heed/struct.EnvOpenOptions.html#method.open>
9794 unsafe { env_open_options. open ( & config. data_dir ) ? }
9895 } ;
96+ /*
97+ Hello,
9998
100- {
99+ I wouldn't class
100+ */
101+ let ( block_heights, key_images, pre_rct_outputs, tx_ids, tx_outputs, alt_chain_infos, alt_block_heights, alt_blocks_info, alt_block_blobs, alt_transaction_blobs, alt_transaction_infos) = {
101102 let mut rw_tx = env. write_txn ( ) ?;
102103
103- BLOCK_HEIGHTS
104- . set (
105- env. database_options ( )
106- . name ( "BLOCK_HEIGHTS" )
107- . types ( )
108- . create ( & mut rw_tx) ?,
109- )
110- . unwrap ( ) ;
111- KEY_IMAGES
112- . set (
113- env. database_options ( )
114- . name ( "KEY_IMAGES" )
115- . types ( )
116- . key_comparator ( )
117- . flags ( DatabaseFlags :: DUP_SORT | DatabaseFlags :: DUP_FIXED )
118- . create ( & mut rw_tx) ?,
119- )
120- . unwrap ( ) ;
121- PRE_RCT_OUTPUTS
122- . set (
123- env. database_options ( )
124- . name ( "PRE_RCT_OUTPUTS" )
125- . types ( )
126- . key_comparator ( )
127- . dup_sort_comparator ( )
128- . flags ( DatabaseFlags :: DUP_SORT | DatabaseFlags :: DUP_FIXED )
129- . create ( & mut rw_tx) ?,
130- )
131- . unwrap ( ) ;
132- TX_IDS
133- . set (
134- env. database_options ( )
135- . name ( "TX_IDS" )
136- . types ( )
137- . create ( & mut rw_tx) ?,
138- )
139- . unwrap ( ) ;
140- TX_OUTPUTS
141- . set (
142- env. database_options ( )
143- . name ( "TX_OUTPUTS" )
144- . types ( )
145- . key_comparator ( )
146- . create ( & mut rw_tx) ?,
147- )
148- . unwrap ( ) ;
149- ALT_CHAIN_INFOS
150- . set (
151- env. database_options ( )
152- . name ( "ALT_CHAIN_INFOS" )
153- . types ( )
154- . create ( & mut rw_tx) ?,
155- )
156- . unwrap ( ) ;
157- ALT_BLOCK_HEIGHTS
158- . set (
159- env. database_options ( )
160- . name ( "ALT_BLOCK_HEIGHTS" )
161- . types ( )
162- . create ( & mut rw_tx) ?,
163- )
164- . unwrap ( ) ;
165- ALT_BLOCKS_INFO
166- . set (
167- env. database_options ( )
168- . name ( "ALT_BLOCKS_INFO" )
169- . types ( )
170- . create ( & mut rw_tx) ?,
171- )
172- . unwrap ( ) ;
173- ALT_BLOCK_BLOBS
174- . set (
175- env. database_options ( )
176- . name ( "ALT_BLOCK_BLOBS" )
177- . types ( )
178- . create ( & mut rw_tx) ?,
179- )
180- . unwrap ( ) ;
181- ALT_TRANSACTION_BLOBS
182- . set (
183- env. database_options ( )
184- . name ( "ALT_TRANSACTION_BLOBS" )
185- . types ( )
186- . create ( & mut rw_tx) ?,
187- )
188- . unwrap ( ) ;
189- ALT_TRANSACTION_INFOS
190- . set (
191- env. database_options ( )
192- . name ( "ALT_TRANSACTION_INFOS" )
193- . types ( )
194- . create ( & mut rw_tx) ?,
195- )
196- . unwrap ( ) ;
104+ let block_heights = env. database_options ( )
105+ . name ( "BLOCK_HEIGHTS" )
106+ . types ( )
107+ . create ( & mut rw_tx) ?;
108+ let key_images = env. database_options ( )
109+ . name ( "KEY_IMAGES" )
110+ . types ( )
111+ . key_comparator ( )
112+ . flags ( DatabaseFlags :: DUP_SORT | DatabaseFlags :: DUP_FIXED )
113+ . create ( & mut rw_tx) ?;
114+ let pre_rct_outputs = env. database_options ( )
115+ . name ( "PRE_RCT_OUTPUTS" )
116+ . types ( )
117+ . key_comparator ( )
118+ . dup_sort_comparator ( )
119+ . flags ( DatabaseFlags :: DUP_SORT | DatabaseFlags :: DUP_FIXED )
120+ . create ( & mut rw_tx) ?;
121+ let tx_ids = env. database_options ( )
122+ . name ( "TX_IDS" )
123+ . types ( )
124+ . create ( & mut rw_tx) ?;
125+ let tx_outputs = env. database_options ( )
126+ . name ( "TX_OUTPUTS" )
127+ . types ( )
128+ . key_comparator ( )
129+ . create ( & mut rw_tx) ?;
130+ let alt_chain_infos = env. database_options ( )
131+ . name ( "ALT_CHAIN_INFOS" )
132+ . types ( )
133+ . create ( & mut rw_tx) ?;
134+ let alt_block_heights = env. database_options ( )
135+ . name ( "ALT_BLOCK_HEIGHTS" )
136+ . types ( )
137+ . create ( & mut rw_tx) ?;
138+ let alt_blocks_info = env. database_options ( )
139+ . name ( "ALT_BLOCKS_INFO" )
140+ . types ( )
141+ . create ( & mut rw_tx) ?;
142+ let alt_block_blobs = env. database_options ( )
143+ . name ( "ALT_BLOCK_BLOBS" )
144+ . types ( )
145+ . create ( & mut rw_tx) ?;
146+ let alt_transaction_blobs = env. database_options ( )
147+ . name ( "ALT_TRANSACTION_BLOBS" )
148+ . types ( )
149+ . create ( & mut rw_tx) ?;
150+ let alt_transaction_infos = env. database_options ( )
151+ . name ( "ALT_TRANSACTION_INFOS" )
152+ . types ( )
153+ . create ( & mut rw_tx) ?;
197154
198155 rw_tx. commit ( ) ?;
199- }
156+
157+ ( block_heights, key_images, pre_rct_outputs, tx_ids, tx_outputs, alt_chain_infos, alt_block_heights, alt_blocks_info, alt_block_blobs, alt_transaction_blobs, alt_transaction_infos)
158+ } ;
200159
201160 let tapes = linear_tapes_config ( config. data_dir . clone ( ) , config. blob_data_dir ) ;
202161
@@ -214,6 +173,17 @@ pub fn open(config: Config) -> Result<Blockchain, heed::Error> {
214173 Ok ( Blockchain {
215174 dynamic_tables : env,
216175 linear_tapes,
176+ block_heights,
177+ key_images,
178+ pre_rct_outputs,
179+ tx_ids,
180+ tx_outputs,
181+ alt_chain_infos,
182+ alt_block_heights,
183+ alt_blocks_info,
184+ alt_block_blobs,
185+ alt_transaction_blobs,
186+ alt_transaction_infos,
217187 } )
218188}
219189
0 commit comments