Skip to content

Commit ce4cf69

Browse files
author
sam bacha
authored
chore(abstractions): sync
1 parent e982394 commit ce4cf69

File tree

1 file changed

+47
-87
lines changed

1 file changed

+47
-87
lines changed

dune/abstractions/dex/trades.sql

Lines changed: 47 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ CREATE TABLE dex.trades (
1717
exchange_contract_address bytea NOT NULL,
1818
tx_hash bytea NOT NULL,
1919
tx_from bytea NOT NULL,
20-
tx_to bytea,
2120
trace_address integer[],
2221
evt_index integer,
2322
trade_id integer
@@ -47,7 +46,6 @@ WITH rows AS (
4746
exchange_contract_address,
4847
tx_hash,
4948
tx_from,
50-
tx_to,
5149
trace_address,
5250
evt_index,
5351
trade_id
@@ -75,7 +73,6 @@ WITH rows AS (
7573
exchange_contract_address,
7674
tx_hash,
7775
tx."from" as tx_from,
78-
tx."to" as tx_to,
7976
trace_address,
8077
evt_index,
8178
row_number() OVER (PARTITION BY tx_hash, evt_index, trace_address) AS trade_id
@@ -178,7 +175,6 @@ WITH rows AS (
178175

179176
-- Kyber: trade from ETH - Token
180177
SELECT
181-
182178
evt_block_time AS block_time,
183179
'Kyber' AS project,
184180
'1' AS version,
@@ -331,7 +327,7 @@ WITH rows AS (
331327
-- 0x v2.1
332328
SELECT
333329
evt_block_time AS block_time,
334-
'0x Native' AS project,
330+
'0x' AS project,
335331
'2.1' AS version,
336332
'DEX' AS category,
337333
"takerAddress" AS trader_a,
@@ -349,75 +345,12 @@ WITH rows AS (
349345

350346
UNION ALL
351347

352-
-- 0x v3
348+
-- 0x v3 (0x api volume)
353349
SELECT
354-
evt_block_time AS block_time,
355-
'0x Native' AS project,
350+
block_time,
351+
'0x' AS project,
356352
'3' AS version,
357353
'DEX' AS category,
358-
"takerAddress" AS trader_a,
359-
"makerAddress" AS trader_b,
360-
"takerAssetFilledAmount" AS token_a_amount_raw,
361-
"makerAssetFilledAmount" AS token_b_amount_raw,
362-
NULL::numeric AS usd_amount,
363-
substring("takerAssetData" for 20 from 17) AS token_a_address,
364-
substring("makerAssetData" for 20 from 17) AS token_b_address,
365-
contract_address AS exchange_contract_address,
366-
evt_tx_hash AS tx_hash,
367-
NULL::integer[] AS trace_address,
368-
evt_index
369-
FROM zeroex_v3."Exchange_evt_Fill"
370-
371-
UNION ALL
372-
373-
-- 0x v4 limit orders
374-
SELECT
375-
evt_block_time AS block_time,
376-
'0x Native' AS project,
377-
'4' AS version,
378-
'DEX' AS category,
379-
taker AS trader_a,
380-
maker AS trader_b,
381-
"takerTokenFilledAmount" AS token_a_amount_raw,
382-
"makerTokenFilledAmount" AS token_b_amount_raw,
383-
NULL::numeric AS usd_amount,
384-
"takerToken" AS token_a_address,
385-
"makerToken" AS token_b_address,
386-
contract_address AS exchange_contract_address,
387-
evt_tx_hash AS tx_hash,
388-
NULL::integer[] AS trace_address,
389-
evt_index
390-
FROM zeroex."ExchangeProxy_evt_LimitOrderFilled"
391-
392-
UNION ALL
393-
394-
-- 0x v4 rfq orders
395-
SELECT
396-
evt_block_time AS block_time,
397-
'0x Native' AS project,
398-
'4' AS version,
399-
'DEX' AS category,
400-
taker AS trader_a,
401-
maker AS trader_b,
402-
"takerTokenFilledAmount" AS token_a_amount_raw,
403-
"makerTokenFilledAmount" AS token_b_amount_raw,
404-
NULL::numeric AS usd_amount,
405-
"takerToken" AS token_a_address,
406-
"makerToken" AS token_b_address,
407-
contract_address AS exchange_contract_address,
408-
evt_tx_hash AS tx_hash,
409-
NULL::integer[] AS trace_address,
410-
evt_index
411-
FROM zeroex."ExchangeProxy_evt_RfqOrderFilled"
412-
413-
UNION ALL
414-
415-
-- 0x api
416-
SELECT
417-
block_time,
418-
'0x API' AS project,
419-
NULL AS version,
420-
'Aggregator' AS category,
421354
"taker" AS trader_a,
422355
"maker" AS trader_b,
423356
"taker_token_amount_raw" AS token_a_amount_raw,
@@ -432,7 +365,7 @@ WITH rows AS (
432365
FROM zeroex."view_0x_api_fills"
433366
where swap_flag is TRUE
434367

435-
UNION ALL
368+
UNION
436369

437370
-- Matcha
438371
SELECT
@@ -653,23 +586,23 @@ WITH rows AS (
653586

654587
-- 1inch Limit Orders (0x)
655588
SELECT
656-
evt_block_time as block_time,
589+
block_time,
657590
'1inch' AS project,
658591
'1' AS version,
659592
'Aggregator' AS category,
660-
"takerAddress" AS trader_a,
661-
"makerAddress" AS trader_b,
662-
"takerAssetFilledAmount" AS token_a_amount_raw,
663-
"makerAssetFilledAmount" AS token_b_amount_raw,
593+
"taker" AS trader_a,
594+
"maker" AS trader_b,
595+
"taker_token_amount_raw" AS token_a_amount_raw,
596+
"maker_token_amount_raw" AS token_b_amount_raw,
664597
NULL::numeric AS usd_amount,
665-
substring("takerAssetData" for 20 from 17) AS token_a_address,
666-
substring("makerAssetData" for 20 from 17) AS token_b_address,
598+
taker_token AS token_a_address,
599+
maker_token AS token_b_address,
667600
contract_address AS exchange_contract_address,
668-
evt_tx_hash,
601+
tx_hash,
669602
NULL::integer[] AS trace_address,
670603
evt_index
671-
FROM zeroex_v2."Exchange2.1_evt_Fill"
672-
WHERE "feeRecipientAddress" = '\x55662e225a3376759c24331a9aed764f8f0c9fbb'
604+
FROM zeroex."view_0x_api_fills"
605+
WHERE affiliate_address ='\x55662e225a3376759c24331a9aed764f8f0c9fbb'
673606

674607
UNION ALL
675608

@@ -712,8 +645,12 @@ WITH rows AS (
712645
result AS token_a_amount_raw,
713646
amount AS token_b_amount_raw,
714647
NULL::numeric AS usd_amount,
715-
dst AS token_a_address,
716-
src AS token_b_address,
648+
CASE WHEN dst = '\xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' OR dst = '\x0000000000000000000000000000000000000000' THEN
649+
'\xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'::bytea ELSE dst
650+
END AS token_a_address,
651+
CASE WHEN src = '\xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' OR src = '\x0000000000000000000000000000000000000000' THEN
652+
'\xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'::bytea ELSE src
653+
END AS token_b_address,
717654
contract_address AS exchange_contract_address,
718655
evt_tx_hash AS tx_hash,
719656
NULL::integer[] AS trace_address,
@@ -722,6 +659,31 @@ WITH rows AS (
722659

723660
UNION ALL
724661

662+
-- 1inch LP
663+
SELECT
664+
evt_block_time,
665+
'1inch LP' AS project,
666+
'1' AS version,
667+
'DEX' AS category,
668+
sender AS trader_a,
669+
NULL::bytea AS trader_b,
670+
result AS token_a_amount_raw,
671+
amount AS token_b_amount_raw,
672+
NULL::numeric AS usd_amount,
673+
CASE WHEN "dstToken" = '\xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' OR "dstToken" = '\x0000000000000000000000000000000000000000' THEN
674+
'\xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'::bytea ELSE "dstToken"
675+
END AS token_a_address,
676+
CASE WHEN "srcToken" = '\xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' OR "srcToken" = '\x0000000000000000000000000000000000000000' THEN
677+
'\xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2'::bytea ELSE "srcToken"
678+
END AS token_b_address,
679+
contract_address AS exchange_contract_address,
680+
evt_tx_hash AS tx_hash,
681+
NULL::integer[] AS trace_address,
682+
evt_index
683+
FROM onelp."Mooniswap_evt_Swapped"
684+
685+
UNION ALL
686+
725687
--Curve
726688
SELECT
727689
block_time,
@@ -908,7 +870,7 @@ WITH rows AS (
908870
WHERE dexs.block_time >= start_ts
909871
AND dexs.block_time < end_ts
910872

911-
UNION ALL
873+
UNION
912874

913875
-- synthetix has their own usd-prices
914876
SELECT
@@ -930,7 +892,6 @@ WITH rows AS (
930892
exchange_contract_address,
931893
tx_hash,
932894
tx."from" as tx_from,
933-
tx."to" as tx_to,
934895
NULL AS trace_address,
935896
evt_index,
936897
trade_id
@@ -958,7 +919,6 @@ $function$;
958919
CREATE UNIQUE INDEX IF NOT EXISTS dex_trades_tr_addr_uniq_idx ON dex.trades (tx_hash, trace_address, trade_id);
959920
CREATE UNIQUE INDEX IF NOT EXISTS dex_trades_evt_index_uniq_idx ON dex.trades (tx_hash, evt_index, trade_id);
960921
CREATE INDEX IF NOT EXISTS dex_trades_tx_from_idx ON dex.trades (tx_from);
961-
CREATE INDEX IF NOT EXISTS dex_trades_tx_to_idx ON dex.trades (tx_to);
962922
CREATE INDEX IF NOT EXISTS dex_trades_project_idx ON dex.trades (project);
963923
CREATE INDEX IF NOT EXISTS dex_trades_block_time_idx ON dex.trades USING BRIN (block_time);
964924
CREATE INDEX IF NOT EXISTS dex_trades_token_a_idx ON dex.trades (token_a_address);

0 commit comments

Comments
 (0)