File tree Expand file tree Collapse file tree 4 files changed +41
-24
lines changed
Expand file tree Collapse file tree 4 files changed +41
-24
lines changed 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