Updated 2023-10-11
    WITH GET_INPUT_TIMESPAN AS (
    SELECT IFF(TRY_CAST( '{{LAST_X_days}}' as int) IS NULL, 5, TRY_CAST( '{{LAST_X_days}}' AS int)) AS TIMESPAN
    ),
    GET_THRESHOLD AS (
    SELECT IFF(TRY_CAST( '{{Equal_or_greater_than_X_BTC}}' as int) IS NULL, 30, TRY_CAST( '{{Equal_or_greater_than_X_BTC}}' AS int)) AS ETH_AMOUNT
    ),
    CEX_WALLETS_ON_ETEHREUM AS (
    SELECT ADDRESS, LABEL AS CEX FROM ethereum.core.dim_labels
    WHERE LABEL_TYPE = 'cex' AND LABEL_SUBTYPE = 'deposit_wallet'
    ),
    ETEHREUM_TRANSACTIONS_BTC AS (
    SELECT TX_HASH, DATE_TRUNC('HOUR', BLOCK_TIMESTAMP) AS TS, FROM_ADDRESS AS SENDER, ADDRESS AS "Deposit address", CEX, AMOUNT, 'BTC' AS CURRENCY, 'Ethereum' AS CHAIN
    FROM ethereum.core.ez_token_transfers TR JOIN CEX_WALLETS_ON_ETEHREUM ON (TO_ADDRESS = ADDRESS)
    WHERE CONTRACT_ADDRESS = '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599' AND AMOUNT IS NOT NULL AND AMOUNT >= (SELECT ETH_AMOUNT FROM GET_THRESHOLD) AND BLOCK_TIMESTAMP >= CURRENT_DATE - (SELECT TIMESPAN FROM GET_INPUT_TIMESPAN) AND SENDER != '0x0000000000000000000000000000000000000000'
    ),
    SUCCESSFULL_TRANSACTIONS_ETEHREUM AS (
    SELECT TR.*
    FROM ETEHREUM_TRANSACTIONS_BTC TR JOIN ethereum.core.fact_transactions USING(TX_HASH)
    WHERE STATUS = 'SUCCESS' AND SENDER NOT IN (SELECT ADDRESS FROM ethereum.core.dim_labels WHERE LABEL_TYPE = 'cex' AND LABEL_SUBTYPE IN('deposit_wallet', 'hot_wallet'))

    ),
    -------------------------------------------------------------------------------------Arbitrum-----------------------------------------------------------------------------------------
    CEX_WALLETS_ON_ARBITRUM AS (
    SELECT ADDRESS, PROJECT_NAME AS CEX
    FROM arbitrum.core.dim_labels
    WHERE LABEL_TYPE = 'cex' AND LABEL_SUBTYPE = 'deposit_wallet'
    ),
    ARBITRUM_TRANSACTIONS_BTC AS (

    SELECT TX_HASH, DATE_TRUNC('HOUR', BLOCK_TIMESTAMP) AS TS, FROM_ADDRESS AS SENDER, ADDRESS AS "Deposit address", CEX, AMOUNT, 'BTC' AS CURRENCY, 'Arbitrum' AS CHAIN
    FROM arbitrum.core.ez_token_transfers TR JOIN CEX_WALLETS_ON_ARBITRUM ON (TO_ADDRESS = ADDRESS)
    WHERE CONTRACT_ADDRESS = '0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f' AND AMOUNT IS NOT NULL AND AMOUNT >= (SELECT ETH_AMOUNT FROM GET_THRESHOLD) AND BLOCK_TIMESTAMP >= CURRENT_DATE - (SELECT TIMESPAN FROM GET_INPUT_TIMESPAN) AND SENDER != '0x0000000000000000000000000000000000000000'
    ),
    SUCCESSFULL_TRANSACTIONS_ARBITRUM AS (
    SELECT TR.*
    FROM ARBITRUM_TRANSACTIONS_BTC TR JOIN arbitrum.core.fact_transactions USING(TX_HASH)
    Run a query to Download Data