m0rt3zaUntitled Query
Updated 2022-08-25Copy Reference Fork
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
›
⌄
WITH swap_events AS (
SELECT
block_timestamp::date as date,
block_timestamp,
date_trunc(HOUR, block_timestamp) as hour,
ORIGIN_FROM_ADDRESS as swapper,
event_inputs:buy_amt as amount_out_raw,
event_inputs:buy_gem as token_address_out,
event_inputs:pay_amt as amount_in_raw,
event_inputs:pay_gem as token_address_in
FROM optimism.core.fact_event_logs
WHERE ORIGIN_TO_ADDRESS = lower('0x7Af14ADc8Aea70f063c7eA3B2C1AD0D7A59C4bFf')
AND event_name = 'LogTrade'
AND tx_status = 'SUCCESS'
--AND block_timestamp > CURRENT_DATE - 7
), swaps_adjust_decimals AS (
SELECT a.*,
b.decimals as decimals_out,
b.symbol as symbol_out,
amount_out_raw / pow(10, decimals_out) as amount_out,
c.decimals as decimals_in,
c.symbol as symbol_in,
amount_in_raw / pow(10, decimals_in) as amount_in
FROM swap_events as a JOIN optimism.core.dim_contracts as b ON a.token_address_out = b.address
JOIN optimism.core.dim_contracts as c ON a.token_address_in = c.address
), rubicon_ez_swaps AS (
SELECT
a.*,
a.amount_out * b.price as amount_out_usd,
a.amount_in * c.price as amount_in_usd
FROM swaps_adjust_decimals as a JOIN optimism.core.fact_hourly_token_prices as b
ON a.token_address_out = b.TOKEN_ADDRESS AND a.hour = b.hour
JOIN optimism.core.fact_hourly_token_prices as c
ON a.token_address_in = c.TOKEN_ADDRESS AND a.hour = c.hour
)
SELECT *
Run a query to Download Data