Skip to content

Commit cb06d2f

Browse files
committed
feat: update models to new contract version
1 parent 97019e9 commit cb06d2f

6 files changed

Lines changed: 26 additions & 36 deletions

File tree

explorer/lib/abi/AlignedProofAggregationService.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

explorer/lib/explorer/contract_managers/aligned_proof_aggregation_service.ex

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ defmodule AlignedProofAggregationService do
3535

3636
def get_aggregated_proof_event(%{from_block: fromBlock, to_block: toBlock}) do
3737
events =
38-
AlignedProofAggregationService.EventFilters.new_aggregated_proof(nil)
38+
AlignedProofAggregationService.EventFilters.aggregated_proof_verified(nil)
3939
|> Ethers.get_logs(fromBlock: fromBlock, toBlock: toBlock)
4040

4141
case events do
@@ -51,14 +51,10 @@ defmodule AlignedProofAggregationService do
5151
tx_hash = x |> Map.get(:transaction_hash)
5252

5353
%{
54-
number:
54+
merkle_root:
5555
topics_raw
56-
|> Enum.at(1)
57-
|> String.replace_prefix("0x", "")
58-
|> String.to_integer(16),
59-
status: data |> Enum.at(0),
60-
merkle_root: "0x" <> Base.encode16(data |> Enum.at(1), case: :lower),
61-
blob_versioned_hash: "0x" <> Base.encode16(data |> Enum.at(2), case: :lower),
56+
|> Enum.at(1),
57+
blob_versioned_hash: "0x" <> Base.encode16(data |> Enum.at(0), case: :lower),
6258
block_number: block_number,
6359
tx_hash: tx_hash
6460
}

explorer/lib/explorer/models/aggregated_proofs.ex

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,16 @@ defmodule AggregatedProofs do
33
use Ecto.Schema
44
import Ecto.Changeset
55

6-
@primary_key {:number, :integer, autogenerate: false}
6+
@primary_key {:merkle_root, :string, autogenerate: false}
77
schema "aggregated_proofs" do
8-
field(:merkle_root, :string)
9-
field(:status, :integer)
10-
field(:tx_hash, :string)
118
field(:blob_versioned_hash, :string)
12-
field(:number_of_proofs, :integer)
139
field(:block_number, :integer)
10+
field(:tx_hash, :string)
11+
field(:number_of_proofs, :integer)
1412

1513
has_many(:proofs_agg_mode, AggregationModeProof,
16-
foreign_key: :aggregated_proof_number,
17-
references: :number
14+
foreign_key: :merkle_root,
15+
references: :merkle_root
1816
)
1917

2018
timestamps()
@@ -26,30 +24,26 @@ defmodule AggregatedProofs do
2624
def changeset(aggregated_proof, attrs) do
2725
aggregated_proof
2826
|> cast(attrs, [
29-
:number,
30-
:status,
3127
:merkle_root,
3228
:blob_versioned_hash,
3329
:block_number,
3430
:tx_hash,
3531
:number_of_proofs
3632
])
3733
|> validate_required([
38-
:number,
39-
:status,
4034
:merkle_root,
4135
:blob_versioned_hash,
4236
:block_number,
4337
:tx_hash,
4438
:number_of_proofs
4539
])
46-
|> unique_constraint(:number)
40+
|> unique_constraint(:merkle_root)
4741
end
4842

4943
def insert_or_update(agg_proof) do
5044
changeset = AggregatedProofs.changeset(%AggregatedProofs{}, agg_proof)
5145

52-
case Explorer.Repo.get_by(AggregatedProofs, number: agg_proof.number) do
46+
case Explorer.Repo.get_by(AggregatedProofs, merkle_root: agg_proof.merkle_root) do
5347
nil ->
5448
Explorer.Repo.insert(changeset)
5549

explorer/lib/explorer/models/aggregation_mode_proof.ex

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,24 @@ defmodule AggregationModeProof do
66
# Different from proofs.ex (we could use the same but the hashes are constructed different)
77
@primary_key {:id, :id, autogenerate: true}
88
schema "proofs_agg_mode" do
9-
field(:aggregated_proof_number, :integer)
9+
field(:merkle_root, :string)
1010
field(:proof_hash, :string)
1111
field(:index, :integer)
1212

1313
belongs_to(:aggregated_proof, AggregatedProof,
1414
define_field: false,
15-
foreign_key: :aggregated_proof_number,
16-
references: :number,
17-
type: :integer
15+
foreign_key: :merkle_root,
16+
references: :merkle_root,
17+
type: :string
1818
)
1919

2020
timestamps()
2121
end
2222

2323
def changeset(proof, attrs) do
2424
proof
25-
|> cast(attrs, [:aggregated_proof_number, :proof_hash, :index])
26-
|> validate_required([:aggregated_proof_number, :proof_hash, :index])
25+
|> cast(attrs, [:merkle_root, :proof_hash, :index])
26+
|> validate_required([:merkle_root, :proof_hash, :index])
2727
end
2828

2929
def insert_or_update(proof) do

explorer/lib/explorer/periodically.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ defmodule Explorer.Periodically do
121121
|> Enum.with_index()
122122
|> Enum.each(fn {hash, index} ->
123123
AggregationModeProof.insert_or_update(%{
124-
aggregated_proof_number: agg_proof.number,
124+
merkle_root: agg_proof.merkle_root,
125125
proof_hash: "0x" <> List.to_string(hash),
126126
index: index
127127
})

explorer/priv/repo/migrations/20250407002009_create_aggregated_proofs.exs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ defmodule Explorer.Repo.Migrations.CreateAggregatedProofs do
33

44
def change do
55
create table(:aggregated_proofs, primary_key: false) do
6-
add(:number, :integer, primary_key: true)
7-
add(:merkle_root, :string)
8-
add(:status, :integer)
6+
add(:merkle_root, :string, primary_key: true)
97
add(:tx_hash, :string)
108
add(:blob_versioned_hash, :string)
119
add(:number_of_proofs, :integer)
@@ -16,16 +14,18 @@ defmodule Explorer.Repo.Migrations.CreateAggregatedProofs do
1614

1715
create table(:proofs_agg_mode) do
1816
add(
19-
:aggregated_proof_number,
20-
references(:aggregated_proofs, column: :number, type: :integer, on_delete: :delete_all)
17+
:merkle_root,
18+
references(:aggregated_proofs,
19+
column: :merkle_root,
20+
type: :string,
21+
on_delete: :delete_all
22+
)
2123
)
2224

2325
add(:proof_hash, :string)
2426
add(:index, :integer)
2527

2628
timestamps()
2729
end
28-
29-
create(index(:proofs_agg_mode, [:aggregated_proof_number]))
3030
end
3131
end

0 commit comments

Comments
 (0)