@@ -246,61 +246,6 @@ defmodule Sanbase.Clickhouse.MetricAdapter.HistogramSqlQuery do
246
246
Sanbase.Clickhouse.Query . new ( sql , params )
247
247
end
248
248
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
-
304
249
def histogram_data_query (
305
250
"eth2_top_stakers" ,
306
251
"ethereum" ,
@@ -326,11 +271,8 @@ defmodule Sanbase.Clickhouse.MetricAdapter.HistogramSqlQuery do
326
271
327
272
SELECT
328
273
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
334
276
FROM lock_addresses
335
277
LEFT JOIN (
336
278
SELECT
@@ -358,7 +300,8 @@ defmodule Sanbase.Clickhouse.MetricAdapter.HistogramSqlQuery do
358
300
FROM label_metadata
359
301
) AS m
360
302
ON cla.label_id = m.label_id
361
- ORDER BY staked DESC
303
+ GROUP BY lock_addresses.address
304
+ ORDER BY max_staked DESC
362
305
"""
363
306
364
307
params = % {
@@ -758,29 +701,4 @@ defmodule Sanbase.Clickhouse.MetricAdapter.HistogramSqlQuery do
758
701
759
702
Sanbase.Clickhouse.Query . new ( sql , params )
760
703
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
786
704
end
0 commit comments