samdecoding strings and bytes copy
    Updated 2024-12-02
    -- forked from apostleoffinance / decoding strings and bytes @ https://flipsidecrypto.xyz/apostleoffinance/q/YUmvsKbHKl6h/decoding-strings-and-bytes

    -- SELECT
    -- livequery.utils.udf_keccak256('execTransaction(address,uint256,bytes,uint8,uint256,uint256,uint256,address,address,bytes)')

    -- 0x6a761202de7c35c7e1ec7400f298161946f2c5e94981ea3013d935de1cb971bd
    -- 0x6a761202 -- function signature

    WITH raw AS (
    SELECT
    topics,
    data,
    regexp_substr_all(SUBSTR(data, 3), '.{64}') AS segment
    FROM ethereum.core.fact_event_logs
    WHERE 1=1
    AND tx_hash = '0x715b6453d5156ebc110440dce8d46164386c3f62b82b12d4762262a388ae3aba'
    AND block_timestamp::DATE = '2024-11-06'
    AND event_index IN (70) -- , 83)
    LIMIT 10
    )

    SELECT * ,
    '0x' || substr(topics[1]::string, 27,40) as underlyingAsset ,
    '0x' || substr(topics[2]::string, 27,40) as pool,
    '0x' || substr(segment[0]::string, 25,40) as incentivesController,
    substr(data, 3) as raw_data,
    livequery.utils.udf_hex_to_int(segment[1]::string)::int as debtTokenDecimals,
    livequery.utils.udf_hex_to_int(segment[2]::string) /32 as offset_debtTokenName, --lines to skip
    livequery.utils.udf_hex_to_int(segment[offset_debtTokenName]::string) * 2 as num_chars_debtTokenName, -- how many characters to be decoded
    substr(raw_data, ((offset_debtTokenName + 1) * 64 + 1), num_chars_debtTokenName) as name_data,
    hex_decode_string(name_data) as debt_token_name
    -- hex_decode_string(substr(data, (offset_debtTokenName * 64 + 1), num_chars_debtTokenName)) as debtTokenName,
    -- -- livequery.utils.udf_hex_to_int(topics[3]::string)::int as referralCode
    -- livequery.utils.udf_hex_to_int(segment[3]::string) /32 as offset_debtTokenSymbol, --lines to skip
    -- livequery.utils.udf_hex_to_int(segment[offset_debtTokenSymbol]::string) * 2 as num_chars_debtTokenSymbol, -- how many characters to be decoded
    -- hex_decode_string(substr(segment[offset_debtTokenSymbol + 1], 1, 40)) as debtTokenSymbol,
    QueryRunArchived: QueryRun has been archived