-
-
Save sambacha/a21955e8a8feec7579a607f153476547 to your computer and use it in GitHub Desktop.
SushiSwap_LiquidityPairs.ipynb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/sambacha/a21955e8a8feec7579a607f153476547/sushiswap_liquiditypairs.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "9x8BvaBk0kc1" | |
}, | |
"source": [ | |
"# SushiSwap - Get Liquidity Pairs\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"```\n", | |
"Copyright (c) 2022 Manifold Finance, Inc.\n", | |
"This Source Code Form is subject to the terms of the Mozilla Public\n", | |
"License, v. 2.0. If a copy of the MPL was not distributed with this\n", | |
"file, You can obtain one at http://mozilla.org/MPL/2.0/.\n", | |
"```" | |
], | |
"metadata": { | |
"id": "xtl-jlzT0usH" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "0zt7DlHQ0kc4" | |
}, | |
"outputs": [], | |
"source": [ | |
"import requests\n", | |
"import json\n", | |
"import pandas as pd\n", | |
"from tqdm import tqdm" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "x7iGcR4n0kc6" | |
}, | |
"outputs": [], | |
"source": [ | |
"uniswap_url = 'https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2'\n", | |
"sushiswap_url = 'https://api.thegraph.com/subgraphs/name/sushiswap/exchange'" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "y7A_Ztso0kc6" | |
}, | |
"source": [ | |
"## Top Uniswap and Sushiswap pairs by liquidity" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "CX4uAkUo0kc7" | |
}, | |
"outputs": [], | |
"source": [ | |
"pair_query = \"\"\"query{\n", | |
" pairs(first: 500, orderBy: reserveUSD, orderDirection: desc) {\n", | |
" id,\n", | |
" token0{id,symbol,decimals},\n", | |
" token1{id,symbol,decimals}\n", | |
" }\n", | |
"}\"\"\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "nh9uJGsQ0kc7", | |
"outputId": "b4bd3593-733a-41a1-9571-9223d6409802" | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"200\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>id</th>\n", | |
" <th>token0.decimals</th>\n", | |
" <th>token0.id</th>\n", | |
" <th>token0.symbol</th>\n", | |
" <th>token1.decimals</th>\n", | |
" <th>token1.id</th>\n", | |
" <th>token1.symbol</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0x021313710a75a867fbb5b4dda0b5f367f05cf110</td>\n", | |
" <td>2</td>\n", | |
" <td>0x35bd8472ed2da9eed980e49b8b92ccbcf625adbd</td>\n", | |
" <td>ENRH</td>\n", | |
" <td>18</td>\n", | |
" <td>0xed7e17b99804d273eda67fc7d423cc9080ea8431</td>\n", | |
" <td>CARBO</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0x93512394a82d278b9961e3891a59c6dc1c2e4f98</td>\n", | |
" <td>12</td>\n", | |
" <td>0x72e5390edb7727e3d4e3436451dadaff675dbcc0</td>\n", | |
" <td>HANU</td>\n", | |
" <td>10</td>\n", | |
" <td>0xec4a1c7a4e9fdc7cc621b548a931c92bc08a679a</td>\n", | |
" <td>GOJ</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0x48918f57fa7210ea7b20f23da8420e68df3578fe</td>\n", | |
" <td>12</td>\n", | |
" <td>0x72e5390edb7727e3d4e3436451dadaff675dbcc0</td>\n", | |
" <td>HANU</td>\n", | |
" <td>10</td>\n", | |
" <td>0x8d52061af43c52204c717d0610ea8f52f955ce0b</td>\n", | |
" <td>MIA</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0xe6c78983b07a07e0523b57e18aa23d3ae2519e05</td>\n", | |
" <td>18</td>\n", | |
" <td>0x395c8db957d743a62ac3aaaa4574553bcf2380b3</td>\n", | |
" <td>UETH</td>\n", | |
" <td>18</td>\n", | |
" <td>0x598a754c5d678119e67574ff811da61d83c0e629</td>\n", | |
" <td>ULCK</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0x21b8065d10f73ee2e260e5b47d3344d3ced7596e</td>\n", | |
" <td>18</td>\n", | |
" <td>0x66a0f676479cee1d7373f3dc2e2952778bff5bd6</td>\n", | |
" <td>WISE</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" id token0.decimals \\\n", | |
"0 0x021313710a75a867fbb5b4dda0b5f367f05cf110 2 \n", | |
"1 0x93512394a82d278b9961e3891a59c6dc1c2e4f98 12 \n", | |
"2 0x48918f57fa7210ea7b20f23da8420e68df3578fe 12 \n", | |
"3 0xe6c78983b07a07e0523b57e18aa23d3ae2519e05 18 \n", | |
"4 0x21b8065d10f73ee2e260e5b47d3344d3ced7596e 18 \n", | |
"\n", | |
" token0.id token0.symbol token1.decimals \\\n", | |
"0 0x35bd8472ed2da9eed980e49b8b92ccbcf625adbd ENRH 18 \n", | |
"1 0x72e5390edb7727e3d4e3436451dadaff675dbcc0 HANU 10 \n", | |
"2 0x72e5390edb7727e3d4e3436451dadaff675dbcc0 HANU 10 \n", | |
"3 0x395c8db957d743a62ac3aaaa4574553bcf2380b3 UETH 18 \n", | |
"4 0x66a0f676479cee1d7373f3dc2e2952778bff5bd6 WISE 18 \n", | |
"\n", | |
" token1.id token1.symbol \n", | |
"0 0xed7e17b99804d273eda67fc7d423cc9080ea8431 CARBO \n", | |
"1 0xec4a1c7a4e9fdc7cc621b548a931c92bc08a679a GOJ \n", | |
"2 0x8d52061af43c52204c717d0610ea8f52f955ce0b MIA \n", | |
"3 0x598a754c5d678119e67574ff811da61d83c0e629 ULCK \n", | |
"4 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH " | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"pair_req = requests.post(uniswap_url, json={'query': pair_query})\n", | |
"print(pair_req.status_code)\n", | |
"pair_data = json.loads(pair_req.text)\n", | |
"pair_df_data = pair_data['data']['pairs']\n", | |
"pair_df_uni = pd.json_normalize(pair_df_data)\n", | |
"pair_df_uni.head()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "TW-_9X5g0kc8", | |
"outputId": "e4c15247-0355-4fa1-afe0-d4127450f1c7" | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"200\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>id</th>\n", | |
" <th>token0.decimals</th>\n", | |
" <th>token0.id</th>\n", | |
" <th>token0.symbol</th>\n", | |
" <th>token1.decimals</th>\n", | |
" <th>token1.id</th>\n", | |
" <th>token1.symbol</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0xceff51756c56ceffca006cd410b03ffc46dd3a58</td>\n", | |
" <td>8</td>\n", | |
" <td>0x2260fac5e5542a773aa44fbcfedf7c193bc2c599</td>\n", | |
" <td>WBTC</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0x34d7d7aaf50ad4944b70b320acb24c95fa2def7c</td>\n", | |
" <td>9</td>\n", | |
" <td>0x383518188c0c6d7730d91b2c03a03c837814a899</td>\n", | |
" <td>OHM</td>\n", | |
" <td>18</td>\n", | |
" <td>0x6b175474e89094c44da98b954eedeac495271d0f</td>\n", | |
" <td>DAI</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0x6a091a3406e0073c3cd6340122143009adac0eda</td>\n", | |
" <td>18</td>\n", | |
" <td>0x767fe9edc9e0df98e07454847909b5e959d7ca0e</td>\n", | |
" <td>ILV</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0x397ff1542f962076d0bfe58ea045ffa2d347aca0</td>\n", | |
" <td>6</td>\n", | |
" <td>0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48</td>\n", | |
" <td>USDC</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0xe12af1218b4e9272e9628d7c7dc6354d137d024e</td>\n", | |
" <td>18</td>\n", | |
" <td>0x1a4b46696b2bb4794eb3d4c26f1c55f9170fa4c5</td>\n", | |
" <td>BIT</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" id token0.decimals \\\n", | |
"0 0xceff51756c56ceffca006cd410b03ffc46dd3a58 8 \n", | |
"1 0x34d7d7aaf50ad4944b70b320acb24c95fa2def7c 9 \n", | |
"2 0x6a091a3406e0073c3cd6340122143009adac0eda 18 \n", | |
"3 0x397ff1542f962076d0bfe58ea045ffa2d347aca0 6 \n", | |
"4 0xe12af1218b4e9272e9628d7c7dc6354d137d024e 18 \n", | |
"\n", | |
" token0.id token0.symbol token1.decimals \\\n", | |
"0 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599 WBTC 18 \n", | |
"1 0x383518188c0c6d7730d91b2c03a03c837814a899 OHM 18 \n", | |
"2 0x767fe9edc9e0df98e07454847909b5e959d7ca0e ILV 18 \n", | |
"3 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 USDC 18 \n", | |
"4 0x1a4b46696b2bb4794eb3d4c26f1c55f9170fa4c5 BIT 18 \n", | |
"\n", | |
" token1.id token1.symbol \n", | |
"0 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"1 0x6b175474e89094c44da98b954eedeac495271d0f DAI \n", | |
"2 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"3 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"4 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH " | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"pair_req = requests.post(sushiswap_url, json={'query': pair_query})\n", | |
"print(pair_req.status_code)\n", | |
"pair_data = json.loads(pair_req.text)\n", | |
"pair_df_data = pair_data['data']['pairs']\n", | |
"pair_df_sushi = pd.json_normalize(pair_df_data)\n", | |
"pair_df_sushi.head()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "FQffV5zJ0kc9" | |
}, | |
"source": [ | |
"## Top Uniswap and Sushiswap pairs by volume" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "C9w7iced0kc9" | |
}, | |
"outputs": [], | |
"source": [ | |
"\n", | |
"pair_query = \"\"\"query{\n", | |
" pairs(first: 500, orderBy: volumeUSD, orderDirection: desc) {\n", | |
" id,\n", | |
" token0{id,symbol,decimals},\n", | |
" token1{id,symbol,decimals}\n", | |
" }\n", | |
"}\"\"\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "5628McFk0kc-", | |
"outputId": "650a316a-84bb-4703-b2fb-e61d3af3476b" | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"200\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>id</th>\n", | |
" <th>token0.decimals</th>\n", | |
" <th>token0.id</th>\n", | |
" <th>token0.symbol</th>\n", | |
" <th>token1.decimals</th>\n", | |
" <th>token1.id</th>\n", | |
" <th>token1.symbol</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc</td>\n", | |
" <td>6</td>\n", | |
" <td>0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48</td>\n", | |
" <td>USDC</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0x0d4a11d5eeaac28ec3f61d100daf4d40471f1852</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>6</td>\n", | |
" <td>0xdac17f958d2ee523a2206206994597c13d831ec7</td>\n", | |
" <td>USDT</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0xa478c2975ab1ea89e8196811f51a7b7ade33eb11</td>\n", | |
" <td>18</td>\n", | |
" <td>0x6b175474e89094c44da98b954eedeac495271d0f</td>\n", | |
" <td>DAI</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0x23fe4ee3bd9bfd1152993a7954298bb4d426698f</td>\n", | |
" <td>0</td>\n", | |
" <td>0x05934eba98486693aaec2d00b0e9ce918e37dc3f</td>\n", | |
" <td>SCAMMY</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0xe5ffe183ae47f1a0e4194618d34c5b05b98953a8</td>\n", | |
" <td>0</td>\n", | |
" <td>0x3d7e683fc9c86b4d653c9e47ca12517440fad14e</td>\n", | |
" <td>welp</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" id token0.decimals \\\n", | |
"0 0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc 6 \n", | |
"1 0x0d4a11d5eeaac28ec3f61d100daf4d40471f1852 18 \n", | |
"2 0xa478c2975ab1ea89e8196811f51a7b7ade33eb11 18 \n", | |
"3 0x23fe4ee3bd9bfd1152993a7954298bb4d426698f 0 \n", | |
"4 0xe5ffe183ae47f1a0e4194618d34c5b05b98953a8 0 \n", | |
"\n", | |
" token0.id token0.symbol token1.decimals \\\n", | |
"0 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 USDC 18 \n", | |
"1 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH 6 \n", | |
"2 0x6b175474e89094c44da98b954eedeac495271d0f DAI 18 \n", | |
"3 0x05934eba98486693aaec2d00b0e9ce918e37dc3f SCAMMY 18 \n", | |
"4 0x3d7e683fc9c86b4d653c9e47ca12517440fad14e welp 18 \n", | |
"\n", | |
" token1.id token1.symbol \n", | |
"0 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"1 0xdac17f958d2ee523a2206206994597c13d831ec7 USDT \n", | |
"2 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"3 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"4 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH " | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"pair_req = requests.post(uniswap_url, json={'query': pair_query})\n", | |
"print(pair_req.status_code)\n", | |
"pair_data = json.loads(pair_req.text)\n", | |
"pair_df_data = pair_data['data']['pairs']\n", | |
"pair_df_uni_vol = pd.json_normalize(pair_df_data)\n", | |
"pair_df_uni_vol.head()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "G1S9P8b-0kc_", | |
"outputId": "b8355807-1245-4b21-e002-af0c44bfaa82" | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"200\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>id</th>\n", | |
" <th>token0.decimals</th>\n", | |
" <th>token0.id</th>\n", | |
" <th>token0.symbol</th>\n", | |
" <th>token1.decimals</th>\n", | |
" <th>token1.id</th>\n", | |
" <th>token1.symbol</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0x397ff1542f962076d0bfe58ea045ffa2d347aca0</td>\n", | |
" <td>6</td>\n", | |
" <td>0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48</td>\n", | |
" <td>USDC</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0x06da0fd433c1a5d7a4faa01111c044910a184553</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>6</td>\n", | |
" <td>0xdac17f958d2ee523a2206206994597c13d831ec7</td>\n", | |
" <td>USDT</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f</td>\n", | |
" <td>18</td>\n", | |
" <td>0x6b175474e89094c44da98b954eedeac495271d0f</td>\n", | |
" <td>DAI</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0x795065dcc9f64b5614c407a6efdc400da6221fb0</td>\n", | |
" <td>18</td>\n", | |
" <td>0x6b3595068778dd592e39a122f4f5a5cf09c90fe2</td>\n", | |
" <td>SUSHI</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0xceff51756c56ceffca006cd410b03ffc46dd3a58</td>\n", | |
" <td>8</td>\n", | |
" <td>0x2260fac5e5542a773aa44fbcfedf7c193bc2c599</td>\n", | |
" <td>WBTC</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" id token0.decimals \\\n", | |
"0 0x397ff1542f962076d0bfe58ea045ffa2d347aca0 6 \n", | |
"1 0x06da0fd433c1a5d7a4faa01111c044910a184553 18 \n", | |
"2 0xc3d03e4f041fd4cd388c549ee2a29a9e5075882f 18 \n", | |
"3 0x795065dcc9f64b5614c407a6efdc400da6221fb0 18 \n", | |
"4 0xceff51756c56ceffca006cd410b03ffc46dd3a58 8 \n", | |
"\n", | |
" token0.id token0.symbol token1.decimals \\\n", | |
"0 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 USDC 18 \n", | |
"1 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH 6 \n", | |
"2 0x6b175474e89094c44da98b954eedeac495271d0f DAI 18 \n", | |
"3 0x6b3595068778dd592e39a122f4f5a5cf09c90fe2 SUSHI 18 \n", | |
"4 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599 WBTC 18 \n", | |
"\n", | |
" token1.id token1.symbol \n", | |
"0 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"1 0xdac17f958d2ee523a2206206994597c13d831ec7 USDT \n", | |
"2 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"3 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"4 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH " | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"pair_req = requests.post(sushiswap_url, json={'query': pair_query})\n", | |
"print(pair_req.status_code)\n", | |
"pair_data = json.loads(pair_req.text)\n", | |
"pair_df_data = pair_data['data']['pairs']\n", | |
"pair_df_sushi_vol = pd.json_normalize(pair_df_data)\n", | |
"pair_df_sushi_vol.head()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "WadmVqd70kc_" | |
}, | |
"source": [ | |
"## Merge top volume and liquidity to use only those in both" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "4RCbpmOr0kc_", | |
"outputId": "e0d68f99-403f-4d7c-9db7-e1627e4db3b8" | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>address</th>\n", | |
" <th>base_decimals</th>\n", | |
" <th>base_address</th>\n", | |
" <th>base_symbol</th>\n", | |
" <th>quote_decimals</th>\n", | |
" <th>quote_address</th>\n", | |
" <th>quote_symbol</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0x21b8065d10f73ee2e260e5b47d3344d3ced7596e</td>\n", | |
" <td>18</td>\n", | |
" <td>0x66a0f676479cee1d7373f3dc2e2952778bff5bd6</td>\n", | |
" <td>WISE</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0x94b0a3d511b6ecdb17ebf877278ab030acb0a878</td>\n", | |
" <td>18</td>\n", | |
" <td>0x956f47f50a910163d8bf957cf5846d573e7f87ca</td>\n", | |
" <td>FEI</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc</td>\n", | |
" <td>6</td>\n", | |
" <td>0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48</td>\n", | |
" <td>USDC</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0x0d4a11d5eeaac28ec3f61d100daf4d40471f1852</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>6</td>\n", | |
" <td>0xdac17f958d2ee523a2206206994597c13d831ec7</td>\n", | |
" <td>USDT</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0x5fa464cefe8901d66c09b85d5fcdc55b3738c688</td>\n", | |
" <td>18</td>\n", | |
" <td>0x2e9d63788249371f1dfc918a52f8d799f4a38c94</td>\n", | |
" <td>TOKE</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" address base_decimals \\\n", | |
"0 0x21b8065d10f73ee2e260e5b47d3344d3ced7596e 18 \n", | |
"1 0x94b0a3d511b6ecdb17ebf877278ab030acb0a878 18 \n", | |
"2 0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc 6 \n", | |
"3 0x0d4a11d5eeaac28ec3f61d100daf4d40471f1852 18 \n", | |
"4 0x5fa464cefe8901d66c09b85d5fcdc55b3738c688 18 \n", | |
"\n", | |
" base_address base_symbol quote_decimals \\\n", | |
"0 0x66a0f676479cee1d7373f3dc2e2952778bff5bd6 WISE 18 \n", | |
"1 0x956f47f50a910163d8bf957cf5846d573e7f87ca FEI 18 \n", | |
"2 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 USDC 18 \n", | |
"3 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH 6 \n", | |
"4 0x2e9d63788249371f1dfc918a52f8d799f4a38c94 TOKE 18 \n", | |
"\n", | |
" quote_address quote_symbol \n", | |
"0 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"1 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"2 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"3 0xdac17f958d2ee523a2206206994597c13d831ec7 USDT \n", | |
"4 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH " | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"uni_pairs_merged = pair_df_uni.merge(pair_df_uni_vol,on='id').drop(columns=['token0.symbol_y', 'token0.id_y', 'token0.decimals_y','token1.symbol_y', 'token1.id_y','token1.decimals_y'])\n", | |
"uni_pairs_merged = uni_pairs_merged.rename({'id': 'address', 'token0.id_x': 'base_address','token0.symbol_x': 'base_symbol','token0.decimals_x': 'base_decimals', 'token1.id_x': 'quote_address','token1.symbol_x': 'quote_symbol','token1.decimals_x': 'quote_decimals' }, axis=1)\n", | |
"# uni_pairs_merged.to_csv('uni_pairs.csv',index=False)\n", | |
"uni_pairs_merged.head()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "9YUxvrq70kdA", | |
"outputId": "0e9dd289-7f93-4735-a47a-85e6d7ad6045" | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>address</th>\n", | |
" <th>base_decimals</th>\n", | |
" <th>base_address</th>\n", | |
" <th>base_symbol</th>\n", | |
" <th>quote_decimals</th>\n", | |
" <th>quote_address</th>\n", | |
" <th>quote_symbol</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0xceff51756c56ceffca006cd410b03ffc46dd3a58</td>\n", | |
" <td>8</td>\n", | |
" <td>0x2260fac5e5542a773aa44fbcfedf7c193bc2c599</td>\n", | |
" <td>WBTC</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0x34d7d7aaf50ad4944b70b320acb24c95fa2def7c</td>\n", | |
" <td>9</td>\n", | |
" <td>0x383518188c0c6d7730d91b2c03a03c837814a899</td>\n", | |
" <td>OHM</td>\n", | |
" <td>18</td>\n", | |
" <td>0x6b175474e89094c44da98b954eedeac495271d0f</td>\n", | |
" <td>DAI</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0x6a091a3406e0073c3cd6340122143009adac0eda</td>\n", | |
" <td>18</td>\n", | |
" <td>0x767fe9edc9e0df98e07454847909b5e959d7ca0e</td>\n", | |
" <td>ILV</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0x397ff1542f962076d0bfe58ea045ffa2d347aca0</td>\n", | |
" <td>6</td>\n", | |
" <td>0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48</td>\n", | |
" <td>USDC</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0xe12af1218b4e9272e9628d7c7dc6354d137d024e</td>\n", | |
" <td>18</td>\n", | |
" <td>0x1a4b46696b2bb4794eb3d4c26f1c55f9170fa4c5</td>\n", | |
" <td>BIT</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" address base_decimals \\\n", | |
"0 0xceff51756c56ceffca006cd410b03ffc46dd3a58 8 \n", | |
"1 0x34d7d7aaf50ad4944b70b320acb24c95fa2def7c 9 \n", | |
"2 0x6a091a3406e0073c3cd6340122143009adac0eda 18 \n", | |
"3 0x397ff1542f962076d0bfe58ea045ffa2d347aca0 6 \n", | |
"4 0xe12af1218b4e9272e9628d7c7dc6354d137d024e 18 \n", | |
"\n", | |
" base_address base_symbol quote_decimals \\\n", | |
"0 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599 WBTC 18 \n", | |
"1 0x383518188c0c6d7730d91b2c03a03c837814a899 OHM 18 \n", | |
"2 0x767fe9edc9e0df98e07454847909b5e959d7ca0e ILV 18 \n", | |
"3 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 USDC 18 \n", | |
"4 0x1a4b46696b2bb4794eb3d4c26f1c55f9170fa4c5 BIT 18 \n", | |
"\n", | |
" quote_address quote_symbol \n", | |
"0 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"1 0x6b175474e89094c44da98b954eedeac495271d0f DAI \n", | |
"2 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"3 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH \n", | |
"4 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH " | |
] | |
}, | |
"execution_count": 11, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"\n", | |
"sushi_pairs_merged = pair_df_sushi.merge(pair_df_sushi_vol,on='id').drop(columns=['token0.symbol_y', 'token0.id_y', 'token0.decimals_y','token1.symbol_y', 'token1.id_y','token1.decimals_y'])\n", | |
"sushi_pairs_merged = sushi_pairs_merged.rename({'id': 'address', 'token0.id_x': 'base_address','token0.symbol_x': 'base_symbol','token0.decimals_x': 'base_decimals', 'token1.id_x': 'quote_address','token1.symbol_x': 'quote_symbol','token1.decimals_x': 'quote_decimals' }, axis=1)\n", | |
"# sushi_pairs_merged.to_csv('sushi_pairs.csv',index=False)\n", | |
"sushi_pairs_merged.head()\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "y2MdQMXF0kdA" | |
}, | |
"source": [ | |
"## Find positional ids" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "L58cXVTv0kdB", | |
"outputId": "c57f811e-9064-42b9-fee7-01fe6c406ab7" | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>id</th>\n", | |
" <th>address</th>\n", | |
" <th>base_address</th>\n", | |
" <th>base_symbol</th>\n", | |
" <th>base_decimals</th>\n", | |
" <th>quote_address</th>\n", | |
" <th>quote_symbol</th>\n", | |
" <th>quote_decimals</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0</td>\n", | |
" <td>0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc</td>\n", | |
" <td>A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48</td>\n", | |
" <td>USDC</td>\n", | |
" <td>6</td>\n", | |
" <td>C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>1</td>\n", | |
" <td>0x3139ffc91b99aa94da8a2dc13f1fc36f9bdc98ee</td>\n", | |
" <td>8E870D67F660D95d5be530380D0eC0bd388289E1</td>\n", | |
" <td>USDP</td>\n", | |
" <td>18</td>\n", | |
" <td>A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48</td>\n", | |
" <td>USDC</td>\n", | |
" <td>6</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>2</td>\n", | |
" <td>0x12ede161c702d1494612d19f05992f43aa6a26fb</td>\n", | |
" <td>06AF07097C9Eeb7fD685c692751D5C66dB49c215</td>\n", | |
" <td>CHAI</td>\n", | |
" <td>18</td>\n", | |
" <td>C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>3</td>\n", | |
" <td>0xa478c2975ab1ea89e8196811f51a7b7ade33eb11</td>\n", | |
" <td>6B175474E89094C44Da98b954EedeAC495271d0F</td>\n", | |
" <td>DAI</td>\n", | |
" <td>18</td>\n", | |
" <td>C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>4</td>\n", | |
" <td>0x07f068ca326a469fc1d87d85d448990c8cba7df9</td>\n", | |
" <td>408e41876cCCDC0F92210600ef50372656052a38</td>\n", | |
" <td>REN</td>\n", | |
" <td>18</td>\n", | |
" <td>A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48</td>\n", | |
" <td>USDC</td>\n", | |
" <td>6</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" id address \\\n", | |
"0 0 0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc \n", | |
"1 1 0x3139ffc91b99aa94da8a2dc13f1fc36f9bdc98ee \n", | |
"2 2 0x12ede161c702d1494612d19f05992f43aa6a26fb \n", | |
"3 3 0xa478c2975ab1ea89e8196811f51a7b7ade33eb11 \n", | |
"4 4 0x07f068ca326a469fc1d87d85d448990c8cba7df9 \n", | |
"\n", | |
" base_address base_symbol base_decimals \\\n", | |
"0 A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 USDC 6 \n", | |
"1 8E870D67F660D95d5be530380D0eC0bd388289E1 USDP 18 \n", | |
"2 06AF07097C9Eeb7fD685c692751D5C66dB49c215 CHAI 18 \n", | |
"3 6B175474E89094C44Da98b954EedeAC495271d0F DAI 18 \n", | |
"4 408e41876cCCDC0F92210600ef50372656052a38 REN 18 \n", | |
"\n", | |
" quote_address quote_symbol quote_decimals \n", | |
"0 C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 WETH 18 \n", | |
"1 A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 USDC 6 \n", | |
"2 C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 WETH 18 \n", | |
"3 C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 WETH 18 \n", | |
"4 A0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 USDC 6 " | |
] | |
}, | |
"execution_count": 12, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"uni_dump = pd.read_csv('../contracts/export/uniswap.v2.20211105.csv')\n", | |
"uni_dump['address'] = '0x'+uni_dump['address'].str.lower()\n", | |
"uni_dump.head()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "uXExNzBV0kdB", | |
"outputId": "38e204a4-b94e-49ee-b6ab-c746525611ac" | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>id</th>\n", | |
" <th>address</th>\n", | |
" <th>base_address</th>\n", | |
" <th>base_symbol</th>\n", | |
" <th>base_decimals</th>\n", | |
" <th>quote_address</th>\n", | |
" <th>quote_symbol</th>\n", | |
" <th>quote_decimals</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>26828</td>\n", | |
" <td>0x21b8065d10f73ee2e260e5b47d3344d3ced7596e</td>\n", | |
" <td>0x66a0f676479cee1d7373f3dc2e2952778bff5bd6</td>\n", | |
" <td>WISE</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>31709</td>\n", | |
" <td>0x94b0a3d511b6ecdb17ebf877278ab030acb0a878</td>\n", | |
" <td>0x956f47f50a910163d8bf957cf5846d573e7f87ca</td>\n", | |
" <td>FEI</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0</td>\n", | |
" <td>0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc</td>\n", | |
" <td>0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48</td>\n", | |
" <td>USDC</td>\n", | |
" <td>6</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>144</td>\n", | |
" <td>0x0d4a11d5eeaac28ec3f61d100daf4d40471f1852</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" <td>0xdac17f958d2ee523a2206206994597c13d831ec7</td>\n", | |
" <td>USDT</td>\n", | |
" <td>6</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>50265</td>\n", | |
" <td>0x5fa464cefe8901d66c09b85d5fcdc55b3738c688</td>\n", | |
" <td>0x2e9d63788249371f1dfc918a52f8d799f4a38c94</td>\n", | |
" <td>TOKE</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" id address \\\n", | |
"0 26828 0x21b8065d10f73ee2e260e5b47d3344d3ced7596e \n", | |
"1 31709 0x94b0a3d511b6ecdb17ebf877278ab030acb0a878 \n", | |
"2 0 0xb4e16d0168e52d35cacd2c6185b44281ec28c9dc \n", | |
"3 144 0x0d4a11d5eeaac28ec3f61d100daf4d40471f1852 \n", | |
"4 50265 0x5fa464cefe8901d66c09b85d5fcdc55b3738c688 \n", | |
"\n", | |
" base_address base_symbol base_decimals \\\n", | |
"0 0x66a0f676479cee1d7373f3dc2e2952778bff5bd6 WISE 18 \n", | |
"1 0x956f47f50a910163d8bf957cf5846d573e7f87ca FEI 18 \n", | |
"2 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 USDC 6 \n", | |
"3 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH 18 \n", | |
"4 0x2e9d63788249371f1dfc918a52f8d799f4a38c94 TOKE 18 \n", | |
"\n", | |
" quote_address quote_symbol quote_decimals \n", | |
"0 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH 18 \n", | |
"1 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH 18 \n", | |
"2 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH 18 \n", | |
"3 0xdac17f958d2ee523a2206206994597c13d831ec7 USDT 6 \n", | |
"4 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH 18 " | |
] | |
}, | |
"execution_count": 13, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"uni_dump_merge = uni_pairs_merged.merge(uni_dump,on='address').drop(columns=['base_symbol_y', 'base_address_y', 'base_decimals_y','quote_symbol_y', 'quote_address_y','quote_decimals_y'])\n", | |
"uni_dump_merge = uni_dump_merge.rename({'base_address_x': 'base_address','base_symbol_x': 'base_symbol','base_decimals_x': 'base_decimals', 'quote_address_x': 'quote_address','quote_symbol_x': 'quote_symbol','quote_decimals_x': 'quote_decimals' }, axis=1)\n", | |
"uni_dump_merge = uni_dump_merge[['id','address','base_address','base_symbol','base_decimals','quote_address','quote_symbol','quote_decimals']]\n", | |
"uni_dump_merge.to_csv('uni_pairs.csv',index=False)\n", | |
"uni_dump_merge.head()\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "1y0jYub_0kdB", | |
"outputId": "c2fe400a-ec67-46f7-fbed-57bb4700638a" | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>id</th>\n", | |
" <th>address</th>\n", | |
" <th>base_address</th>\n", | |
" <th>base_symbol</th>\n", | |
" <th>base_decimals</th>\n", | |
" <th>quote_address</th>\n", | |
" <th>quote_symbol</th>\n", | |
" <th>quote_decimals</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0</td>\n", | |
" <td>0x680a025da7b1be2c204d7745e809919bce074026</td>\n", | |
" <td>6B3595068778DD592e39A122f4f5a5cF09C90fE2</td>\n", | |
" <td>SUSHI</td>\n", | |
" <td>18</td>\n", | |
" <td>dAC17F958D2ee523a2206206994597C13D831ec7</td>\n", | |
" <td>USDT</td>\n", | |
" <td>6</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>1</td>\n", | |
" <td>0x06da0fd433c1a5d7a4faa01111c044910a184553</td>\n", | |
" <td>C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" <td>dAC17F958D2ee523a2206206994597C13D831ec7</td>\n", | |
" <td>USDT</td>\n", | |
" <td>6</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>2</td>\n", | |
" <td>0x58dc5a51fe44589beb22e8ce67720b5bc5378009</td>\n", | |
" <td>C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" <td>D533a949740bb3306d119CC777fa900bA034cd52</td>\n", | |
" <td>CRV</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>3</td>\n", | |
" <td>0x95b54c8da12bb23f7a5f6e26c38d04acc6f81820</td>\n", | |
" <td>Aba8cAc6866B83Ae4eec97DD07ED254282f6aD8A</td>\n", | |
" <td>YAMv2</td>\n", | |
" <td>24</td>\n", | |
" <td>C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>4</td>\n", | |
" <td>0x611cde65dea90918c0078ac0400a72b0d25b9bb1</td>\n", | |
" <td>408e41876cCCDC0F92210600ef50372656052a38</td>\n", | |
" <td>REN</td>\n", | |
" <td>18</td>\n", | |
" <td>C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" id address \\\n", | |
"0 0 0x680a025da7b1be2c204d7745e809919bce074026 \n", | |
"1 1 0x06da0fd433c1a5d7a4faa01111c044910a184553 \n", | |
"2 2 0x58dc5a51fe44589beb22e8ce67720b5bc5378009 \n", | |
"3 3 0x95b54c8da12bb23f7a5f6e26c38d04acc6f81820 \n", | |
"4 4 0x611cde65dea90918c0078ac0400a72b0d25b9bb1 \n", | |
"\n", | |
" base_address base_symbol base_decimals \\\n", | |
"0 6B3595068778DD592e39A122f4f5a5cF09C90fE2 SUSHI 18 \n", | |
"1 C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 WETH 18 \n", | |
"2 C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 WETH 18 \n", | |
"3 Aba8cAc6866B83Ae4eec97DD07ED254282f6aD8A YAMv2 24 \n", | |
"4 408e41876cCCDC0F92210600ef50372656052a38 REN 18 \n", | |
"\n", | |
" quote_address quote_symbol quote_decimals \n", | |
"0 dAC17F958D2ee523a2206206994597C13D831ec7 USDT 6 \n", | |
"1 dAC17F958D2ee523a2206206994597C13D831ec7 USDT 6 \n", | |
"2 D533a949740bb3306d119CC777fa900bA034cd52 CRV 18 \n", | |
"3 C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 WETH 18 \n", | |
"4 C02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 WETH 18 " | |
] | |
}, | |
"execution_count": 14, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sushi_dump = pd.read_csv('../contracts/export/sushiswap.v2.20211105.csv')\n", | |
"sushi_dump['address'] = '0x'+sushi_dump['address'].str.lower()\n", | |
"sushi_dump.head()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "Ga8o5O6h0kdC", | |
"outputId": "8d51b7d3-4361-4f54-efb8-e6da45fa55b9" | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<style scoped>\n", | |
" .dataframe tbody tr th:only-of-type {\n", | |
" vertical-align: middle;\n", | |
" }\n", | |
"\n", | |
" .dataframe tbody tr th {\n", | |
" vertical-align: top;\n", | |
" }\n", | |
"\n", | |
" .dataframe thead th {\n", | |
" text-align: right;\n", | |
" }\n", | |
"</style>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>id</th>\n", | |
" <th>address</th>\n", | |
" <th>base_address</th>\n", | |
" <th>base_symbol</th>\n", | |
" <th>base_decimals</th>\n", | |
" <th>quote_address</th>\n", | |
" <th>quote_symbol</th>\n", | |
" <th>quote_decimals</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>61</td>\n", | |
" <td>0xceff51756c56ceffca006cd410b03ffc46dd3a58</td>\n", | |
" <td>0x2260fac5e5542a773aa44fbcfedf7c193bc2c599</td>\n", | |
" <td>WBTC</td>\n", | |
" <td>8</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>856</td>\n", | |
" <td>0x34d7d7aaf50ad4944b70b320acb24c95fa2def7c</td>\n", | |
" <td>0x383518188c0c6d7730d91b2c03a03c837814a899</td>\n", | |
" <td>OHM</td>\n", | |
" <td>9</td>\n", | |
" <td>0x6b175474e89094c44da98b954eedeac495271d0f</td>\n", | |
" <td>DAI</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>915</td>\n", | |
" <td>0x6a091a3406e0073c3cd6340122143009adac0eda</td>\n", | |
" <td>0x767fe9edc9e0df98e07454847909b5e959d7ca0e</td>\n", | |
" <td>ILV</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>17</td>\n", | |
" <td>0x397ff1542f962076d0bfe58ea045ffa2d347aca0</td>\n", | |
" <td>0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48</td>\n", | |
" <td>USDC</td>\n", | |
" <td>6</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>1746</td>\n", | |
" <td>0xe12af1218b4e9272e9628d7c7dc6354d137d024e</td>\n", | |
" <td>0x1a4b46696b2bb4794eb3d4c26f1c55f9170fa4c5</td>\n", | |
" <td>BIT</td>\n", | |
" <td>18</td>\n", | |
" <td>0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2</td>\n", | |
" <td>WETH</td>\n", | |
" <td>18</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" id address \\\n", | |
"0 61 0xceff51756c56ceffca006cd410b03ffc46dd3a58 \n", | |
"1 856 0x34d7d7aaf50ad4944b70b320acb24c95fa2def7c \n", | |
"2 915 0x6a091a3406e0073c3cd6340122143009adac0eda \n", | |
"3 17 0x397ff1542f962076d0bfe58ea045ffa2d347aca0 \n", | |
"4 1746 0xe12af1218b4e9272e9628d7c7dc6354d137d024e \n", | |
"\n", | |
" base_address base_symbol base_decimals \\\n", | |
"0 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599 WBTC 8 \n", | |
"1 0x383518188c0c6d7730d91b2c03a03c837814a899 OHM 9 \n", | |
"2 0x767fe9edc9e0df98e07454847909b5e959d7ca0e ILV 18 \n", | |
"3 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 USDC 6 \n", | |
"4 0x1a4b46696b2bb4794eb3d4c26f1c55f9170fa4c5 BIT 18 \n", | |
"\n", | |
" quote_address quote_symbol quote_decimals \n", | |
"0 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH 18 \n", | |
"1 0x6b175474e89094c44da98b954eedeac495271d0f DAI 18 \n", | |
"2 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH 18 \n", | |
"3 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH 18 \n", | |
"4 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 WETH 18 " | |
] | |
}, | |
"execution_count": 43, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sushi_dump_merge = sushi_pairs_merged.merge(sushi_dump,on='address').drop(columns=['base_symbol_y', 'base_address_y', 'base_decimals_y','quote_symbol_y', 'quote_address_y','quote_decimals_y'])\n", | |
"sushi_dump_merge = sushi_dump_merge.rename({'base_address_x': 'base_address','base_symbol_x': 'base_symbol','base_decimals_x': 'base_decimals', 'quote_address_x': 'quote_address','quote_symbol_x': 'quote_symbol','quote_decimals_x': 'quote_decimals' }, axis=1)\n", | |
"sushi_dump_merge = sushi_dump_merge[['id','address','base_address','base_symbol','base_decimals','quote_address','quote_symbol','quote_decimals']]\n", | |
"sushi_dump_merge.to_csv('sushi_pairs.csv',index=False)\n", | |
"sushi_dump_merge.head()\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "DWgqGZ6E0kdC" | |
}, | |
"outputs": [], | |
"source": [ | |
"import csv\n", | |
"sushi_dump_merge['address'] = sushi_dump_merge['address'].str.slice(start=2)\n", | |
"sushi_dump_merge['base_address'] = sushi_dump_merge['base_address'].str.slice(start=2)\n", | |
"sushi_dump_merge['quote_address'] = sushi_dump_merge['quote_address'].str.slice(start=2)\n", | |
"sushi_dump_merge['base_decimals'] = sushi_dump_merge['base_decimals'].astype('int32')\n", | |
"sushi_dump_merge['quote_decimals'] = sushi_dump_merge['quote_decimals'].astype('int32')\n", | |
"sushi_dump_merge.to_csv('sushi_pairs_sql.txt',index=False, header=False,quotechar=\"'\",quoting=csv.QUOTE_NONNUMERIC, line_terminator=',true,default),\\n (')\n", | |
"\n", | |
"\n", | |
"uni_dump_merge['address'] = uni_dump_merge['address'].str.slice(start=2)\n", | |
"uni_dump_merge['base_address'] = uni_dump_merge['base_address'].str.slice(start=2)\n", | |
"uni_dump_merge['quote_address'] = uni_dump_merge['quote_address'].str.slice(start=2)\n", | |
"uni_dump_merge['base_decimals'] = uni_dump_merge['base_decimals'].astype('int32')\n", | |
"uni_dump_merge['quote_decimals'] = uni_dump_merge['quote_decimals'].astype('int32')\n", | |
"uni_dump_merge.to_csv('uni_pairs_sql.txt',index=False, header=False,quotechar=\"'\",quoting=csv.QUOTE_NONNUMERIC, line_terminator=',true,default),\\n (')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "Ufc0ERca0kdC" | |
}, | |
"outputs": [], | |
"source": [ | |
"" | |
] | |
} | |
], | |
"metadata": { | |
"interpreter": { | |
"hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1" | |
}, | |
"kernelspec": { | |
"display_name": "Python 3.8.10 64-bit", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.8.10" | |
}, | |
"orig_nbformat": 4, | |
"colab": { | |
"name": "SushiSwap_LiquidityPairs.ipynb", | |
"provenance": [], | |
"include_colab_link": true | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
@sambacha hi, I am trying to understand why these tokens listed as top in volume on Uniswap are labeled unsupported on Uniswap?
welp: https://v2.info.uniswap.org/pair/0xe5ffe183ae47f1a0e4194618d34c5b05b98953a8 SCAMMY: https://v2.info.uniswap.org/pair/0x23fe4ee3bd9bfd1152993a7954298bb4d426698f
For the scammy see this reference https://github.com/manifoldfinance/defi-threat/blob/master/src/README.md#example-fake-wash-trading-on-uniswap
for welp i would have to look at my notes, i am on my phone right now
hope this helps, cheers!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@sambacha hi, I am trying to understand why these tokens listed as top in volume on Uniswap are labeled unsupported on Uniswap?
welp: https://v2.info.uniswap.org/pair/0xe5ffe183ae47f1a0e4194618d34c5b05b98953a8
SCAMMY: https://v2.info.uniswap.org/pair/0x23fe4ee3bd9bfd1152993a7954298bb4d426698f