WITH new_users AS (
SELECT
tx_from[0] AS wallet,
MIN(block_timestamp)::date AS min_date
FROM terra.transactions
GROUP BY wallet
HAVING min_date >= CURRENT_DATE - 90)
SELECT
address_name,
address as smart_contract_address,
COUNT(tx_id) AS transactions
FROM terra.transactions
JOIN terra.labels ON tx_to[0] = terra.labels.address
WHERE
tx_from[0] IN (SELECT wallet FROM new_users)
AND label = 'astroport'
GROUP BY address_name, smart_contract_address
ORDER BY transactions DESC
LIMIT 2