Skip to content

Commit 3da806f

Browse files
committed
add groupby address, remove unlabelled metric
1 parent a64b74d commit 3da806f

File tree

1 file changed

+4
-86
lines changed

1 file changed

+4
-86
lines changed

lib/sanbase/clickhouse/metric/sql_query/metric_histogram_sql_query.ex

Lines changed: 4 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -246,61 +246,6 @@ defmodule Sanbase.Clickhouse.MetricAdapter.HistogramSqlQuery do
246246
Sanbase.Clickhouse.Query.new(sql, params)
247247
end
248248

249-
def histogram_data_query(
250-
"eth2_unlabeled_staker_inflow_sources",
251-
"ethereum",
252-
from,
253-
to,
254-
_interval,
255-
limit
256-
) do
257-
sql = """
258-
SELECT
259-
label,
260-
sumKahan(address_inflow) AS value
261-
FROM (
262-
SELECT
263-
address,
264-
address_inflow,
265-
#{label_select(label_as: "label", label_str_as: "label_str")}
266-
FROM (
267-
SELECT
268-
from AS address,
269-
sumKahan(value / 1e18) AS address_inflow
270-
FROM eth_transfers
271-
WHERE to GLOBAL IN (
272-
SELECT address
273-
FROM (
274-
SELECT
275-
address,
276-
dictGet('default.eth_label_dict', 'labels', (cityHash64(address), toUInt64(0))) AS label_str
277-
FROM (
278-
SELECT DISTINCT(address)
279-
FROM eth2_staking_transfers_v2 FINAL
280-
WHERE
281-
dt < toDateTime({{to}})
282-
#{if from, do: "AND dt >= toDateTime({{from}})"}
283-
)
284-
)
285-
WHERE label_str = ''
286-
)
287-
GROUP BY address
288-
)
289-
)
290-
GROUP BY label
291-
ORDER BY value DESC
292-
LIMIT {{limit}}
293-
"""
294-
295-
params = %{
296-
from: from && from |> DateTime.to_unix(),
297-
to: to |> DateTime.to_unix(),
298-
limit: limit
299-
}
300-
301-
Sanbase.Clickhouse.Query.new(sql, params)
302-
end
303-
304249
def histogram_data_query(
305250
"eth2_top_stakers",
306251
"ethereum",
@@ -326,11 +271,8 @@ defmodule Sanbase.Clickhouse.MetricAdapter.HistogramSqlQuery do
326271
327272
SELECT
328273
lock_addresses.address as address,
329-
multiIf(
330-
m.key = 'owner', m.value,
331-
m.key
332-
) as label,
333-
lock_addresses.locked_value as staked
274+
arrayStringConcat(groupUniqArray(multiIf(m.key = 'owner', m.value, m.key)), ', ') AS labels,
275+
max(lock_addresses.locked_value) AS max_staked
334276
FROM lock_addresses
335277
LEFT JOIN (
336278
SELECT
@@ -358,7 +300,8 @@ defmodule Sanbase.Clickhouse.MetricAdapter.HistogramSqlQuery do
358300
FROM label_metadata
359301
) AS m
360302
ON cla.label_id = m.label_id
361-
ORDER BY staked DESC
303+
GROUP BY lock_addresses.address
304+
ORDER BY max_staked DESC
362305
"""
363306

364307
params = %{
@@ -758,29 +701,4 @@ defmodule Sanbase.Clickhouse.MetricAdapter.HistogramSqlQuery do
758701

759702
Sanbase.Clickhouse.Query.new(sql, params)
760703
end
761-
762-
defp label_select(opts) do
763-
label_as = Keyword.get(opts, :label_as, "label")
764-
label_str_as = Keyword.get(opts, :label_str_as, "label_str")
765-
766-
"""
767-
dictGet('default.eth_label_dict', 'labels', (cityHash64(address), toUInt64(0))) AS #{label_str_as},
768-
splitByChar(',', #{label_str_as}) AS label_arr_internal,
769-
multiIf(
770-
has(label_arr_internal, 'decentralized_exchange'), 'DEX',
771-
hasAny(label_arr_internal, ['centralized_exchange', 'deposit']), 'CEX',
772-
has(label_arr_internal, 'defi'), 'DeFi',
773-
has(label_arr_internal, 'genesis'), 'Genesis',
774-
has(label_arr_internal, 'miner'), 'Miner',
775-
has(label_arr_internal, 'makerdao-cdp-owner'), 'CDP Owner',
776-
has(label_arr_internal, 'whale'), 'Whale',
777-
hasAll(label_arr_internal, ['dex_trader', 'withdrawal']), 'CEX & DEX Trader',
778-
has(label_arr_internal, 'withdrawal'), 'CEX Trader',
779-
has(label_arr_internal, 'proxy'), 'Proxy',
780-
has(label_arr_internal, 'dex_trader'), 'DEX Trader',
781-
#{label_str_as} = '', 'Unlabeled',
782-
label_arr_internal[1]
783-
) AS #{label_as}
784-
"""
785-
end
786704
end

0 commit comments

Comments
 (0)