@@ -18,15 +18,16 @@ defmodule Batches do
1818 field :fee_per_proof , :integer
1919 field :sender_address , :binary
2020 field :max_aggregator_fee , :decimal
21+ field :is_valid , :boolean , default: true
2122
2223 timestamps ( )
2324 end
2425
2526 @ doc false
2627 def changeset ( new_batch , updates ) do
2728 new_batch
28- |> cast ( updates , [ :merkle_root , :amount_of_proofs , :is_verified , :submission_block_number , :submission_transaction_hash , :submission_timestamp , :response_block_number , :response_transaction_hash , :response_timestamp , :data_pointer , :fee_per_proof , :sender_address , :max_aggregator_fee ] )
29- |> validate_required ( [ :merkle_root , :amount_of_proofs , :is_verified , :submission_block_number , :submission_transaction_hash , :fee_per_proof , :sender_address ] )
29+ |> cast ( updates , [ :merkle_root , :amount_of_proofs , :is_verified , :submission_block_number , :submission_transaction_hash , :submission_timestamp , :response_block_number , :response_transaction_hash , :response_timestamp , :data_pointer , :fee_per_proof , :sender_address , :max_aggregator_fee , :is_valid ] )
30+ |> validate_required ( [ :merkle_root , :amount_of_proofs , :is_verified , :submission_block_number , :submission_transaction_hash , :fee_per_proof , :sender_address , :is_valid ] )
3031 |> validate_format ( :merkle_root , ~r/ 0x[a-fA-F0-9]{64}/ )
3132 |> unique_constraint ( :merkle_root )
3233 |> validate_number ( :amount_of_proofs , greater_than: 0 )
@@ -37,6 +38,7 @@ defmodule Batches do
3738 |> validate_format ( :response_transaction_hash , ~r/ 0x[a-fA-F0-9]{64}/ )
3839 |> validate_number ( :max_aggregator_fee , greater_than: 0 )
3940 |> validate_number ( :fee_per_proof , greater_than_or_equal_to: 0 )
41+ |> validate_inclusion ( :is_valid , [ true , false ] )
4042 end
4143
4244 def cast_to_batches ( % BatchDB { } = batch_db ) do
@@ -53,7 +55,8 @@ defmodule Batches do
5355 data_pointer: batch_db . data_pointer ,
5456 fee_per_proof: batch_db . fee_per_proof ,
5557 sender_address: batch_db . sender_address ,
56- max_aggregator_fee: batch_db . max_aggregator_fee
58+ max_aggregator_fee: batch_db . max_aggregator_fee ,
59+ is_valid: batch_db . is_valid
5760 }
5861 end
5962
@@ -113,7 +116,7 @@ defmodule Batches do
113116 threshold_datetime = DateTime . utc_now ( ) |> DateTime . add ( - 43200 , :second ) # 12 hours ago
114117
115118 query = from ( b in Batches ,
116- where: b . is_verified == false and b . submission_timestamp > ^ threshold_datetime ,
119+ where: b . is_valid == true and b . is_verified == false and b . submission_timestamp > ^ threshold_datetime ,
117120 select: b )
118121
119122 Explorer.Repo . all ( query )
@@ -193,5 +196,4 @@ defmodule Batches do
193196 end
194197 end
195198 end
196-
197199end
0 commit comments