WITH tab1 as (
SELECT
tx_id,
token_name,
SALES_AMOUNT
FROM solana.core.fact_nft_sales
LEFT outer JOIN solana.core.dim_nft_metadata
ON solana.core.fact_nft_sales.mint = solana.core.dim_nft_metadata.mint
where not token_name is NULL
--AND MINT_CURRENCY LIKE 'So11111111111111111111111111111111111111111'
), tab2 as (
SELECT
token_name,
solana.core.fact_transfers.tx_id,
max(amount),
sum(amount),
(sum(amount) - max(amount)) / 2 as royalty
FROM solana.core.fact_transfers
LEFT outer join tab1
on tab1.tx_id = solana.core.fact_transfers.tx_id
WHERE mint LIKE 'So11111111111111111111111111111111111111112'
and solana.core.fact_transfers.tx_id in (SELECT tx_id from tab1)
GROUP BY 1,2
), tab3 as (
SELECT
token_name,
sum(royalty) as royalty_volume
FROM tab2
GROUP BY 1
ORDER BY 2 DESC
LIMIT 30
), tab4 as (
SELECT
token_name,
count(DISTINCT tx_id) as mints,