WITH
prices_optimism AS (
SELECT
HOUR,
TOKEN_ADDRESS,
PRICE
FROM
(
SELECT
HOUR,
TOKEN_ADDRESS,
price,
ROW_NUMBER() OVER (
PARTITION BY
TOKEN_ADDRESS
ORDER BY
HOUR DESC
) as rn
FROM
optimism.core.fact_hourly_token_prices
) as prices
WHERE
rn = 1
),
prices_arbitrum AS (
SELECT
HOUR,
TOKEN_ADDRESS,
PRICE
FROM
(
SELECT
HOUR,
TOKEN_ADDRESS,
price,
ROW_NUMBER() OVER (