@@ -17,7 +17,6 @@ CREATE TABLE dex.trades (
17
17
exchange_contract_address bytea NOT NULL ,
18
18
tx_hash bytea NOT NULL ,
19
19
tx_from bytea NOT NULL ,
20
- tx_to bytea ,
21
20
trace_address integer [],
22
21
evt_index integer ,
23
22
trade_id integer
@@ -47,7 +46,6 @@ WITH rows AS (
47
46
exchange_contract_address,
48
47
tx_hash,
49
48
tx_from,
50
- tx_to,
51
49
trace_address,
52
50
evt_index,
53
51
trade_id
@@ -75,7 +73,6 @@ WITH rows AS (
75
73
exchange_contract_address,
76
74
tx_hash,
77
75
tx." from" as tx_from,
78
- tx." to" as tx_to,
79
76
trace_address,
80
77
evt_index,
81
78
row_number() OVER (PARTITION BY tx_hash, evt_index, trace_address) AS trade_id
@@ -178,7 +175,6 @@ WITH rows AS (
178
175
179
176
-- Kyber: trade from ETH - Token
180
177
SELECT
181
-
182
178
evt_block_time AS block_time,
183
179
' Kyber' AS project,
184
180
' 1' AS version,
@@ -331,7 +327,7 @@ WITH rows AS (
331
327
-- 0x v2.1
332
328
SELECT
333
329
evt_block_time AS block_time,
334
- ' 0x Native ' AS project,
330
+ ' 0x' AS project,
335
331
' 2.1' AS version,
336
332
' DEX' AS category,
337
333
" takerAddress" AS trader_a,
@@ -349,75 +345,12 @@ WITH rows AS (
349
345
350
346
UNION ALL
351
347
352
- -- 0x v3
348
+ -- 0x v3 (0x api volume)
353
349
SELECT
354
- evt_block_time AS block_time,
355
- ' 0x Native ' AS project,
350
+ block_time,
351
+ ' 0x' AS project,
356
352
' 3' AS version,
357
353
' 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,
421
354
" taker" AS trader_a,
422
355
" maker" AS trader_b,
423
356
" taker_token_amount_raw" AS token_a_amount_raw,
@@ -432,7 +365,7 @@ WITH rows AS (
432
365
FROM zeroex." view_0x_api_fills"
433
366
where swap_flag is TRUE
434
367
435
- UNION ALL
368
+ UNION
436
369
437
370
-- Matcha
438
371
SELECT
@@ -653,23 +586,23 @@ WITH rows AS (
653
586
654
587
-- 1inch Limit Orders (0x)
655
588
SELECT
656
- evt_block_time as block_time,
589
+ block_time,
657
590
' 1inch' AS project,
658
591
' 1' AS version,
659
592
' 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,
664
597
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,
667
600
contract_address AS exchange_contract_address,
668
- evt_tx_hash ,
601
+ tx_hash ,
669
602
NULL ::integer [] AS trace_address,
670
603
evt_index
671
- FROM zeroex_v2. " Exchange2.1_evt_Fill "
672
- WHERE " feeRecipientAddress " = ' \x 55662e225a3376759c24331a9aed764f8f0c9fbb'
604
+ FROM zeroex. " view_0x_api_fills "
605
+ WHERE affiliate_address = ' \x 55662e225a3376759c24331a9aed764f8f0c9fbb'
673
606
674
607
UNION ALL
675
608
@@ -712,8 +645,12 @@ WITH rows AS (
712
645
result AS token_a_amount_raw,
713
646
amount AS token_b_amount_raw,
714
647
NULL ::numeric AS usd_amount,
715
- dst AS token_a_address,
716
- src AS token_b_address,
648
+ CASE WHEN dst = ' \x EeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' OR dst = ' \x 0000000000000000000000000000000000000000' THEN
649
+ ' \x c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' ::bytea ELSE dst
650
+ END AS token_a_address,
651
+ CASE WHEN src = ' \x EeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' OR src = ' \x 0000000000000000000000000000000000000000' THEN
652
+ ' \x c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' ::bytea ELSE src
653
+ END AS token_b_address,
717
654
contract_address AS exchange_contract_address,
718
655
evt_tx_hash AS tx_hash,
719
656
NULL ::integer [] AS trace_address,
@@ -722,6 +659,31 @@ WITH rows AS (
722
659
723
660
UNION ALL
724
661
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" = ' \x EeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' OR " dstToken" = ' \x 0000000000000000000000000000000000000000' THEN
674
+ ' \x c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' ::bytea ELSE " dstToken"
675
+ END AS token_a_address,
676
+ CASE WHEN " srcToken" = ' \x EeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE' OR " srcToken" = ' \x 0000000000000000000000000000000000000000' THEN
677
+ ' \x c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2' ::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
+
725
687
-- Curve
726
688
SELECT
727
689
block_time,
@@ -908,7 +870,7 @@ WITH rows AS (
908
870
WHERE dexs .block_time >= start_ts
909
871
AND dexs .block_time < end_ts
910
872
911
- UNION ALL
873
+ UNION
912
874
913
875
-- synthetix has their own usd-prices
914
876
SELECT
@@ -930,7 +892,6 @@ WITH rows AS (
930
892
exchange_contract_address,
931
893
tx_hash,
932
894
tx." from" as tx_from,
933
- tx." to" as tx_to,
934
895
NULL AS trace_address,
935
896
evt_index,
936
897
trade_id
@@ -958,7 +919,6 @@ $function$;
958
919
CREATE UNIQUE INDEX IF NOT EXISTS dex_trades_tr_addr_uniq_idx ON dex .trades (tx_hash, trace_address, trade_id);
959
920
CREATE UNIQUE INDEX IF NOT EXISTS dex_trades_evt_index_uniq_idx ON dex .trades (tx_hash, evt_index, trade_id);
960
921
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);
962
922
CREATE INDEX IF NOT EXISTS dex_trades_project_idx ON dex .trades (project);
963
923
CREATE INDEX IF NOT EXISTS dex_trades_block_time_idx ON dex .trades USING BRIN (block_time);
964
924
CREATE INDEX IF NOT EXISTS dex_trades_token_a_idx ON dex .trades (token_a_address);
0 commit comments