First of all, we don't do homework. We can help if you're stuck in a specific question but in such case you would need to show what you've done so far and what is the detail you're struggling with.
Having that said, without having your data it's quite hard to say why the result is empty. What I would suggest is that run the different parts of the query independently and examine the data you receive, if any.
For example what does the following return
SELECT LEFT(u.phone_country, 2) AS short_phone_country,
u.id
FROM users u
what about
SELECT t.user_id,
t.merchant_country,
Sum(t.amount / fx.rate / Power(10, cd.exponent)) AS amount
FROM transactions t
JOIN fx_rates fx ON ( fx.ccy = t.currency AND fx.base_ccy = 'EUR' )
JOIN currency_details cd ON cd.currency = t.currency
JOIN processed_users pu ON pu.id = t.user_id
WHERE t.source = 'GAIA'
Note that the join to
processed_users
is removed from the query to be able to run it separately. If the latter returns nothing you can continue breaking it into pieces and removing conditions to understand the reason. If both return data then have a look at the joining columns in the raw data you got. Do the result sets contain common key values and so forth.