0xHaM-dfunction type
    Updated 2022-09-01
    WITH base AS (
    SELECT
    *,
    CONCAT('0x', SUBSTR(topics [1] :: STRING, 27, 42)) AS provider,
    ethereum.public.udf_hex_to_int(
    topics [2] :: STRING
    ) :: DATE AS locked_date,
    regexp_substr_all(SUBSTR(DATA, 3, len(DATA)), '.{64}') AS segmented_data,
    ethereum.public.udf_hex_to_int(
    segmented_data [0] :: STRING
    ) AS tokenID,
    ethereum.public.udf_hex_to_int(
    segmented_data [1] :: STRING
    )/pow(10,18) AS VALUE,
    ethereum.public.udf_hex_to_int(
    segmented_data [2] :: STRING
    ) AS deposit_type,
    ethereum.public.udf_hex_to_int(
    segmented_data [3] :: STRING
    ) AS TIMESTAMP
    FROM
    optimism.core.fact_event_logs
    WHERE
    topics [0] :: STRING = '0xff04ccafc360e16b67d682d17bd9503c4c6b9a131f6be6325762dc9ffc7de624'
    )
    SELECT
    block_timestamp::date as date,
    case
    when deposit_type = '0' then 'claim'
    when deposit_type = '1' then 'create_lock'
    when deposit_type = '2' then 'increase_amount'
    when deposit_type = '3' then 'increase_unlock_time'
    else 'merge' end as function_type,
    count(DISTINCT tx_hash) as lock_count,
    count(DISTINCT origin_from_address) as user_count,
    sum(VALUE) as amount,
    Run a query to Download Data