@@ -88,7 +88,7 @@ defmodule DB.Entry do
8888 db_opts [ :rtx_commit ] && RocksDB . transaction_commit ( db_opts . rtx )
8989 end
9090
91- def apply_into_main_chain ( entry , muts_hash , muts_rev , { logs , receipts } , root_receipts , root_contractstate , db_opts = % { rtx: _ } ) do
91+ def apply_into_main_chain ( entry , muts_hash , muts_rev , receipts , root_receipts , root_contractstate , db_opts = % { rtx: _ } ) do
9292 entry_packed = Entry . pack_for_db ( entry )
9393 RocksDB . put ( entry . hash , entry_packed , db_handle ( db_opts , :entry , % { } ) )
9494 RocksDB . put ( "by_height:#{ pad_integer ( entry . header . height ) } :#{ entry . hash } " , entry . hash , db_handle ( db_opts , :entry_meta , % { } ) )
@@ -102,41 +102,23 @@ defmodule DB.Entry do
102102 RocksDB . put ( "entry:#{ entry . hash } :root_receipts" , root_receipts , db_handle ( db_opts , :entry_meta , % { } ) )
103103 RocksDB . put ( "entry:#{ entry . hash } :root_contractstate" , root_contractstate , db_handle ( db_opts , :entry_meta , % { } ) )
104104
105- if entry . header . height >= RDBProtocol . forkheight ( ) do
106- receipts_by_txid = Map . new ( receipts , fn r -> { r . txid , Map . drop ( r , [ :txid ] ) } end )
107- Enum . each ( entry . txs , fn ( txu ) ->
108- receipt = Map . fetch! ( receipts_by_txid , txu . hash )
109- case :binary . match ( entry_packed , TX . pack ( txu ) ) do
110- { index_start , index_size } ->
111- tx_ptr = % { entry_hash: entry . hash , receipt: receipt , index_start: index_start , index_size: index_size }
112- |> RDB . vecpak_encode ( )
113- RocksDB . put ( txu . hash , tx_ptr , db_handle ( db_opts , :tx , % { } ) )
114-
115- nonce_padded = pad_integer_20 ( txu . tx . nonce )
116- RocksDB . put ( "#{ txu . tx . signer } :#{ nonce_padded } " , txu . hash , db_handle ( db_opts , :tx_account_nonce , % { } ) )
117- TX . known_receivers ( txu )
118- |> Enum . each ( fn ( receiver ) ->
119- RocksDB . put ( "#{ receiver } :#{ nonce_padded } " , txu . hash , db_handle ( db_opts , :tx_receiver_nonce , % { } ) )
120- end )
121- end
122- end )
123- else
124- Enum . each ( Enum . zip ( entry . txs , logs ) , fn ( { txu , result } ) ->
125- case :binary . match ( entry_packed , TX . pack ( txu ) ) do
126- { index_start , index_size } ->
127- tx_ptr = % { entry_hash: entry . hash , result: result , index_start: index_start , index_size: index_size }
128- |> RDB . vecpak_encode ( )
129- RocksDB . put ( txu . hash , tx_ptr , db_handle ( db_opts , :tx , % { } ) )
130-
131- nonce_padded = pad_integer_20 ( txu . tx . nonce )
132- RocksDB . put ( "#{ txu . tx . signer } :#{ nonce_padded } " , txu . hash , db_handle ( db_opts , :tx_account_nonce , % { } ) )
133- TX . known_receivers ( txu )
134- |> Enum . each ( fn ( receiver ) ->
135- RocksDB . put ( "#{ receiver } :#{ nonce_padded } " , txu . hash , db_handle ( db_opts , :tx_receiver_nonce , % { } ) )
136- end )
137- end
138- end )
139- end
105+ receipts_by_txid = Map . new ( receipts , fn r -> { r . txid , Map . drop ( r , [ :txid ] ) } end )
106+ Enum . each ( entry . txs , fn ( txu ) ->
107+ receipt = Map . fetch! ( receipts_by_txid , txu . hash )
108+ case :binary . match ( entry_packed , TX . pack ( txu ) ) do
109+ { index_start , index_size } ->
110+ tx_ptr = % { entry_hash: entry . hash , receipt: receipt , index_start: index_start , index_size: index_size }
111+ |> RDB . vecpak_encode ( )
112+ RocksDB . put ( txu . hash , tx_ptr , db_handle ( db_opts , :tx , % { } ) )
113+
114+ nonce_padded = pad_integer_20 ( txu . tx . nonce )
115+ RocksDB . put ( "#{ txu . tx . signer } :#{ nonce_padded } " , txu . hash , db_handle ( db_opts , :tx_account_nonce , % { } ) )
116+ TX . known_receivers ( txu )
117+ |> Enum . each ( fn ( receiver ) ->
118+ RocksDB . put ( "#{ receiver } :#{ nonce_padded } " , txu . hash , db_handle ( db_opts , :tx_receiver_nonce , % { } ) )
119+ end )
120+ end
121+ end )
140122 end
141123
142124 def apply_into_main_chain_muts ( hash , muts , db_opts = % { rtx: _ } ) do
0 commit comments