Skip to content

Commit f2d8231

Browse files
authored
feat(explorer): add relevant aligned contracts in home screen (yetanotherco#735)
1 parent 6f4465a commit f2d8231

4 files changed

Lines changed: 72 additions & 9 deletions

File tree

explorer/lib/explorer/aligned_layer_service_manager.ex

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ defmodule AlignedLayerServiceManager do
4848
|> Map.get("addresses")
4949
|> Map.get("alignedLayerServiceManager")
5050

51+
@batcher_payment_service_address Jason.decode!(config_json_string)
52+
|> Map.get("addresses")
53+
|> Map.get("batcherPaymentService")
54+
55+
5156
@gas_per_proof Jason.decode!(payment_service_json_string)
5257
|> Map.get("amounts")
5358
|> Map.get("gasPerProof")
@@ -67,6 +72,10 @@ defmodule AlignedLayerServiceManager do
6772
@aligned_layer_service_manager_address
6873
end
6974

75+
def get_batcher_payment_service_address() do
76+
@batcher_payment_service_address
77+
end
78+
7079
def get_latest_block_number() do
7180
{:ok, num} = Ethers.current_block_number()
7281
num
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
defmodule ContractsComponent do
2+
use ExplorerWeb, :live_component
3+
4+
@impl true
5+
def mount(socket) do
6+
{:ok,
7+
assign(socket,
8+
service_manager_address:
9+
AlignedLayerServiceManager.get_aligned_layer_service_manager_address(),
10+
batcher_payment_service_address:
11+
AlignedLayerServiceManager.get_batcher_payment_service_address(),
12+
network: System.get_env("ENVIRONMENT")
13+
)}
14+
end
15+
16+
@impl true
17+
def render(assigns) do
18+
~H"""
19+
<div class="relative sm:col-span-3 truncate">
20+
<.card
21+
inner_class="text-base leading-9 flex flex-wrap sm:flex-row overflow-x-auto gap-x-2"
22+
title="Contract Addresses"
23+
>
24+
<.link
25+
href="https://docs.alignedlayer.com/guides/6_contract_addresses"
26+
class="absolute top-4 right-5 hover:underline font-medium text-muted-foreground capitalize text-sm"
27+
target="_blank"
28+
rel="noopener noreferrer"
29+
>
30+
View All <.icon name="hero-arrow-top-right-on-square-solid" class="size-3.5 mb-1" />
31+
</.link>
32+
<h3>
33+
<.icon name="hero-cpu-chip" class="size-4 mb-0.5" /> Service Manager:
34+
</h3>
35+
<.a
36+
href={"https://#{@network |> String.replace(~r/holesky/, "holesky.") |> String.replace(~r/mainnet/, "")}etherscan.io/address/#{@service_manager_address}"}
37+
class="hover:text-foreground/80"
38+
target="_blank"
39+
rel="noopener noreferrer"
40+
>
41+
<%= @service_manager_address %>
42+
</.a>
43+
<h3>
44+
<.icon name="hero-wallet" class="size-4 mb-0.5" /> Batcher Payment Service:
45+
</h3>
46+
<.a
47+
href={"https://#{@network |> String.replace(~r/holesky/, "holesky.") |> String.replace(~r/mainnet/, "")}etherscan.io/address/#{@batcher_payment_service_address}"}
48+
class="hover:text-foreground/80"
49+
target="_blank"
50+
rel="noopener noreferrer"
51+
>
52+
<%= @batcher_payment_service_address %>
53+
</.a>
54+
</.card>
55+
</div>
56+
"""
57+
end
58+
end

explorer/lib/explorer_web/components/core_components.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ defmodule ExplorerWeb.CoreComponents do
334334
<.card_background class={@class}>
335335
<h2 class="font-medium text-muted-foreground capitalize group-hover:underline truncate">
336336
<%= @title %>
337-
<.icon name="hero-arrow-top-right-on-square-solid mb-1" class="size-4" />
337+
<.icon name="hero-arrow-top-right-on-square-solid" class="size-4" />
338338
</h2>
339339
<span class={["text-4xl font-bold slashed-zero", @inner_class]}>
340340
<%= render_slot(@inner_block) %>

explorer/lib/explorer_web/live/pages/home/index.html.heex

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,25 +17,21 @@
1717
0
1818
<% end %>
1919
</.card_link>
20-
<.card_link
21-
href={
22-
"https://#{@network |> String.replace(~r/holesky/, "holesky.") |> String.replace(~r/mainnet/, "")}etherscan.io/address/#{@service_manager_address}"
23-
}
24-
title="verified batches"
25-
>
20+
<.card title="verified batches">
2621
<%= if @verified_batches != :empty do %>
2722
<%= @verified_batches |> Utils.format_number() %>
2823
<% else %>
2924
0
3025
<% end %>
31-
</.card_link>
26+
</.card>
3227
<.card title="Verified Proofs" class="-mt-0.5 md:mt-0">
3328
<%= if @verified_proofs != :empty do %>
3429
<%= @verified_proofs |> Utils.format_number() %>
3530
<% else %>
3631
0
3732
<% end %>
3833
</.card>
34+
<.live_component module={ContractsComponent} id="contracts_card" />
3935
<%= if @latest_batches != :empty and @latest_batches != [] do %>
4036
<.card
4137
class="relative sm:col-span-3 w-full flex flex-col space-y-1"
@@ -44,7 +40,7 @@
4440
>
4541
<.link
4642
navigate={~p"/batches"}
47-
class="absolute top-4 right-5 hover:underline font-medium text-muted-foreground capitaliz text-sm"
43+
class="absolute top-4 right-5 hover:underline font-medium text-muted-foreground capitalize text-sm"
4844
>
4945
View All
5046
</.link>

0 commit comments

Comments
 (0)