File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Load Diff Large diffs are not rendered by default.
Original file line number Diff line number Diff line change @@ -35,20 +35,36 @@ defmodule AlignedProofAggregationService do
3535
3636 def get_aggregated_proof_event ( % { from_block: number , to_block: number } ) do
3737 events =
38- AlignedProofAggregationService.EventFilters . new_batch_v3 ( nil )
38+ AlignedProofAggregationService.EventFilters . new_aggregated_proof ( nil )
3939 |> Ethers . get_logs ( fromBlock: fromBlock , toBlock: toBlock )
4040
41- [
42- % {
43- number: 0 ,
44- status: 0 ,
45- merkle_root: "" ,
46- block_number: 0 ,
47- tx_hash: "" ,
48- tx_timestamp: "" ,
49- blob_versioned_hash: ""
50- }
51- ]
41+ case events do
42+ { :ok , [ ] } ->
43+ [ ]
44+
45+ { :ok , list } ->
46+ Enum . map ( list , fn x ->
47+ data = x |> Map . get ( :data )
48+ topics_raw = x |> Map . get ( :topics_raw )
49+ block_number = x |> Map . get ( :block_number )
50+ tx_hash = x |> Map . get ( :transaction_hash )
51+
52+ % {
53+ :ok ,
54+ % {
55+ number: topics_raw |> Enum . at ( 1 ) ,
56+ status: data |> Enum . at ( 0 ) ,
57+ merkle_root: data |> Enum . at ( 1 ) ,
58+ blob_versioned_hash: data |> Enum . at ( 2 ) ,
59+ block_number: block_number ,
60+ tx_hash: tx_hash
61+ }
62+ }
63+ end )
64+
65+ { :error , reason } ->
66+ raise ( "Error fetching events: #{ Map . get ( reason , "message" ) } " )
67+ end
5268 end
5369
5470 def get_blob_data_from_versioned_hash ( versioned_hash ) do
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ defmodule AggregatedProofs do
44 import Ecto.Changeset
55 import Ecto.Query
66
7- # Different from proofs.ex (we could use the same but the hashes are constructed differently )
7+ # Different from proofs.ex (we could use the same but the hashes are constructed different )
88 @ primary_key { :id , :integer , autogenerate: true }
99 schema "proofs_agg_mode" do
1010 field ( :aggregated_proof_number , :integer )
@@ -26,7 +26,6 @@ defmodule AggregatedProofs do
2626 field ( :blob_data , :binary )
2727 field ( :number_of_proofs , :integer )
2828 field ( :block_number , :integer )
29- field ( :tx_timestamp , :utc_datetime )
3029
3130 timestamps ( )
3231 end
@@ -38,14 +37,13 @@ defmodule AggregatedProofs do
3837 aggregated_proof
3938 |> cast ( attrs , [
4039 :number ,
41- :merkle_root ,
4240 :status ,
43- :tx_hash ,
41+ :merkle_root ,
4442 :blob_versioned_hash ,
45- :blob_data ,
46- :number_of_proofs ,
4743 :block_number ,
48- :tx_timestamp
44+ :tx_hash ,
45+ :blob_data ,
46+ :number_of_proofs
4947 ] )
5048 |> validate_required ( [
5149 :number ,
@@ -54,8 +52,7 @@ defmodule AggregatedProofs do
5452 :tx_hash ,
5553 :blob_versioned_hash ,
5654 :number_of_proofs ,
57- :block_number ,
58- :tx_timestamp
55+ :block_number
5956 ] )
6057 |> unique_constraint ( :number )
6158 end
Original file line number Diff line number Diff line change @@ -88,14 +88,17 @@ defmodule Explorer.Periodically do
8888 ## 5. Store each hash in proof hash pointing to the aggregated proof number
8989 ## 6. Store the info in db
9090
91- process_aggregated_proofs ( read_from_block )
91+ process_aggregated_proofs ( read_from_block , latest_block_number )
9292 end
9393
94- def process_aggregated_proofs ( from_block ) do
94+ def process_aggregated_proofs ( from_block , to_block ) do
9595 "Processing aggregated proofs" |> Logger . debug ( )
9696
9797 aggregated_proofs =
98- AlignedProofAggregationService . get_aggregated_proof_event ( )
98+ AlignedProofAggregationService . get_aggregated_proof_event ( % {
99+ from_block: from_block ,
100+ to_block: to_block
101+ } )
99102 |> Enum . map ( fn x ->
100103 Map . merge (
101104 x ,
You can’t perform that action at this time.
0 commit comments