@@ -229,7 +229,7 @@ def process_withdraw_dao_events!(local_block, _new_dao_depositors,
229229 take_away_all_deposit_count = 0
230230 # When DAO Deposit Cell appears in cell inputs, the transaction is DAO withdrawal
231231 local_block . cell_inputs . nervos_dao_deposit . select ( :id , :ckb_transaction_id ,
232- :previous_cell_output_id ) . find_in_batches do |dao_inputs |
232+ :previous_cell_output_id , :index ) . find_in_batches do |dao_inputs |
233233 dao_events_attributes = [ ]
234234 dao_inputs . each do |dao_input |
235235 previous_cell_output =
@@ -253,6 +253,7 @@ def process_withdraw_dao_events!(local_block, _new_dao_depositors,
253253 end
254254 dao_events_attributes << {
255255 ckb_transaction_id : dao_input . ckb_transaction_id ,
256+ cell_index : dao_input . index ,
256257 block_id : local_block . id ,
257258 block_timestamp : local_block . timestamp ,
258259 address_id : previous_cell_output . address_id ,
@@ -268,6 +269,7 @@ def process_withdraw_dao_events!(local_block, _new_dao_depositors,
268269 addrs_withdraw_info [ address . id ] [ :is_depositor ] = false
269270 dao_events_attributes << {
270271 ckb_transaction_id : dao_input . ckb_transaction_id ,
272+ cell_index : nil ,
271273 block_id : local_block . id ,
272274 block_timestamp : local_block . timestamp ,
273275 address_id : previous_cell_output . address_id ,
@@ -303,7 +305,7 @@ def process_interest_dao_events!(local_block, dao_contract)
303305 addrs_withdraw_info = { }
304306 claimed_compensation = 0
305307 local_block . cell_inputs . nervos_dao_withdrawing . select ( :id , :ckb_transaction_id , :block_id ,
306- :previous_cell_output_id ) . find_in_batches do |dao_inputs |
308+ :previous_cell_output_id , :index ) . find_in_batches do |dao_inputs |
307309 dao_events_attributes = [ ]
308310 dao_inputs . each do |dao_input |
309311 previous_cell_output = CellOutput .
@@ -324,6 +326,7 @@ def process_interest_dao_events!(local_block, dao_contract)
324326 # addrs_withdraw_info[address.id][:dao_deposit] = 0 if addrs_withdraw_info[address.id][:dao_deposit] < 0
325327 dao_events_attributes << {
326328 ckb_transaction_id : dao_input . ckb_transaction_id ,
329+ cell_index : dao_input . index ,
327330 block_id : local_block . id ,
328331 block_timestamp : local_block . timestamp ,
329332 address_id : previous_cell_output . address_id ,
@@ -351,7 +354,7 @@ def process_deposit_dao_events!(local_block, new_dao_depositors, dao_contract)
351354 addresses_deposit_info = { }
352355 # build deposit dao events
353356 local_block . cell_outputs . nervos_dao_deposit . select ( :id , :address_id , :capacity ,
354- :ckb_transaction_id ) . find_in_batches do |dao_outputs |
357+ :ckb_transaction_id , :cell_index ) . find_in_batches do |dao_outputs |
355358 deposit_dao_events_attributes = [ ]
356359 dao_outputs . each do |dao_output |
357360 address = dao_output . address
@@ -374,6 +377,7 @@ def process_deposit_dao_events!(local_block, new_dao_depositors, dao_contract)
374377 deposit_transaction_ids << dao_output . ckb_transaction_id
375378 deposit_dao_events_attributes << {
376379 ckb_transaction_id : dao_output . ckb_transaction_id ,
380+ cell_index : dao_output . cell_index ,
377381 block_id : local_block . id ,
378382 address_id : address . id ,
379383 event_type : "deposit_to_dao" ,
0 commit comments